Traducción por voz en tiempo real con Falaí
Traducción por voz en tiempo real con Falaí
En bosq, nos apasiona convertir ideas complejas en productos simples, enfocados y listos para el mundo real. Falaí nace de esa filosofía: un traductor simultáneo por voz para conversaciones presenciales entre dos personas que hablan idiomas distintos, con una interfaz reducida a un único gesto: gira, mantén pulsado y habla.
Qué es Falaí
Falaí es una app open-source de traducción por voz en tiempo real, pensada para conversaciones cara a cara entre dos personas. Toda la experiencia gira en torno a un único disco en pantalla: el usuario elige el idioma girando el control, mantiene pulsado para hablar, y el otro idioma sale traducido por voz, sin botones adicionales, sin paneles técnicos y sin términos como "source" o "target" que interrumpan el flujo.
El proyecto fue construido con Vite, React, TypeScript, Tailwind CSS, Framer Motion y WebRTC nativo del navegador. El build final es completamente estático —solo HTML, CSS y JavaScript, sin backend, sin API routes, sin serverless functions, sin base de datos, sin autenticación y sin analytics.
Por qué lo construimos en bosq
En bosq, nuestro enfoque combina claridad de alcance, ejecución incremental y entregables verificables. Falaí es un ejemplo de esa filosofía aplicada a un problema concreto: cómo ofrecer traducción simultánea por voz con la menor superficie técnica posible, sin custodia de claves, sin servidores propios y sin fricciones para el usuario final.
En lugar de tratar la IA como una capa "mágica" incrustada en un stack pesado, preferimos diseñar productos en los que cada decisión arquitectónica tenga un propósito claro. En Falaí, eso se traduce en una arquitectura browser-only, donde el navegador se comunica directamente con la API en tiempo real de OpenAI, sin intermediarios.
Arquitectura browser-only y BYOK
Falaí adopta el modelo BYOK (Bring Your Own Key): el usuario introduce su propia clave de OpenAI en el navegador, y todo el coste de uso recae sobre esa clave. La decisión es deliberada y tiene implicaciones importantes:
- La clave existe únicamente en memoria.
- No se guarda en
localStorage,sessionStorageni en cookies. - No pasa por servidores de Falaí, porque Falaí no tiene servidores.
- Se elimina al recargar o cerrar la página.
El navegador se conecta directamente con OpenAI usando navigator.mediaDevices.getUserMedia, RTCPeerConnection y el data channel oai-events para los deltas de subtítulos. El audio traducido se reproduce en un elemento <audio autoplay />, y el modelo utilizado en el MVP es gpt-realtime-translate, orientado a la traducción speech-to-speech en tiempo real.
Conversation Dial: la interfaz como producto
Uno de los elementos centrales de Falaí es el Conversation Dial. El control muestra el idioma activo, y la interacción se reduce a dos gestos: arrastrar horizontalmente para girar el disco y cambiar el idioma, y mantener pulsado para hablar. La dirección activa se muestra de forma directa, por ejemplo, Español → English.
No existen botones separados para "Persona A" y "Persona B". La interfaz principal no utiliza términos como source, target, input ni output. Esta simplificación es intencional: el producto es un intérprete de voz, no un entorno de pruebas técnico. La sencillez de la pantalla es precisamente lo que permite usar la app en medio de una conversación real, sin romper el ritmo del diálogo.
PWA y distribución estática
Falaí incluye manifest.webmanifest, icono y service worker estático en public/sw.js. Tras el build, la carpeta dist/ puede publicarse en cualquier hosting estático —Netlify, Vercel static, Cloudflare Pages, GitHub Pages o cualquier CDN, y la app puede instalarse como PWA, con acceso al micrófono vía HTTPS.
Esta decisión sigue la misma lógica del BYOK: cero infraestructura, cero coste recurrente, cero custodia de datos del usuario. La app es, literalmente, un conjunto de archivos estáticos servidos por CDN, y cada usuario ejecuta su propia sesión directamente desde el navegador.
Qué demuestra este proyecto
Más que un traductor, Falaí ilustra un patrón de construcción que consideramos valioso:
- arquitectura browser-only cuando el caso de uso lo permite;
- BYOK como alternativa real a la custodia de claves de terceros;
- reducción agresiva de la interfaz hasta el gesto esencial;
- uso directo de APIs en tiempo real sin reinventar capas intermedias;
- base open-source para evolución, fork y experimentación.
Este patrón puede aplicarse a muchos otros escenarios: asistentes de voz especializados, copilotos de campo, herramientas de accesibilidad, apps de viaje y cualquier caso en el que la latencia de la conversación importe más que la sofisticación del backend.
Limitaciones y consideraciones para producción
Falaí es, conscientemente, un MVP. Sin backend, no hay forma de ocultar una clave predeterminada en la app, por lo que el BYOK es la elección natural: el usuario debe generar una clave específica para Falaí, con límites y permisos adecuados. La compatibilidad real depende del soporte del navegador, el micrófono, HTTPS y las políticas vigentes de OpenAI para llamadas directas. iOS Safari y Android Chrome deben probarse en dispositivos físicos.
Para un escenario de producción a mayor escala, la arquitectura más segura implica un backend mínimo que genere client secrets efímeros y evite exponer claves en el navegador. Esta versión opta por no hacerlo para mantener la app publicable como sitio estático/PWA, sin coste de infraestructura. El camino de evolución queda explícito en el propio README.
Explora el proyecto
Si quieres probar Falaí, estudiar la arquitectura browser-only o usar esta base como punto de partida para un producto de voz en tiempo real, te invitamos a explorar el repositorio:
- Repositorio: github.com/bosq-dev/falai
Si tu empresa busca transformar interacciones complejas en productos simples, con claridad, foco y una arquitectura adecuada al caso de uso, habla con bosq. Construimos módulos, copilotos, automatizaciones y pipelines que pasan del concepto a la operación real.
Tags: #TraducciónPorVoz #InteligenciaArtificial #OpenAI #OpenSource #BYOK #BrowserOnly #PWA #ReactJS #TypeScript #WebRTC #TradutorSimultáneo #ViteJS #TailwindCSS #FramerMotion #ArquitecturaFrontend #AppDeVoz #RealtimeAPI #DesarrolloWeb #Bosq #Falaí