GEMINI LABJP
ROBOTICS — The ER 1.6 preview that shut down on August 31 does have a successor. Gemini Robotics ER 2 is in public preview, in both standard and streaming variantsVIDEO — ER 2 judges success and failure from live video rather than still snapshots, which is what lets it catch spills, slips, and misalignments while a task is still runningDEADLINE — Next up is September 30, when gemini-omni-flash-preview is retired. The target is gemini-omni-1.1-flash, GA since August 27, and there are now under four weeks leftAPIKEY — Every remaining standard API key, restricted ones included, stops working during September. The replacement is an auth key bound to a Google Cloud service accountPRICE — Gemini 3.7 Flash keeps its introductory $0.75/$3.75 per 1M through December 31, then moves to $1.50/$7.50 on January 1, 2027. Any estimate crossing the year needs both figuresAUDIO — Gemini 3.5 Transcribe handles language detection across 85+ languages, speaker diarization, word-level timestamps, and custom vocabulary biasing of up to 1,000 termsROBOTICS — The ER 1.6 preview that shut down on August 31 does have a successor. Gemini Robotics ER 2 is in public preview, in both standard and streaming variantsVIDEO — ER 2 judges success and failure from live video rather than still snapshots, which is what lets it catch spills, slips, and misalignments while a task is still runningDEADLINE — Next up is September 30, when gemini-omni-flash-preview is retired. The target is gemini-omni-1.1-flash, GA since August 27, and there are now under four weeks leftAPIKEY — Every remaining standard API key, restricted ones included, stops working during September. The replacement is an auth key bound to a Google Cloud service accountPRICE — Gemini 3.7 Flash keeps its introductory $0.75/$3.75 per 1M through December 31, then moves to $1.50/$7.50 on January 1, 2027. Any estimate crossing the year needs both figuresAUDIO — Gemini 3.5 Transcribe handles language detection across 85+ languages, speaker diarization, word-level timestamps, and custom vocabulary biasing of up to 1,000 terms
Articles/API / SDK
API / SDK/2026-05-22Advanced

Generating Multilingual Onboarding Copy with Gemini 2.5 Flash and Rolling It Out via Firebase Remote Config: An Indie Developer's Notes

An indie developer's implementation notes on generating multilingual onboarding copy for six wallpaper apps with Gemini 2.5 Flash and validating it through Firebase Remote Config gradual rollout, including Apps Script code, D1 retention measurement, and AdMob eCPM separation.

gemini-api283firebase-remote-configindie-dev47onboardingab-testingapps-script10retention

Premium Article

Firebase Remote Config rolls out a new value, and D1 retention shifts by 0.8 points. Do you dismiss that as noise, or do you treat it as a real signal from the new copy? When you're an indie developer running six wallpaper apps in parallel, whether you have the measurement plumbing to answer that question changes the precision of every subsequent decision.

Recently, working solo, I built a pipeline that generates onboarding copy for six apps with Gemini 2.5 Flash and ships it through Firebase Remote Config with a gradual rollout. What used to take several days of back-and-forth with a translation service now runs in tens of seconds from an Apps Script trigger.

This article is a write-up of the actual Apps Script code I run in production, the Analytics event design I use to measure D1 retention per variant, and the numbers I've started seeing across six apps. Everything was verified in May 2026 against Gemini 2.5 Flash and the Firebase Remote Config REST API v1.

Why move onboarding copy into Remote Config at all

If you hard-code onboarding copy into your app resources (strings.xml on Android, Localizable.strings on iOS), every word change ships as a new binary that has to go through store review. That's one to three days of latency, and once a version is out you can't easily roll back if a new phrasing turns out worse. I couldn't tolerate that lag, so the copy for the first three onboarding screens now lives entirely in Remote Config.

When deciding what goes into Remote Config, I use three criteria.

  1. Does the copy need to be swappable without store review?
  2. Does it need multilingual variants? (For me that's English, Japanese, Simplified Chinese, Spanish, Portuguese, German, French — seven languages.)
  3. Do I want to A/B test variations of it?

Anything that touches legal language — terms of service, privacy policy excerpts, push notification permission explanations — stays in the resource files. Remote Config-driven copy gets regenerated regularly, and the nuance shifts slightly each time. Putting legally reviewed copy on that path is asking for trouble. Drawing that line clearly up front made everything downstream easier to operate.

Why I picked Gemini 2.5 Flash

I compared Gemini 2.5 Flash, Gemini 2.5 Pro, and Gemini 3 Pro before settling on Flash. My reasoning came down to three points.

  • Cost. Generating 7 languages × 3 screens × 6 apps = 126 strings weekly costs roughly ¥2,000–¥3,000 per month on Pro tier. On Flash, the same workload comes in under ¥300 per month. Across a year of operation that's a massive difference.
  • Latency. Average generation time per string is around 800ms on Flash, versus 2.5–4 seconds on Pro. Apps Script has a six-minute execution limit. Pushing 126 strings through Pro in one run was a non-starter.
  • Tone consistency. For copy that needs a soft, gentle voice matching the wallpaper apps' aesthetic, Flash produced more uniform output. Pro's longer reasoning chain occasionally produced copy that felt overly explanatory.

I wrote in an earlier article about using Pro for crash analysis and Flash for copy generation — the same split applies here. Onboarding copy benefits from brevity and consistency, not deep reasoning.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
Get production-ready Apps Script code that calls Gemini 2.5 Flash and writes multilingual values into Firebase Remote Config — drop it into your own project
Learn the exact Analytics event design for measuring D1 and D7 retention across rollout variants, and how to isolate AdMob eCPM effects per traffic source
See the four real pitfalls I hit while running this pipeline across six apps in parallel, and the workarounds I settled on
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Gemini Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $15 for lifetime access
View Membership →

Related Articles

API / SDK2026-08-23
Moving app AI work from runtime calls to a pre-ship batch pass
Where you put a Gemini call decides whether your request count scales with users or with assets. Here is the decision rule I used to move classification into a pre-ship batch pass, plus a resumable implementation.
API / SDK2026-08-22
Once You Pass Twenty Mediation Groups, How Do You Find the Setting That Went Missing?
As ad mediation groups multiply, missing sources and type drift accumulate quietly. Here is the split I settled on: normalize the settings into one matrix, let code confirm the gaps, and send Gemini only the cells that need judgment.
API / SDK2026-07-14
Before One Runaway Experiment Drains the Shared Budget: Using AI Studio Spend Caps as Isolation Walls
When you run several Gemini experiments under one billing account, a single runaway loop takes everything else down with it. Here is how I use AI Studio's per-project spend caps as isolation walls, plus a client-side soft ceiling and monthly reconciliation, with working code.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →