← Todos los proyectos

Ago 2026 a Oct 2026

Ecos

Servicio de transcripción de audio: subes un fichero o hablas al micrófono y lees el texto en la propia app. SPA en React sobre una infraestructura serverless en AWS declarada entera como código.

Rol
Full-stack (proyecto propio)
Periodo
Ago 2026 a Oct 2026
Cliente
Ecos
Captura de pantalla de Ecos

Contexto

Quien trabaja con voz grabada (entrevistas, reuniones, notas dictadas) necesita el texto, no el audio, y suele acabar repartido entre grabadoras, carpetas y servicios que solo devuelven un fichero. Ecos reúne el ciclo completo en un único sitio privado: grabar o subir, transcribir en segundo plano sin bloquear al usuario y volver más tarde a leer, copiar o descargar cada transcripción desde el historial.

Stack

  • React
  • TypeScript
  • Vite
  • Tailwind
  • TanStack Query
  • Node.js
  • AWS
  • Serverless Framework
  • DynamoDB
  • Speechmatics
  • Jest
  • Cypress

Resumen

Una SPA privada para convertir voz en texto. La grabación en directo es la acción principal: el texto aparece palabra a palabra mientras hablas, y al detenerla queda guardado en el historial. Cada transcripción se lee en la propia aplicación, con tipografía de lectura, y se copia o descarga con un clic.

Grabación en directo en modo oscuro: forma de onda y texto apareciendo mientras se habla

Decisiones que importan

  • El audio nunca pasa por una Lambda. El límite de payload de Lambda son 6 MB y el producto admite 20, así que el navegador sube directo a S3 con un POST prefirmado y un evento de S3 lanza la transcripción.
  • Tiempo real sin exponer la clave. El navegador abre un WebSocket con Speechmatics usando credenciales de vida corta que emite la API; la clave del proveedor vive solo en SSM.
  • Webhook protegido. El proveedor devuelve el resultado a un endpoint que exige un secreto compartido y lo compara en tiempo constante.
  • Backend hexagonal, frontend por dominios. Puertos y adaptadores en la API; en la SPA, cada dominio con sus capas y un barrel como única puerta de entrada.
  • Infraestructura como código entera, con CloudFront, OAC y cabeceras de seguridad incluidas, desplegada desde GitLab CI con un rol por OIDC acotado por nombre a los recursos del proyecto.
Pantalla de inicio de sesión dividida: formulario a la izquierda y muestra de una transcripción en directo a la derecha

Demo en vivo en ecos-ochre.vercel.app: la pantalla de acceso muestra la cuenta demo y todo se simula en el navegador. Código público en gitlab.com/cristianpadillagm/ecos.

¿Buscas un desarrollador full-stack o frontend para tu equipo en remoto? Hablemos.

Contáctame