Portada de Juegos Familiares con las opciones Impostor y Tutti Frutti.
Portada pública capturada el 27 de septiembre de 2026.

Juegos Familiares

Plataforma de juegos presenciales para compartir en grupo, con Impostor y Tutti Frutti.

Producto, arquitectura e implementación full stack

  • Next.js
  • TypeScript
  • Supabase
  • PostgreSQL

Dos juegos publicados · Impostor: más de 100 partidas familiares

Problema
Facilitar juegos presenciales donde cada participante usa su teléfono para jugar en grupo.
Aporte
Diseño e implementación de Impostor y Tutti Frutti en una plataforma web mobile-first.
Decisión clave
Mantener las reglas y los estados de cada juego independientes, con capacidades de plataforma donde son compartidas.

La plataforma

Juegos Familiares reúne experiencias presenciales para grupos pequeños. Cada persona participa desde su teléfono y comparte la conversación cara a cara con el grupo.

La portada ofrece dos juegos: Impostor, basado en roles y votación secreta, y Tutti Frutti, basado en categorías y respuestas por ronda. Ambos requieren que las personas estén en un grupo y se conecten a una sala para jugar.

Impostor

Cada participante recibe en privado una palabra o un rol, conversa y da pistas, vota y ve el resultado. Una persona crea una sala temporal y comparte un código o enlace. La sesión conserva las rondas, palabras utilizadas y puntuación.

El ciclo incluye:

  1. crear o unirse a una sala;
  2. revelar en privado la palabra o el rol;
  3. conversar y dar pistas presencialmente;
  4. votar de forma secreta;
  5. resolver un desempate cuando corresponde;
  6. permitir el intento final del impostor descubierto;
  7. mostrar el resultado y la puntuación;
  8. iniciar otra ronda o cerrar la sesión.
Pantalla privada de Impostor mostrando la palabra asignada y el control para ocultarla. Pantalla de votación de Impostor en una sesión local con participantes de prueba.
Una ronda en navegadores separados: cada participante recibe información privada y vota desde su propia sesión.

Tutti Frutti

Tutti Frutti suma un segundo juego presencial a la plataforma. El grupo crea o abre una sala, configura la partida, responde categorías por letra y revisa las respuestas antes de comparar resultados.

Mi aporte

Diseñé las reglas, estados y recorridos de cada juego, y desarrollé sus experiencias mobile-first. Impostor incluye identidad, grupos, salas, privacidad, sincronización, recuperación de sesión y PWA. Tutti Frutti tiene su propio flujo de configuración, respuestas y revisión. La plataforma usa Next.js, Supabase y PostgreSQL.

Decisiones de producto y arquitectura

Autoridad en Postgres

El navegador no certifica roles, votos, resultados ni transiciones sensibles. Las operaciones protegidas validan identidad, permisos y estado previo en backend o base de datos.

Realtime notifica, no autoriza

Realtime y Presence notifican cambios, pero no reemplazan el estado persistido. Tras una reconexión, el cliente consulta una vista autorizada y reconstruye la sesión.

Reglas propias para cada juego

Impostor y Tutti Frutti conservan sus reglas, estados y ciclos de partida. La plataforma comparte la entrada a grupos y salas sin convertir sus diferencias en un motor genérico.

Interacción presencial

Los teléfonos gestionan preparación, participación y resultados. La conversación ocurre entre las personas reunidas.

Uso, calidad y límites

Impostor fue usado en más de 100 partidas con grupos familiares. Esas sesiones permitieron corregir textos, recorridos y comportamientos multi-dispositivo. Tutti Frutti se incorporó después como un segundo juego; no se le atribuye ese historial de uso.

La implementación de Impostor incluye pruebas unitarias y de base de datos, validaciones de RLS/RPCs y pruebas básicas de sincronización. Los juegos requieren conexión. La plataforma prioriza grupos pequeños y conocidos; no ofrece matchmaking, chat, perfiles públicos, ranking global ni partidas remotas.

EN