Caso de estudio
Juegos Familiares
Dos juegos, una misma idea: facilitar el encuentro y el juego en persona. Impostor y Tutti Frutti reúnen al grupo alrededor de una partida; cada participante usa su teléfono y la conversación sucede cara a cara.
Dos juegos publicados
Dos juegos para compartir
Impostor
Palabras, pistas y votación secreta para descubrir quién tiene un rol diferente. Cada persona recibe su información en privado desde el teléfono; las pistas y la conversación se comparten en persona.
Tutti Frutti
Una letra, varias categorías y respuestas para comparar en grupo. Cada participante completa su ronda desde el teléfono y después revisan las respuestas antes de ver los resultados.
El desafío técnico: mantener la partida sincronizada
Cambios en tiempo real
Supabase Realtime notifica los cambios de la partida a los dispositivos conectados, para que cada participante pueda seguir lo que sucede.
Reglas validadas en PostgreSQL
En Impostor, las acciones protegidas validan identidad, permisos y estado de la partida en el backend o la base de datos. Los roles, votos y resultados no dependen de lo que declare el navegador.
Recuperación de sesión
Tras una desconexión, el cliente de Impostor consulta el estado persistido y autorizado para reconstruir la sesión. Las notificaciones en tiempo real acompañan ese estado, sin reemplazarlo.
Desarrollado y probado en uso
Diseñé los recorridos, las reglas y los estados de cada juego e implementé la plataforma con Next.js, TypeScript, Supabase y PostgreSQL. Cada juego conserva su propia lógica y comparte el acceso a grupos y salas.
La implementación de Impostor incluye pruebas unitarias y de base de datos, validaciones de permisos y operaciones protegidas (RLS/RPCs), y comprobaciones básicas de sincronización.
Pensado para grupos pequeños que se reúnen en persona. Las partidas requieren conexión a internet.

