SwiftData × Gemini API Offline Response Cache — Persisting and Reusing AI Responses on iOS
Design a SwiftData-backed cache layer for Gemini API responses so your iOS app keeps working in airplane mode and on flaky networks. Covers @Model schema, invalidation strategy, store-size discipline, and migration — all from production iOS experience.
Taming Gemini API Tail Latency with Request Hedging: A p99 Design Notebook
A four-month operational journal of taming Gemini API tail latency with hedged requests across a production indie app portfolio. Includes measured p50/p95/p99 numbers, a working Swift and TypeScript implementation, and the cost-control parameters that kept monthly billing growth under 18%.
Why Your Gemini File API Uploads Vanish After 48 Hours — and How to Code Around It
Gemini File API resources are auto-deleted 48 hours after upload. Here is how to recognize the failure, why it happens, and concrete patterns for re-uploading, falling back to inline data, and managing expiration safely.
Why Gemini API Returns MALFORMED_FUNCTION_CALL — Causes and Fixes
Hit by finishReason: MALFORMED_FUNCTION_CALL in production? Three root causes, how to diagnose each, and the workarounds that actually worked in our indie iOS/Android pipeline.
A Gemini API Control Plane for Indie Developers Running an App Portfolio
When you run several apps (wallpaper, healing, manifestation) on Gemini API, keys scatter and per-app cost attribution disappears. This is the three-layer control-plane architecture I have used for twelve months, with the traps that only show up over time.
Designing a Continuous Quality Monitoring Pipeline for the Gemini API
A practical, indie-developer-friendly design for a Gemini API evaluation pipeline that catches silent quality regressions using a Golden Dataset and a multi-aspect LLM-as-Judge, with full code and real cost numbers.
Designing an Image Pipeline with Gemini Files API and Cloudflare R2 — Notes from Running a Wallpaper App
Notes from rebuilding the image processing pipeline of a wallpaper app around Gemini Files API and Cloudflare R2. Covers the 48-hour TTL, idempotent retries, and cost monitoring, with implementation code and 30 days of numbers.
Why a Fixed seed in the Gemini API Still Drifts, and How I Handle It
Even when you pin generationConfig.seed in the Gemini API, the same prompt can return slightly different outputs. Here is what causes the drift and the layered approach I rely on as an indie developer running a wallpaper-classification pipeline.
Wiring Circuit Breakers and Graceful Degradation into Gemini API — an Indie App's Stability-First Notes
When you run Gemini API in production for an indie app, something upstream breaks at least a few times a month. Here are the building blocks for circuit breakers and graceful degradation I settled on, with the implementation traps I actually hit.
Why Your Apps Script Stops Mid-Batch When Calling the Gemini API — UrlFetchApp Timeouts and the 6-Minute Execution Limit
When Apps Script calls the Gemini API, two limits collide: UrlFetchApp's response timeout and the 6-minute script runtime cap. Here is how to tell them apart and how I work around them with chunking, checkpoints, and time-based triggers.
Auto-Generating App Metadata in 30 Languages with Gemini API — Lessons from Beautiful HD Wallpapers
How I used Gemini API to auto-generate App Store and Google Play metadata in 30 languages for a 50M+ download wallpaper app. Covers prompt design, character limit handling, and real results from 3 months of production use.
Debugging Gemini API Calls from Next.js App Router Server Actions
Practical solutions for the most common errors when calling Gemini API from Next.js App Router Server Actions: undefined env vars, broken streaming, and deploy-only failures.