RocketChat - Chat Simulation Stream
Plataforma para streamers que simula una audiencia interactiva en tiempo real con IA
RocketChat es una plataforma web diseñada para streamers principiantes que simula una audiencia interactiva en tiempo real. El proyecto genera mensajes de chat contextuales segun el videojuego seleccionado, utilizando inteligencia artificial para crear una experiencia de streaming mas dinamica.
implementa autenticacion con Clerk, streaming en tiempo real con Server-Sent Events (SSE), y un sistema de fallback entre multiples proveedores de IA (Groq y Cerebras) para garantizar disponibilidad continua del servicio.
Tecnologías Utilizadas
-
Server-Sent Events (SSE): Implementacion de streaming en tiempo real usando ReadableStream y TextEncoder para enviar mensajes de chat al cliente cada 3-7 segundos sin polling constante.
-
Patron Strategy + Failover: Sistema de multiples proveedores de IA (Groq y Cerebras) con interfaz comun que permite intercambiarlos sin cambiar el codigo consumidor. Si uno falla, automaticamente usa el siguiente.
-
Clerk Authentication: Autenticacion completa con tema oscuro y espanol, incluyendo middleware de proteccion de rutas y CSP dinamica para desarrollo y produccion.
-
Cache en Memoria: Sistema de cache con Map para frases generadas por juego y limite de juegos por usuario, evitando llamadas innecesarias a la IA.
Implementaciones
- SSE con ReadableStream para streaming de mensajes en tiempo real, incluyendo cleanup automatico cuando el cliente cierra la conexion usando AbortSignal.
- Patron Singleton Lazy para clientes de API, creando una sola instancia reutilizada con validacion temprana de API keys.
- Middleware de seguridad con CSP dinamica segun entorn y headers de proteccion