Inspiration

Nerdearla nos planteó un problema muy concreto: con +30 charlas en inglés corriendo en simultáneo, el esquema actual de traducción (herramientas comerciales + operadores humanos) no escala. Quisimos resolver eso con algo open source, liviano y fácil de desplegar el mismo día de un evento — sin depender de licencias ni de gente contratada.

What it does

Puente transcribe y traduce charlas en tiempo real, de inglés a español (y viceversa), mostrando los subtítulos en una interfaz web accesible desde cualquier dispositivo — el celular de un asistente, una tablet, o la pantalla principal del auditorio. Cada charla es una "sesión" independiente con su propio QR: el espectador escanea, sintoniza el idioma que necesita, y ve los subtítulos apareciendo en streaming, con transcripción original y traducción lado a lado. Puente corrió con 2+ sesiones simultáneas activas, cada una con su propia conexión independiente a Gemini Live.

How we built it

  • Backend: Node.js + Express + ws, orquestando una conexión WebSocket independiente por sesión (session_id), multiplexando el streaming de audio hacia Gemini Live API.
  • IA: Gemini Live API (SDK @google/genai) para transcripción + traducción en streaming bidireccional de audio.
  • Frontend: Vite + React, con WebSocket nativo para recibir los subtítulos en tiempo real. Layout responsive: dos columnas (original/traducido) en desktop, una sola columna en mobile.
  • Identidad visual: paleta propia (Bridge Blue para todo lo relacionado a idiomas, Signal Coral para "en vivo"), tipografía Plus Jakarta Sans, íconos SVG hechos a medida.
  • Audio de prueba: charlas de ediciones anteriores de Nerdearla, descargadas con yt-dlp y convertidas con ffmpeg.

Challenges we ran into

El mayor desafío fue el manejo de reconexión y errores de WebSocket: mantener sesiones estables cuando el streaming de audio hacia Gemini Live se cortaba o cuando un cliente perdía conexión, sin que eso tumbara las demás sesiones activas ni perdiera contexto de la transcripción en curso.

Accomplishments that we're proud of

Llegar a correr 2+ sesiones simultáneas de transcripción y traducción en tiempo real, construido de cero en la ventana de ~24hs del hackathon, con una interfaz pensada específicamente para el caso de uso (no un mockup genérico) y un flujo de acceso por QR que no requiere login.

What we learned

Trabajar con streaming bidireccional de audio en tiempo real expone problemas de robustez que no aparecen en un demo de request/response tradicional — la reconexión y el manejo de estado por sesión terminaron siendo tan importantes como la calidad de la transcripción en sí.

What's next for Puente

Sumar más idiomas además de inglés↔español, un glosario de términos técnicos configurable por evento, exportación de la transcripción completa (SRT/VTT), integración con OBS/vMix para quemar subtítulos directo en el stream, y un panel de monitoreo para el equipo de producción.

Built With

Share this project:

Updates

Submission history