Volver a Proyectos
Web Teleprompter — PWA Autoalojada con Sincronización de Voz Solo en el Navegador
Herramientas para Creadores / PWA
Producción

Web Teleprompter — PWA Autoalojada con Sincronización de Voz Solo en el Navegador

Un teleprompter privacy-first, ya en vivo en teleprompt.aiepic.app: pegue un guion, envíelo a cualquier dispositivo por QR y deje que el navegador mantenga el desplazamiento sincronizado con su voz

React 19ViteFastAPIRedisPWACaddyCI/CD
v0.5.0
Versión publicada
Free / public
Instancia en vivo
4
Modos de transferencia
Browser-only
Sincronización de voz
None
Cuentas / base de datos
One compose up
Despliegue autoalojado

Oradores y creadores necesitaban un teleprompter que pudieran correr en su propia máquina, usar sin conexión y con el que pudieran pasar un guion a un segundo dispositivo sin crear una cuenta. Las herramientas existentes eran dependientes de la nube, incompatibles entre múltiples dispositivos, o ambas cosas.

El resultado es una PWA privacy-first, publicada como instancia gratuita y pública en teleprompt.aiepic.app. Los guiones viven en el navegador, el servidor de relay olvida todo en minutos, y la sincronización de voz que sigue su locución usa únicamente la Web Speech API integrada del navegador — su micrófono y su guion nunca salen del dispositivo a menos que usted elija explícitamente un modo de transferencia asistido por servidor.

El problema

La necesidad del usuario era concreta: preparar un guion en una computadora portátil, enviarlo a un teléfono o tableta y presentar desde ese dispositivo en pantalla completa — sin instalar una app, sin crear una cuenta y sin confiar el guion a un SaaS.

Tres restricciones volvían inútil el mercado existente. (1) Las herramientas en la nube dejan de funcionar sin conexión. (2) Las herramientas multi-dispositivo requieren un backend compartido, lo que significa una cuenta, lo que significa que el guion vive en el servidor de alguien. (3) Los teleprompters que siguen la voz dependían de speech-to-text en la nube, que envía el audio a un proveedor — inaceptable para cualquiera que presente material confidencial o embargado.

El enfoque

Una PWA en Vite + React 19 para el editor y el reproductor, un servicio FastAPI mínimo para el relay opcional, Redis como almacén del relay (TTL de 5 minutos, borrado al leer) y Caddy como reverse proxy con encabezados de seguridad completos. Sin base de datos, por diseño.

El flujo diario recomendado es intencionalmente simple:
1. Abra la app en una computadora — la instancia pública o su propio despliegue.

2. Cargue el guion subiendo un archivo o pegando texto; se guarda en el almacenamiento local del navegador, no como un archivo permanente en el servidor.

3. Transfiéralo al teléfono: abra Handoff, genere los códigos QR y escanéelos con el dispositivo móvil. Para guiones típicos se usa QR único o multi-QR, de modo que el guion viaja codificado en el fragmento de la URL y nunca se almacena en el servidor.

4. Lea en el teléfono: el reproductor se abre y usted ajusta velocidad, tamaño de fuente, tema y espejo según la sala.

5. Sincronización de voz opcional: toque el control de idioma (ES / EN) y el Speech Recognition integrado de Chrome desplaza el texto mientras usted habla. No se requiere ni se incluye ningún servicio de ASR por streaming.

Cuatro modos de transferencia con respaldo automático cubren los casos borde:
- QR único — la carga útil viaja embebida en un fragmento de URL, nunca se envía al servidor. El caso habitual para guiones pequeños.

- Multi-QR — escanee los códigos en cualquier orden para guiones que superan el límite del QR único.

- Enlace LAN — misma red Wi-Fi, sin pasar por ningún servidor.

- Relay + OTP — para guiones muy grandes, el servidor retiene la carga brevemente con una contraseña de un solo uso.

En hosts públicos, los modos asistidos por servidor pueden desactivarse por completo (DISABLE_SERVER_HANDOFF=true), dejando solo transferencias por QR y garantizando que ningún guion de usuario toque el servidor.

El Markdown se renderiza con markdown-it + DOMPurify, con HTML crudo eliminado a la entrada. Una compuerta completa de CI en GitHub Actions ejecuta lint, typecheck, pruebas unitarias y validación de Compose en cada push.

El resultado

Publicado como v0.5.0 y en vivo en teleprompt.aiepic.app. La app es gratuita, pública y con licencia MIT; cualquiera puede autoalojarla con un solo 'docker compose up'. El reproductor precachea vía service worker, así que funciona sin conexión después de la primera carga, y dos scripts e2e de transferencia ('bin/e2e-handoff.sh', 'bin/e2e-offline.sh') controlan cada release.

La postura de privacidad sigue siendo la característica que la gente menciona primero: sin cuenta, sin base de datos, y la ruta habitual por QR significa que su guion nunca sale de la codificación del navegador. La sincronización de voz refuerza la misma garantía — corre sobre el motor de reconocimiento del propio navegador, no sobre una API en la nube — así que «mi micrófono nunca sale del dispositivo» no es una frase de marketing, es la arquitectura.

Pruébelo en vivo

Esto no es una captura de pantalla. Es la aplicación real — corriendo en producción, ahora mismo. Ábralo y pruebe el editor, la transferencia y el reproductor.

Pruébelo en vivo

Conclusión clave

La privacidad no es una característica que se agrega al final — es una restricción de arquitectura que se asume desde el primer día. Decidir «sin ASR en la nube, sin base de datos, sin cuenta» en la especificación es lo que hizo obvio el resto del diseño.

¿Listo para construir su plataforma?

Una llamada de 30 minutos para ver si somos el aliado correcto. Sin discurso de venta. Sin presión. Solo una conversación sobre lo que necesita construir.

La mayoría de los proyectos inicia con un diagnóstico de arquitectura acotado: de $5,000 a $12,000, de 1 a 3 semanas. Construcción de plataformas a precio fijo: de $20,000 a $80,000, con control por hitos, 50% de depósito. CTO fraccional: de $6,000 a $10,000 por mes, mínimo 90 días.

Web Teleprompter — PWA Autoalojada con Sincronización de Voz Solo en el Navegador — LogicBison