
FantaGraal
FantaGraal es una app de fantasy football con mecánicas de juego que funde los datos reales de los partidos con una experiencia de gestión profunda. Se siguen los partidos en directo, se fichan e intercambian futbolistas, se llevan ligas privadas y oficiales, se completan objetivos y se gasta una moneda interna en una tienda de artículos estéticos. LilyByte diseñó y construyó el producto de principio a fin para LBDF (del cliente móvil en Flutter a un backend Node.js en tiempo real) y lo publica tanto en la App Store como en Google Play.
La app reúne tres experiencias en un solo producto: un acompañante para los partidos en directo (calendario real, alineaciones, cronología y minijuegos durante el partido), un fantasy competitivo (subastas, el «Listone», plantillas y puntuación en vivo) y una capa de progresión y economía (logros, recompensas diarias, suscripciones y camisetas de colección).
El reto
El fantasy football no perdona en dos frentes a la vez: tiene que sentirse vivo durante los partidos y tiene que ser justo y preciso como juego de gestión. Conseguir ambas cosas en una sola app (y en seis meses) significaba resolver varios problemas difíciles juntos, no uno detrás de otro.
Tiempo real a escala de jornada. Marcadores, alineaciones, eventos y puntos fantasy deben actualizarse en el instante en que algo ocurre en el campo, y el tráfico se dispara cuando los partidos más seguidos empiezan a la vez. El sistema tenía que empujar las actualizaciones a muchísimos usuarios simultáneos sin quedarse atrás.
Datos reales y lógica de juego juntos. Los datos en directo del fútbol profesional hay que ingerirlos, normalizarlos y traducirlos a puntuación fantasy (el clásico «Fantavoto» y una valoración asistida por IA, el «Mess-IA»), y luego reconciliarlos en tiempo real con la plantilla, el mercado y las reglas de liga de cada usuario.
Un mercado complejo y lleno de reglas. Subastas, pujas a sobre cerrado, intercambios y el Listone tienen cada uno restricciones de presupuesto y de plantilla. Formar plantillas equilibradas y resolver las subastas correctamente es un problema de optimización, no un formulario.
Dos tiendas, dos reglamentos. La monetización tenía que funcionar en iOS y en Android pese a políticas distintas: por ejemplo, las promociones premium por código QR se muestran en Android pero quedan ocultas a propósito en iOS, para cumplir sus normas.
Contenido de los usuarios y seguridad. Las imágenes de perfil y las identidades de equipo personalizadas exigían moderación automática para mantener la experiencia segura a escala.
La solución
LilyByte construyó FantaGraal como un único código Flutter sobre un backend Node.js escalable en horizontal y guiado por eventos, con los datos deportivos en directo y la entrega en tiempo real en el centro.
001
Arquitectura en directo, guiada por eventos
Los datos reales de los partidos llegan de un proveedor deportivo profesional y los procesa un worker dedicado, separado de la API, de modo que la ingesta en directo y el cálculo de puntos nunca bloquean las peticiones de los usuarios. Las actualizaciones se reparten por WebSockets (Socket.io) con un montaje en clúster y sesiones sticky apoyado en Redis, lo que permite que la capa en tiempo real crezca entre procesos y absorba los picos de jornada. La lógica sensible al tiempo (cierres de mercado, pasos de subasta y puntuación en vivo) la orquesta un planificador, así los eventos se disparan aun bajo carga.
002
Un mercado justo y optimizado
El motor del mercado modela subastas, sobres, intercambios y el Listone con restricciones explícitas de presupuesto y plantilla, y usa un solucionador de optimización matemática para equilibrar el armado automático de la plantilla y la lógica de subastas: un problema difuso como «el mejor equipo» se convierte en uno que se resuelve.
003
Monetización consciente de la plataforma
Las suscripciones y las compras dentro de la app están implementadas de forma nativa para ambas tiendas, junto a una capa publicitaria con mediación por pujas. El comportamiento propio de cada tienda se resuelve dentro de la app, así cada plataforma cumple sus normas compartiendo un solo código.
004
Seguridad, observabilidad y operación
Las imágenes de los usuarios pasan por una moderación visual automática antes de publicarse. Todo el stack está instrumentado con informes de fallos, monitorización de rendimiento, analítica, configuración remota y registro estructurado, de modo que el equipo puede entregar rápido y reaccionar a los problemas en producción. Una consola de administración dentro de la app permite gestionar el Listone, recalcular precios, configurar premium y patrocinadores y hacer pruebas en vivo.
Funciones clave
Entrada y acceso
Un flujo de bienvenida con la identidad del producto lleva al acceso por email o nombre de usuario, o con un solo toque mediante Google, Apple y Facebook, además de un registro guiado en varios pasos con personalización del perfil y gestión de consentimientos.
Partidos reales en directo
Se recorren los partidos reales por jornada y competición, y se abre la vista en directo con marcador, alineaciones y cronología, enriquecida por los minijuegos del partido (pronóstico 1X2, duelos entre jugadores y puntuación Mess-IA).
Ligas, competiciones y mercado
Se entra en torneos oficiales o se crean ligas privadas con un asistente de varios pasos, y luego se gestiona la competición entre clasificaciones, calendario, plantillas y estadísticas. El mercado gira en torno al Listone, con un tutorial guiado que enseña la mecánica de presupuesto y sustituciones.
Progresión, economía y perfil
Un sistema de logros profundo (113 objetivos entre diarios, minijuegos y competiciones), una tienda de artículos estéticos con niveles de suscripción y camisetas de distinta rareza, y un perfil personalizable sostienen la implicación y la monetización a largo plazo.
Tecnologías
001
Cliente móvil
- Flutter (Dart 3.6): single codebase for iOS & Android
- auto_route navigation · Provider state management · Material 3 with dynamic color
- Rive & Lottie animations · fl_chart data viz · shimmer skeletons · cached images
- Real-time updates via Socket.io client; deep links via app_links
002
Autenticación
- Firebase Auth with Google, Apple and Facebook sign-in, plus email/OTP
- Secure token storage; App Tracking Transparency on iOS
003
Backend y tiempo real
- Node.js with Express 5; separate API and background-worker processes
- MongoDB (Mongoose) primary data store · Redis (ioredis) for caching & pub/sub
- Socket.io clustered with sticky sessions and a cluster adapter for horizontal scale
- Agenda job scheduler for market deadlines, auctions and live scoring
- HiGHS optimization solver for roster auto-build and auction balancing
- JWT + bcrypt auth · Joi validation · Swagger API documentation
004
Datos deportivos, media e infraestructura
- Professional football data provider for fixtures, lineups, events and live scores
- AWS S3 for media · AWS Rekognition for automated image moderation
- Sharp image processing · ExcelJS / PDFKit exports · Nodemailer email · GeoIP
- PM2 process management; staging deploy pipeline and load-testing suite
005
Monetización y observabilidad
- In-app purchases (StoreKit & Google Play Billing); subscriptions
- Google Mobile Ads (AdMob) with bidding mediation
- Firebase Crashlytics, Performance, Remote Config, Analytics & Cloud Messaging
- Winston + Loggly structured logging
Áreas de trabajo
El trabajo cubrió todo el ciclo de vida del producto, en estos frentes:
001
Diseño de producto — arquitectura de la información, flujos, diseño visual y un sistema de diseño coherente.
002
Desarrollo móvil — cliente Flutter multiplataforma para iOS y Android.
003
Backend y tiempo real — API, workers, WebSockets, planificación y escalado.
004
Datos y lógica de juego — ingesta de datos deportivos, puntuación fantasy y optimización del mercado.
005
Seguridad y moderación — autenticación, validación y moderación automática de imágenes.
006
Monetización y crecimiento — compras conformes a las tiendas, suscripciones, publicidad y economía interna.
007
QA y DevOps — pruebas automáticas, pruebas de carga, observabilidad y gestión de versiones.

Resultados quehablan solos
FantaGraal salió en iOS y Android como un producto maduro y en evolución continua, que reúne en una sola app un acompañante para los partidos en directo, un juego fantasy completo y una economía interna. Entre los resultados entregados:

25k+
Descargas en las dos tiendas
Más de 25.000 descargas en App Store y Google Play.
En directo
Marcadores, alineaciones y puntos
Una plataforma en tiempo real en producción, que transmite marcadores, alineaciones y puntos fantasy durante los partidos.
1,000+
Inscripciones en las competiciones principales
Torneos oficiales y ligas privadas a escala de comunidad, con miles de inscripciones en las competiciones principales.
4-in-1
Mercado completo
Listone, subastas, sobres e intercambios en un solo mercado optimizado, sostenido por un motor de optimización dedicado.
100+
Progresión y monetización
Más de 100 logros, niveles de suscripción, artículos de colección y compras conformes en ambas plataformas.
Full-stack
Monitorización y herramientas de gestión
Un stack listo para operar, con fallos, rendimiento y analítica instrumentados, más una consola de administración en la app.
Siguientes proyectos



