Before Free Users Quietly Eat Your Margin: Tier Design and Cost Ceilings for Gemini API Apps
Protecting the margin on a Gemini-powered app means designing around a per-user monthly cost ceiling, not request counts. Tier-aware model routing, real-cost metering in KV, and the token-bloat traps that drain profit, with working code.
Compressing Gemini API Chat History with Rolling Summaries — Designing Chatbots That Survive Hundreds of Turns
When a Gemini chatbot grows long enough, your bills balloon and one day a request hits the token ceiling. The rolling-summary pattern keeps long chats stable.
Should You Move Your Agent Loop to Gemini's Managed Agents? Three Questions That Decide What Migrates
With Gemini API's Managed Agents in public preview, deciding between a self-hosted agent loop and a Google-hosted sandbox is now a real question. Three questions — execution environment, state ownership, and failure recovery — decide what migrates and what stays.
Gemini API Implicit Caching Not Working — Troubleshooting Guide by Root Cause
Troubleshoot Gemini API implicit caching issues: cache not hitting, unexpectedly high costs, or low cache hit rates. Covers token thresholds, prompt structure, model version consistency, TTL expiry, and multimodal caching with code examples.
Classifying 8,000 App Reviews Overnight with Gemini Batch API — and Moving Polling to Webhooks
Implementation notes on clearing ~8,000 backlogged app reviews from six iOS/Android apps with the Gemini Batch API in a single night — now extended with the June 2026 event-driven Webhooks that replace the morning polling step. Real cost and runtime numbers, composite-key design, hung-job triage, and deprecation discipline, with working code.
Track Gemini API Costs in Production with usageMetadata — A Per-Request Logging Pattern That Reconciles With Your Bill
A production pattern for capturing Gemini API's usageMetadata per request to attribute spend by endpoint, user, and model — hardened for the 3.5 Flash GA era where the default model can shift under you. Covers pricing keyed on resp.model_version and a nightly audit that flags model drift and unknown models before the invoice does.
Building a Type-Safe AI Backend with Gemini API, tRPC v11, and Prisma — Real-Time Streaming, Auth Middleware, and Production Deployment
Learn how to integrate Gemini API streaming into tRPC v11 subscriptions, persist conversations type-safely with Prisma, and handle auth middleware, rate limiting, and common production pitfalls — all with working code examples.
When Your pgvector Search Quietly Gets Worse — Field Notes on Protecting Recall with Gemini Embeddings
A semantic search built on Gemini Embeddings and PostgreSQL pgvector tends to lose precision over months without throwing a single error. These are field notes on the real causes — model pinning, operator/index mismatch, HNSW reindexing, and recall collapse under filters — with working code.
Your Managed Agents Bill Has a Second Axis: Drawing a Budget Boundary Around Sandbox Runtime
Managed Agents in public preview bills for tokens and for how long its Google-hosted sandbox stays alive. A single hung run quietly drains your budget on that second axis. Here is a working Python design for wall-clock caps, idle teardown, and a concurrency ceiling.
Building location-aware AI with Gemini's Google Maps grounding: pricing and the source-display rules tutorials skip
How to ship a 'recommend something nearby' feature with Gemini API's Google Maps grounding, with the $25/1K cost design and the source-display obligations laid out for indie developers.
Switching Types Per Input Kind in Gemini Structured Output — Notes on anyOf Discriminated Unions
Classifying mixed input kinds through one endpoint leaves a flat schema full of nulls. Here is how I switch types per kind with an anyOf discriminated union and parse it safely with Pydantic and Zod.
Moving My Automation Off the Gemini CLI Before the June 18 Shutdown
On June 18, the Gemini CLI stops responding for hosted plans. Here is how I moved unattended scripts that called gemini from the shell over to the google-genai SDK, with structured output, retries, and cost measurement built in.