Inspiration

Lectures, talks, and events can be difficult to follow because of distance, background noise, hearing loss, auditory processing differences, or language barriers. We wanted to make the best seat in the room available to everyone.

What it does

Front Row turns one speaker’s phone into a live caption source for the entire room. The speaker starts a session and shares a QR code. Audience members scan it with their phone camera and read captions instantly in their browser, with no app or account required.

How we built it

We built Front Row as a mobile-first TypeScript web app deployed on Vercel. The speaker’s browser captures microphone audio and streams it to ElevenLabs Scribe for realtime transcription. Final captions are stored in Supabase and delivered to audience phones through private Supabase Realtime channels. Gemini generates optional “catch me up” summaries from recent finalized captions.

Challenges we ran into

The biggest challenge was making microphone streaming reliable across iPhone Safari and Android Chrome. We also had to handle interim captions, finalized captions, reconnects, room expiration, QR joining, secure provider tokens, and keeping API keys out of the browser.

Accomplishments that we're proud of

We created a working room experience without requiring accounts or app installation. Multiple audience phones can join the same session, captions are readable and adjustable, room codes expire safely, and the system preserves privacy by never storing raw audio.

What we learned

We learned that a simple user experience depends on careful realtime systems design. Caption ordering, retries, browser permissions, mobile screen behavior, and accessibility all matter as much as the transcription model itself.

What's next for Front Row

Next, we want to add live translation of multiple languages, better reconnect handling, speaker vocabulary support, transcript downloads, and richer Gemini-powered catch-up summaries. We also want to test Front Row in real classrooms, student organizations, community events, and public talks.

Share this project:

Updates

Submission history