Realtime translation

TranslationRealtime AudioVoiceCommunity

Yap United

A real-time translation app built for shared-device conversations, with Gemini Live audio streaming, ElevenLabs voices, and location-based community chat.

Realtime voice translation

Yap United

Shared-device conversations, live mode, and multilingual voice output that holds up in motion.

Gemini Live API15 languagesElevenLabs TTSFirebase chat
Mode
Live + turns
Languages
15 total
Audio
L/R routing

What shipped

  • Built both turn-based translation and hands-free live mode for real conversations on a shared device.
  • Supported 15 languages end-to-end across transcription, translation, and voice output.
  • Added per-user voice assignment, location-based community chat, and social moderation controls around the core translation flow.
Timeline
Realtime audio pipeline
Team
Two-speaker shared-device UX
Platform
Mobile · Live audio
Impact
15 languages · L/R routing

Core stack

React NativeExpo RouterGemini Live APIGemini 2.5 FlashElevenLabsFirebaseexpo-audio
Problem

Translation apps often break the rhythm of an actual conversation. Yap United needed to handle live voice, turn-taking, and multilingual community behavior without making people fight the interface.

Approach

I built a dual-mode speech system: a turn-based flow for shared-device conversations and a Gemini Live pipeline for hands-free mode. Audio is recorded with Expo, translated with Gemini, voiced with ElevenLabs, and routed to the correct earbud side with reconnect and backoff handling when the live session drops.

Outcome

Yap United supports 15 languages end-to-end, lets each user keep a distinct voice identity, and extends beyond translation with community zones, moderation controls, and non-Latin script handling that keeps the conversation usable under real conditions.

Need this level of product depth for your own build?

The same mix of product direction, interface work, and backend systems can be applied to your next app.