
FantaGraal
FantaGraal is a gamified fantasy football app that fuses real-world match data with a deep fantasy-management experience. Players follow live fixtures, draft and trade footballers, run private and official leagues, complete objectives, and spend an in-app currency in a cosmetics-driven shop. LilyByte designed and built the product end-to-end for LBDF (from the Flutter mobile client to a real-time Node.js backend) and ships it on both the App Store and Google Play.
The app blends three experiences into one product: a live sports companion (real fixtures, lineups, timelines and in-match minigames), a competitive fantasy manager (auctions, the “Listone” player pool, rosters and live scoring), and a progression-and-economy layer (achievements, daily rewards, subscriptions and collectible jerseys).
The challenge
Fantasy football is unforgiving on two fronts at once: it has to feel alive during matches, and it has to be fair and precise as a game of management. Delivering both in a single app (within a six-month timeline) meant solving several hard problems together rather than one at a time.
Real-time at matchday scale. Scores, lineups, events and fantasy points all need to update the instant something happens on the pitch, and traffic spikes sharply when popular fixtures kick off simultaneously. The system had to push live updates to many concurrent users without falling behind.
Blending real data with fantasy logic. Live data from professional football has to be ingested, normalized and translated into fantasy scoring (the classic “Fantavoto” and an AI-assisted “Mess-IA” rating), then reconciled against every user’s roster, market and league rules in real time.
A complex, rules-heavy market. Auctions, closed-envelope bids, trades and the Listone draft each carry budget and roster constraints. Building balanced squads and resolving auctions correctly is an optimization problem, not just a CRUD form.
Two stores, two rulebooks. Monetization had to work across iOS and Android despite different store policies; for example, QR-code premium promotions are surfaced on Android but intentionally hidden on iOS to stay compliant.
User-generated content and safety. Custom profile images and team identities required automated moderation to keep the experience safe at scale.
The solution
LilyByte built FantaGraal as a single Flutter codebase on top of a horizontally-scalable, event-driven Node.js backend, with live sports data and real-time delivery at its core.
001
Live, event-driven architecture
Real match data is sourced from a professional sports-data provider and processed by a dedicated background worker, separate from the API, so that live ingestion and fantasy scoring never block user requests. Updates are fanned out over WebSockets (Socket.io) using a clustered, sticky-session setup backed by Redis, allowing the real-time layer to scale across processes and absorb matchday spikes. Time-sensitive logic (market deadlines, auction steps and live scoring) is orchestrated through a job scheduler so events fire reliably even under load.
002
A fair, optimized fantasy market
The market engine models auctions, envelopes, trades and the Listone with explicit budget and roster constraints, and uses a mathematical optimization solver to balance squad auto-build and auction logic, turning a fuzzy “best team” problem into a solvable one.
003
Platform-aware monetization
Subscriptions and in-app purchases are implemented natively for both stores, alongside an ad layer with bidding mediation. Store-specific behaviour is handled in-app so each platform stays compliant while sharing one codebase.
004
Safety, observability and operations
User images pass through automated visual moderation before they go live. The whole stack is instrumented with crash reporting, performance monitoring, analytics, remote configuration and structured logging, so the team can ship quickly and react to issues in production. An in-app admin console lets operators manage the player list, recompute prices, configure premium and sponsors, and run live tests.
Key features
Onboarding & access
A branded welcome flow leads into email/username sign-in or one-tap social login (Google, Apple, Facebook), plus a guided multi-step registration with profile personalization and consent handling.
Live real matches
Users browse real fixtures by day and competition, then open a live match view with score, lineups and timeline, enriched by in-match minigames (1X2 prediction, player duels and the Mess-IA score).
Leagues, competitions & the market
Players join official tournaments or create private leagues through a multi-step wizard, then manage competitions with standings, calendar, rosters and statistics. The market revolves around the Listone player pool, with a guided onboarding that teaches budget and substitution mechanics.
Progression, economy & profile
A deep achievement system (113 objectives across daily, minigame and competition tracks), a cosmetics shop with subscription tiers and rarity-graded jerseys, and a customizable player profile drive long-term engagement and monetization.
Technology stack
001
Mobile client
- 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
Authentication
- Firebase Auth with Google, Apple and Facebook sign-in, plus email/OTP
- Secure token storage; App Tracking Transparency on iOS
003
Backend & real-time
- 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
Sports data, media & infrastructure
- 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
Monetization & observability
- 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
Work categories
The engagement spanned the full product lifecycle across the following disciplines:
001
Product & UX/UI design — information architecture, flows, visual design and a cohesive design system.
002
Mobile development — cross-platform Flutter client for iOS and Android.
003
Backend & real-time infrastructure — API, workers, WebSockets, scheduling and scaling.
004
Data & game logic — sports-data ingestion, fantasy scoring and market optimization.
005
Security & content moderation — authentication, validation and automated image moderation.
006
Monetization & growth — store-compliant IAP, subscriptions, ads and the in-app economy.
007
QA & DevOps — automated tests, load testing, observability and release operations.

Real results thatspeak for themselves
FantaGraal shipped on both iOS and Android as a mature, continuously-iterated product, combining a live sports companion, a full fantasy-management game and an in-app economy in one app. Delivered outcomes include:

25k+
Downloads across both stores
More than 25,000 downloads on the App Store and Google Play.
Real-time
Live scores, lineups and points
A production real-time platform that streams live scores, lineups and fantasy points during matches.
1,000+
Registrations on flagship competitions
Official tournaments and private leagues running at community scale, with thousands of registrations on flagship competitions.
4-in-1
Complete market suite
Listone, auctions, envelopes and trades in one optimized marketplace, backed by a dedicated optimization engine.
100+
Progression and monetization
100+ achievements, subscription tiers, collectible cosmetics and store-compliant purchases across both platforms.
Full-stack
Monitoring and admin tooling
An operations-ready stack with full crash, performance and analytics instrumentation, plus an in-app admin console.
Next projects



