I Put =GEMINI() in 420 Cells. The Calls Kept Coming on Days I Never Opened the Sheet
A custom function calling Gemini from Sheets looks best the moment it starts working, and it does not grow from there. Here is what the 30-second ceiling, uncontrolled recalculation, and read-only cells actually cost, measured, plus the code to move to a write-back design.
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.
Propagating a Time Budget Through a Multi-Stage Gemini Pipeline
A field memo on killing DEADLINE_EXCEEDED errors in an in-app help search by carrying a single request-wide deadline through the embed, search, and generate stages — sizing maxOutputTokens from the remaining budget and reserving a fallback budget so a breach returns a partial answer instead of an error.
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.
Evolving Gemini API Structured Output Schemas in Production — Design Notes from an Indie App
How I rebuilt the JSON contract layer for a Gemini-powered recommendation feature in a long-running indie app — Dual-Emit, Sunset protocol, and a Python compatibility checker.