◉GEMINI LABJP
●ARGON — gemini-4-argon is generally available as of 10/13, aimed at complex coding, agents, math and science●DEEP RES — deep-research-pro-preview-12-2025 shuts down 10/23, 5 days left. Move to deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 is GA (10/06). gemini-3.1-flash-image is deprecated with no shutdown date yet●MCP — One write-up cut an 85,000-token tool result to 310 tokens by wrapping it in an ADK FunctionTool●FLASH — gemini-3.7-flash and 3.5-flash now route automatically to newer Flash models (10/08)●NEW — Stop Re-Reading Every Crash Report: Gre…●ARGON — gemini-4-argon is generally available as of 10/13, aimed at complex coding, agents, math and science●DEEP RES — deep-research-pro-preview-12-2025 shuts down 10/23, 5 days left. Move to deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 is GA (10/06). gemini-3.1-flash-image is deprecated with no shutdown date yet●MCP — One write-up cut an 85,000-token tool result to 310 tokens by wrapping it in an ADK FunctionTool●FLASH — gemini-3.7-flash and 3.5-flash now route automatically to newer Flash models (10/08)●NEW — Stop Re-Reading Every Crash Report: Gre…
ARTICLES

All Articles

All (843)◉ Gemini Basics (68)⟐ Dev Tools (129)◈ API & SDK (444)⬡ Advanced (126)◧ Workspace (49)◎ Updates (27)
◧ Workspace/2026-07-13Advanced

Retiring the Poll That Waits on an Overnight Batch — An Apps Script doPost Sink for Gemini Signals

Polling a Gemini batch or long-running operation every five minutes from an Apps Script time trigger quietly stacks up UrlFetch calls and latency. Receive the webhook in doPost, treat it as an unverified signal, then confirm authoritatively and apply idempotently.

◈ API & SDK/2026-07-13Advanced

When responseSchema Can't Do $ref: Handling Recursive Schemas in Production with responseJsonSchema

Gemini's responseSchema is an OpenAPI subset with no $ref or $defs, so it can't express shared definitions or recursion. Here's how I moved to responseJsonSchema to reuse localized fields and handle a recursive category tree in production.

◧ Workspace/2026-07-12Advanced

What I Decided Before Letting an Agent Touch My Files: Folder Boundaries and Guardrails for Gemini Spark

A practical guardrail design for handing local folder cleanup to an autonomous agent: a content-hash manifest, an allowlist policy, and a post-run diff audit that catches irreversible operations before they slip past you.

◈ API & SDK/2026-07-12Advanced

When a Whole Chapter Vanished From My Long-PDF Summary — Field Notes on Auditing Coverage

Chapter-wise summarize-then-merge works well on long PDFs, but a lost extraction or a merge step can drop an entire chapter while the pipeline finishes without a single error. This walks through catching those silent drops with one number—coverage—and re-running only the chapters that fell out.

⬡ Advanced/2026-07-12Advanced

Spend Deep Reasoning Only Where It's Needed: Per-Request thinking_level Routing in Gemini

Running every request at high thinking_level bloats latency and cost; forcing low drops accuracy on hard questions. This walks through a router that picks Gemini 3.x thinking_level per request from an inexpensive difficulty estimate, keeping p95 latency inside a mobile budget while reserving deep reasoning for the questions that need it — with measured numbers and working code.

⬡ Advanced/2026-07-12Advanced

A minimal evolutionary search loop with Gemini: propose, evaluate, select — prompted by AlphaEvolve's GA

With AlphaEvolve reaching GA, I built the smallest possible evolutionary search loop on the Gemini API: generate candidates, score them with a fitness function, and select the best. Sandboxed evaluation, diversity, and budget control — from real solo-dev use.

◧ Workspace/2026-07-12Intermediate

Fill with Gemini Now Speaks 28 Languages — Localize Your App Store Copy in One Sheet

Fill with Gemini in Google Sheets expanded to 28 languages. Here is a practical workflow for localizing app store metadata as a solo developer, plus the review habits that keep machine translation from going live unchecked.

◈ API & SDK/2026-07-11Advanced

Stop Your Captions From Dancing: Splitting Live Translate Into Committed and Volatile Text

Pasting Gemini 3.5 Live Translate interim results straight to the screen makes captions flicker until they are unreadable. Here is a stabilizer that separates a committed prefix from a volatile tail and never rewinds, with working code and measured numbers.

⟐ Dev Tools/2026-07-11Advanced

Never Generate the Same Narration Twice: Cache-Key Design and Invalidation for Gemini TTS Output

For apps that replay the same audio over and over—meditation, language learning, storytelling—caching the Gemini TTS output itself drives the variable cost to near zero. This is a working design: how to build a cache key that text alone can't cover, a two-tier server-plus-device cache, and an invalidation policy that survives model shutdowns like the August 17 image-model deprecation.

⬡ Advanced/2026-07-11Advanced

A Risk-Tiered Approval Gate for Gemini Function Calling

Handing full autonomy to an agent is unnerving. This walks through a Gemini function-calling loop that routes tool calls into auto-run and hold-for-approval by risk tier, then feeds the result back to the model after a human signs off.

◈ API & SDK/2026-07-11Intermediate

When Gemini's Context Cache Quietly Expires Mid-Run: A TTL Guard for Pipelines That Pause

When a nightly batch or a retry backoff pauses your pipeline, Gemini's explicit context cache can expire on the wall clock while nothing errors out, sending later calls back to full-token billing. Here is a small lease guard that decides whether to re-arm or run uncached based on cost.

⬡ Advanced/2026-07-10Advanced

The Day We Went From 30 Categories to 34 — Reclassifying 1,180 Assets Instead of 8,142

Adding categories to a taxonomy does not require reclassifying everything. Here is how embeddings and confidence margins narrowed a backfill from 8,142 assets to 1,180, with the numbers.