All Articles
Replaying Gemini API Calls Locally with msw and HTTP Fixtures — How I Cut API Quota Across Six Sites with a Record/Replay Pattern
When you hit the real Gemini API every time you tweak a piece of UI, you end up paying for hundreds of duplicate calls a day. After moving six of my sites to an msw-based record/replay pattern, monthly Gemini billing went unexpectedly quiet. Here's the implementation and operating policy.
Why per-turn generationConfig is ignored in Gemini API chat sessions
If you pass a different generationConfig (temperature, max_output_tokens, response_schema) to each send_message in a google-genai chat session and the behavior never changes, this walkthrough shows what is actually happening, why the SDK is designed that way, and three workarounds we use in production for review-summary and reply-draft pipelines.
Three Weeks of Running Gemini 3 Pro and 2.5 Pro Side by Side on Wallpaper Category Classification — An Implementation Memo
Notes from running Gemini 3 Pro and 2.5 Pro in parallel for three weeks on the image classification pipeline of my iOS and Android wallpaper apps — cost, accuracy, and latency observations from an indie developer.
Running an SLO and Error Budget for the Gemini API as an Indie Developer — Guarding Four Sites with Burn-Rate Monitoring
Notes from running the Gemini API inside four production sites as an indie developer. A practical SLO and Error Budget design that fits a single-person operation: Cloudflare Workers and KV for burn-rate calculation, simplified multi-window alerts, and decision rules for what to freeze when the budget runs out.
A Daily Slack Digest of Six Apps' Store Reviews, Built with Gemini Flash
How I built a Cloud Run + Gemini Flash ETL that translates, classifies, and prioritizes 30–80 daily store reviews across six apps and posts them to Slack — cutting my review triage from 60 minutes to 12, for about $4 a month.
Fixing NotebookLM Audio Overview When It Generates in the Wrong Language or Stalls Mid-Way
Five concrete causes and fixes for when NotebookLM's Audio Overview ignores your source language, freezes on the progress bar, or cuts off mid-playback — written from hands-on use during app review analysis.
Replying to 11 Languages of Google Play Reviews With Gemini Without Sounding Like a Bot
After two major Android updates, I had to clear a backlog of unanswered Google Play reviews in Japanese, English, Traditional Chinese, Korean, Thai, Italian, Russian, Persian, Ukrainian, and Polish. This is the operations design I settled on for using Gemini as a translation and vocabulary partner without losing the human temperature.
Letting Gemini Flash Decide continue / pause / rollback for Staged Rollouts: An Indie Developer's Three-Signal Engine
How I built a Gemini Flash decision engine that reads Firebase Crashlytics, App Store / Google Play reviews, and AdMob revenue together, and outputs continue / pause / rollback for each staged rollout across six indie apps. Numbers from two months of production use included.
Two Months of Letting Gemini Audit My Internal Links
An implementation note from running internal link integrity checks on my four Lab sites with Gemini 2.5 Flash for two months. What grep missed, how Flash compared to Pro on this task, and the surprises along the way.
Why Gemini API Streaming Drops on iOS After Backgrounding — and How to Fix It
When your iOS app receives a streaming response from Gemini API and the user briefly switches to another app, the stream often goes silent forever. Here's how URLSession actually treats long-lived HTTP, and the smallest change that brings reliability back.
Running Gemini 3 Pro and Flash in Parallel on AdMob Monthly Reports — Notes from Ten Mornings
Implementation notes from sending the same AdMob monthly report to Gemini 3 Pro and Gemini 3 Flash in parallel for ten days. Cost, latency, and summary quality compared from an indie developer's perspective.
Coalescing Gemini API Requests with SSE Fan-out: Collapsing 100 Simultaneous Hits into a Single Call
How I rebuilt the post-push-notification thundering herd on a 50M-download wallpaper app into a Cloudflare Durable Objects coalescer with SSE fan-out, cutting Gemini API costs by 92% with 14 days of production telemetry.