Saltar al contenido
Portada de GUILTY
// App propia·2026·Forza

GUILTY

Producto propio de Forza: una suite de juegos de fiesta multijugador en tiempo real, en móvil y web.

La idea detrás de nuestro propio producto: qué explora y por qué lo construimos.

El proyecto

Guilty es un producto propio de Forza: una suite de juegos de fiesta para jugar en grupo. Reúne ocho juegos —verdad o reto, yo nunca, ¿qué prefieres?, el más probable, tipsy, torre, mixto y un impostor de deducción social— en una app de iOS y Android (Flutter) y en web, con partidas multijugador en vivo de 2 a 12 jugadores y soporte en español e inglés. Lo construimos para explorar el multijugador en tiempo real cross-platform de punta a punta: estado sincronizado por WebSocket, salas que también funcionan sin internet, y un modelo freemium con compras in-app y Stripe. Está vivo en guilty.mx, en la App Store y en Google Play.

Lo que venían a resolver, contado sin tecnicismos.

Reto

  1. 01Sincronizar partidas en tiempo real entre muchos jugadores, sin que se desincronice el estado.
  2. 02Un mismo producto en iOS, Android y web, con la misma lógica de juego.
  3. 03Que las salas funcionen también sin internet (modo local / LAN).
  4. 04Ocho juegos distintos compartiendo un mismo motor de partidas.
Hecho porForza
Año2026
CategoríaApp propia
DuraciónProducto propio / In-house product
RolIdea, producto, app (Flutter), backend en tiempo real, diseño

Las piezas que hacen funcionar el producto.

Lo que construimos

Tiempo real

Multijugador en vivo

Un jugador abre una sala, los demás entran con un código y juegan en vivo: turnos, votaciones y fases se sincronizan al instante entre todos. El backend corre sobre Cloudflare Durable Objects con WebSocket, y si no hay internet el host levanta una sala local (LAN) sin servidor.

  • Salas con código de invitación
  • Turnos y votaciones sincronizados
  • Vista de anfitrión y de jugador
  • Fallback a sala local sin internet (LAN)
Contenido02

Suite de 8 juegos

Verdad o reto, yo nunca, ¿qué prefieres?, el más probable, tipsy, torre, mixto y un impostor de deducción social (estilo Among Us). Todos comparten un mismo motor de partidas, con modos chill y guilty.

  • 8 juegos sobre un motor común
  • Impostor de deducción social
  • Modos chill y guilty
  • Contenido editable desde una herramienta interna
Cross-platform03

Móvil y web, un mismo producto

App nativa en iOS y Android con Flutter (publicada en las tiendas) y versión web con React Router 7, compartiendo la misma lógica de juego y el mismo backend. El jugador entra desde donde sea y juega con todos.

  • iOS y Android (Flutter, en tiendas)
  • Web con React Router 7
  • Mismo backend para todas las plataformas
  • Español e inglés
Negocio04

Freemium en las tiendas

Modelo freemium completo: modo chill gratis y modo guilty premium por suscripción. Compras in-app en iOS y Android y pagos con Stripe en web, con el estado de la suscripción sincronizado entre plataformas.

  • Compras in-app (iOS / Android)
  • Pagos con Stripe en web
  • Suscripción sincronizada entre plataformas
  • Prueba gratuita y modo chill sin costo

Cómo construimos el producto, paso a paso.

Proceso

  1. 01

    Concepto

    Definimos el producto: qué juegos, cómo se juega en grupo y qué hace especial al multijugador en vivo. Un experimento propio para empujar el real-time cross-platform.

    • Definición de juegos y modos
    • Modelo de partidas y salas
  2. 02

    Arquitectura

    App Flutter (clean architecture + BLoC) para móvil y un backend en tiempo real con React Router 7 sobre Cloudflare Durable Objects y WebSocket, con Prisma/PostgreSQL para los datos.

    • App Flutter + backend en tiempo real
    • Protocolo de sincronización
  3. 03

    Motor de juegos

    Cada juego como una máquina de estados (fases, turnos, votaciones) sobre un motor común, para sumar juegos sin reescribir la lógica de partida.

    • Motor común de partidas
    • 8 juegos implementados
  4. 04

    Multijugador

    Salas en vivo por WebSocket sobre Durable Objects, con vista de anfitrión y de jugador, y un fallback a sala local (LAN) cuando no hay internet.

    • Salas online sincronizadas
    • Modo local sin internet
  5. 05

    Lanzamiento

    Publicación en App Store y Google Play, web en vivo en guilty.mx, y el modelo freemium con compras in-app y Stripe activo en todas las plataformas.

    • iOS, Android y guilty.mx en vivo
    • Freemium activo (IAP + Stripe)

El producto en números.

En números

un motor común de partidas0
Juegos en una sola app

Verdad o reto, yo nunca, ¿qué prefieres?, el más probable, tipsy, torre, mixto e impostor — todos sobre el mismo motor.

una sola base de juego0
Plataformas: iOS, Android y web

App nativa en las dos tiendas (Flutter) y versión web (React Router 7), con el mismo backend.

sincronizado por WebSocket0
Jugadores por sala, en vivo

De 2 a 12 jugadores en una misma partida en tiempo real, con fallback a sala local sin internet.

modo sala local (LAN)0
Internet para jugar en una sala local

El anfitrión levanta una sala por LAN y los jugadores entran sin conexión — la fiesta sigue aunque se caiga el wifi.

El stack que sostiene el producto.

Tecnologías

App móvil
  • Flutter
  • Dart
  • BLoC + GetIt
Backend en tiempo real
  • React Router 7
  • Cloudflare Durable Objects
  • WebSocket
  • Prisma + PostgreSQL
Producto & monetización
  • Stripe
  • In-app purchases
  • i18n (ES/EN)

¿Algo así para tu negocio?

Si este case te hizo click, hablamos. Te respondemos en menos de un día hábil, sin compromiso.