I put my phone next to a TV playing a Kenyan news broadcast in Swahili, low volume. My translator picked up the sound and started speaking the English translation back to me as the newscaster kept talking. No 5-second wait. No 15-second wait. The words just kept coming.

It’s a Progressive Web App: open the link on a phone, add it to the home screen, and it behaves like a native app, no App Store or Play Store involved.

What it does:

  • Listens to speech, either a person talking or whatever sound the phone’s own speaker is already playing, and streams a live translation in text and voice
  • Detects the spoken language automatically, or you can set it manually
  • Switches between two modes: catching sound the phone is already playing (a YouTube video, a news broadcast) or a face-to-face conversation with a translated voice talking back
  • Keeps a small glossary so it stops mistranslating the same name or term every single time
  • Saves each session so I can look back at what was actually said

It runs on Gemini Live Translate, the streaming translation model Google is rolling out worldwide this year. I did not build the translation AI. Google did. What I built is the app around it: a version I could open on my own phone, in my own house, with my own API key.

Where This Started

The whole project opened with one question to my AI coding assistant, the morning I noticed Google had just announced this technology:

💬 Prompt that worked “About this app’s core translation feature — Google Gemini Live Translate was just released, and AI Studio’s ‘Get Code’ gives me the script below. Can this technology be applied here?”

I pasted in the starter script Google’s AI Studio hands you when you click “Get Code” on the Live Translate demo. That one question is where the rest of this series actually begins. More on exactly how it turned into a deployed app in a later post.

This isn’t TransLee’s first version, either. A Flutter app under the same name has been sitting in Google Play’s internal testing queue for months, real users, real translation, just slow: 5 to 15 seconds of delay per sentence, because the old pipeline had to record, wait, transcribe, translate, and speak, in that order, then stitch each chunk onto the last one so the meaning didn’t break at the seams.

This new version throws that pipeline away. The next post in this series is the direct comparison: what actually changes when a translator stops working in chunks and starts working in a stream.

From that first question about Gemini Live Translate to the last polish request of that stretch, making the on-screen text bigger and easier to read, was 24 hours and 41 minutes. Not because I’m fast. Because almost none of what used to take time was actually code: no Play Store review queue, no payment system to wire up, no waiting on a feature flag. Just a browser, a WebSocket, and one question in the morning.

I haven’t tracked real API costs for this app yet. It’s still early days of daily use. I’ll share honest numbers once I have a few weeks of actual usage behind me instead of guessing.