← All projects
Speech translationIn personal use · 2026

Speak to Speak.

Speak your language. The other person hears it in theirs.

Watch a conversation from Finnish to Ukrainian

In this 41-second video, a clerk and a customer book a doctor’s appointment without a shared language. The video was recorded in the app’s demo mode, where the conversation is scripted. The video has no sound.

A need on the work site

I built the first version in spring 2026 for my own needs. Shipbuilding brings together a multinational workforce, and there is not always a shared language. Many do not even speak English. Ordinary translation apps did not work in everyday shipyard work.

In use

Using the app, I gave a Romanian worker training on how to use a piece of equipment, in Romanian. The app is on my own phone. The need usually comes up unexpectedly, and then the translator is right at hand.

How to use it

The phone goes on the table. Each person picks their language and speaks normally. The app translates the speech aloud into the other language and shows it as text. Over 70 languages are supported. In noisy places the app only listens while the button is held down.

How it works

Translation is done by Google’s Gemini 3.5 Live Translate, a model built for speech translation only. The app opens two translation connections in parallel, one for each direction. While a translation plays from the speaker, the microphone is muted for the connection that would translate it back. Gemini 3.8 Live is available as a fallback.

The new version

The first version was made in Google AI Studio. In autumn 2026 I rebuilt it with Claude Code: the meeting mode was dropped, translation moved to the new model, the design follows Kuusi Design’s look and the API key moved to the server.

My role

I defined the use case, chose the translation model and made the decisions on the interface, language selection and security. Claude Code wrote the code to my instructions, and I tested the app in real situations.

Limits

The video on this page was recorded in demo mode, not from a real translation. The translation model is still a Google preview. The app does not replace official interpreting where a misunderstanding could have serious consequences. If you need something similar for your workplace, get in touch.

Tools

  • Claude Code (Claude Opus 5.5)
  • Gemini 3.5 Live Translate
  • Gemini 3.8 Live
  • React
  • TypeScript
  • Node.js
  • Web Audio API
Speak to Speak start screen: Finnish and Ukrainian selected, listening mode choice and the orange start button
Start: each person picks their own language. Listening is continuous or hold-to-talk.
Language picker showing languages in their own names, such as Українська, Русский and Eesti, with Finnish names below
Languages appear in their own names so the other person recognises theirs. The most common languages come first.
Finished conversation: each message shows the translation in large text and the original speech in small text
The conversation stays on screen. Translation in large text, original speech below.

More projects.

All projects ↗