4momentary: Protocolo efímero en tiempo real y retransmisión espacial 3D
Protocolo de chat desechable sin base de datos ni fricciones, con estética brutalista en blanco y negro, telemetría espacial 3D y compañeros de IA con tu propia clave (BYOK).
Tecnologías: Next.js 16 (App Router, Turbopack), React 19, TypeScript, Tailwind CSS v4, Lucide React, Upstash Redis, PeerJS (WebRTC), API de DeepSeek AI, Web Audio API, Canvas API
Resultado Clave: Aprovisionamiento de salas desechables en menos de un segundo con cero seguimiento permanente, cero cuentas de usuario, cero almacenamiento de mensajes en bases de datos, y destrucción total garantizada de datos al expirar la sala (T).
Resumen: 4momentary es un protocolo de comunicación efímero brutalista y de cero fricción, diseñado con Next.js 16, React 19 y Tailwind CSS v4. Fundamentado en una ecuación arquitectónica donde nada sobrevive a la expiración de la sala (T), ofrece salas de chat desechables, jerarquías multicanal y categorías, intercambio de imágenes de 1 MB optimizadas en el navegador, retransmisión directa P2P mediante WebRTC, un mapa radar espacial 3D interactivo y un compañero de IA integrado (The Moth) con directivas personalizadas y herramientas web.
Fundamento Matemático y Filosofía del Producto
Toda la arquitectura del producto se define a través de una ecuación matemática formal:
room (sala): Un espacio con un nombre y un reloj de cuenta regresiva vinculante. Nada más que configurar.
channel (canal): Un subcanal ilimitado dentro de una sala, cada uno con su propio historial de chat independiente.
category (categoría): Una agrupación lógica de canales que existe por sí misma, sin alterar los nombres de los canales.
link (enlace): Una única URL limpia. Sin códigos de invitación por aceptar, sin registro de cuentas, sin instalación de apps.
timer (temporizador): Cuenta regresiva autoritativa de 30 minutos a 24 horas. El anfitrión puede cerrar la sala antes de tiempo.
⊕ (Añadir): Participantes y mensajes incorporados dinámicamente a medida que llegan.
− accounts: Restado. Nadie se registra, nadie inicia sesión.
− archive: Restado. Ningún mensaje ni archivo adjunto sobrevive después de T.
− tracking: Restado. Sin cookies, sin analíticas, sin perfiles de usuario, sin píxeles de publicidad.
T (Expiración): El instante inmutable en que la sala y todas sus reservas de memoria dejan de existir.
∅ (Vacío): No simplemente "borrado lógico" o archivado: literalmente no queda nada que borrar.
El Problema y la Oportunidad Estratégica
Vigilancia y Archivos Permanentes: Las plataformas de mensajería modernas (Discord, Slack, Telegram, WhatsApp) almacenan indefinidamente historiales, archivos adjuntos, grafos de usuarios y metadatos de comportamiento en servidores en la nube. Abrir una discusión temporal deja una huella digital permanente.
Fricción de Entrada: Crear una sala para una reunión rápida de standup, una llamada de incidentes, una entrevista técnica, una sesión de estudio o preparación de partidas exige actualmente registro de cuentas, autenticación OAuth y descarga de aplicaciones.
Interfaces Sobrecargadas: Los clientes tradicionales llenan la pantalla de notificaciones, insignias, listas de servidores y adornos visuales innecesarios.
La Oportunidad: Crear una herramienta de comunicación desechable con estética brutalista de alto contraste, creación de salas con un solo clic, garantías absolutas de privacidad sin persistencia y asistencia de IA ligera.
Arquitectura y Decisiones Técnicas
1. Retransmisión en Memoria Edge y Expiración TTL en Redis
Núcleo Sin Base de Datos: Las salas operan completamente en la memoria volátil del servidor (/api/room/[roomId]).
Respaldo con TTL en Redis: Al usar Upstash Redis, las salas se almacenan con un Time-To-Live (TTL) estricto igual a su tiempo restante. Al llegar a cero, Redis purga automáticamente las claves sin necesidad de procesos de recolección de basura.
Reloj con Autoridad del Servidor: La fecha límite (expiresAt) se valida rigurosamente en el servidor. Una vez vencida, la API rechaza cualquier intento de envío de mensajes con código HTTP 403.
2. Malla Punto a Punto con WebRTC
Canales de Datos P2P Directos: Los navegadores en la misma sala intentan establecer conexiones WebRTC directas mediante PeerJS y servidores STUN públicos para lograr una latencia ultrabaja.
Retransmisión de Respaldo: Si cortafuegos corporativos o políticas NAT impiden la conexión directa, el cliente conmuta de forma transparente al relé en memoria del servidor.
BroadcastChannel Multi-Pestaña: Las pestañas abiertas en el mismo dispositivo se sincronizan de inmediato a través de la API BroadcastChannel sin consumo innecesario de red.
3. Jerarquía Multicanal y Categorías
Cero Sobrecarga de Esquema: Los canales se gestionan como etiquetas de metadatos (Message.channelId) en cada mensaje, sin requerir tablas de base de datos adicionales.
Agrupación en Categorías: Los canales se organizan en carpetas plegables (Message.categoryId), permitiendo una estructura tipo Discord sin configuración de backend.
Aislamiento de Canales: La vista del chat, menciones y búsqueda se filtran al canal seleccionado, mientras los avisos de sistema de la sala permanecen visibles globalmente.
4. Radar Espacial 3D y Telemetría
Proyección de Coordenadas 3D: Cada sala creada recibe coordenadas espaciales (X, Y, Z).
Radar Orbital Interactivo: Permite a los usuarios inspeccionar salas activas en un radar tridimensional con controles de rotación orbital, desplazamiento, zoom y salto por coordenadas.
Enjambre de Usuarios Conectados: Los participantes conectados se representan como mariposas animadas en movimiento continuo por el espacio virtual.
5. Transferencia de Medios de 1 MB en el Cliente y Selector Hexagonal Beehive
Compresión de Imágenes en Canvas: Las imágenes pegadas desde el portapapeles (Ctrl+V) o seleccionadas se reducen automáticamente en un canvas HTML5 para asegurar que no superen el límite de 1 MB.
Medios Efímeros: Vista previa antes de enviar, visualizador en pantalla completa brutalista y desaparición irreversible al vencer la sala.
Paleta Hexagonal Beehive de 39 Celdas: Patrón hexagonal SVG entrelazado para personalizar avatares con detección automática de contraste y luminancia (isLightColor).
6. The Moth: Compañero de IA BYOK y Mercado de Directivas
Tu Propia Clave (BYOK): Opera con la clave API de DeepSeek suministrada por el usuario, almacenada exclusivamente en sessionStorage (nunca se guarda en servidores ni salas).
Mercado de Personas Directivas: Catálogo de comportamientos que incluye Entrenador de Dota (con gramática para filtros de parches en tiempo real de Dotabuff/Dotafury), Analista Deportivo, Matemáticas y Ciencia, Investigación y Profesional.
Acceso Web en Directo: Búsquedas en DuckDuckGo y lectura de páginas protegidas desde el servidor, con caché en memoria y eliminación de identificadores personales.
Subcompañeros Estacionados: Permite desplegar asistentes secundarios en otras salas para colaborar simultáneamente.
Newsprint: Estilo editorial en papel periódico y carbón (#f4efe6, texto #141311).
Industrial: Planos de arquitectura en cian y pizarra (#091018, detalles #00e5ff).
Diseño Mobile-First: Viewport fijado en 100dvh, sin barras de desplazamiento lateral y con retroalimentación sonora sutil mediante Web Audio API.
Métricas y Especificaciones del Sistema
Métrica / Parámetro
Valor / Implementación
Impacto Arquitectónico
Tiempo de Creación de Sala
< 1.0s
Despliegue instantáneo sin registro de usuario
Sobrecarga de Cuentas
0 Usuarios / 0 Contraseñas
Cero riesgo de filtración de credenciales
Retención de Datos
0 bytes tras expiración
Purga automática en Redis TTL + liberación en memoria
Latencia en Tiempo Real
P2P (< 50ms) / Relé (< 1s)
Malla WebRTC directa con respaldo en servidor Edge
Límite de Archivos
1 MB Estricto
Optimización automática en canvas y previsualización
Integración de IA
DeepSeek V3/R1 (BYOK)
Almacenamiento en sesión del navegador, sin persistencia
Radar Espacial 3D
3 Ejes (X, Y, Z)
Navegación orbital en tiempo real entre salas
Stack de Desarrollo
Next.js 16 + React 19
Compilación Turbopack y hooks modernos de React 19
Privacidad, Seguridad y Garantías Legales
Lo Que Nunca Se Recopila: Sin direcciones de correo, sin números telefónicos, sin contraseñas personales, sin píxeles de seguimiento publicitario y sin registros de acceso persistentes que vinculen IPs con mensajes.
Lo Que Conserva el Navegador: El nombre elegido, el color de acento Beehive y el tema seleccionado se guardan en el localStorage del cliente. La clave API de DeepSeek y las claves de acceso a salas privadas viven únicamente en sessionStorage y se destruyen al cerrar la pestaña.
Lo Que Mantiene el Relé en Vivo: El censo de participantes activos (heartbeat cada 25 segundos), el tema de la sala, sus coordenadas 3D y los mensajes en tránsito.
Expiración Irreversible: Llegado el instante T, la memoria se libera por completo. Las salas expiradas responden con HTTP 404, impidiendo lecturas o envíos posteriores.
Reflexiones y Futuras Mejoras
Lecciones Aprendidas: Sincronizar salas en tiempo real entre distintas pestañas y dispositivos sin utilizar una base de datos persistente exigió aprovechar al máximo BroadcastChannel y mapas TTL en memoria.
Robustez de WebRTC: La conmutación automática y transparente entre canales directos PeerJS y rutas edge del servidor resultó indispensable para usuarios detrás de NATs corporativos estrictos.
Próximos Pasos: Implementar firmado de mensajes de extremo a extremo con claves generadas en Web Crypto por sesión, y extender el mapa espacial con algoritmos de agrupación multidimensional.
Mis Contribuciones
Arquitectura de Protocolo y Backend: Diseñé el motor de salas en memoria, la lógica de expiración con TTL en Redis, la sincronización horaria autoritativa y las rutas de retransmisión Edge.
Diseño UI/UX y Frontend: Creé la estética brutalista en blanco y negro, la paleta de 5 temas, la maquetación responsiva a 100dvh y el selector de color Beehive.
Telemetría y Radar 3D: Desarrollé la proyección de coordenadas tridimensionales, la cámara orbital y el sistema de partículas de mariposas.
Integración de IA: Implementé el asistente BYOK con DeepSeek (The Moth), el mercado de directivas, la gramática de análisis para Dota y las herramientas de búsqueda web.
Calidad y Verificación: Cero errores de compilación en Next.js 16 / React 19, cero advertencias en ESLint y cumplimiento total de las directrices Impeccable.