Quiniela G — En Bendiciones
Snapshot · Jul 27, 2026- 845 pts
Cefi
Ernesto Vogeler
- 818 pts
Yorch FC
Jorde Mosquera
- 811 pts
Arabian FC
Francisco Perfetti
- 791 pts
Athletic Tucacas
Francisco Esteller
- 785 pts
Chiripiorka FC
Gian Cannata
+78 more teams · 74 players total
Prode FIFA 2026
A World Cup prediction pool, played by 74 real people, start to finish.
A quiniela (prediction pool) web app for the FIFA 2026 World Cup (USA · Canada · Mexico), run in production for real private leagues of friends and family for the entire tournament. Every player predicts match results, group standings, the knockout bracket, and 4 individual awards; a per-league configurable scoring engine calculates a live leaderboard.
Who used it
74 real players, 83 teams, in private leagues that ran live for the whole 2026 World Cup — not a demo, not seed data.
The problem
A World Cup quiniela lives or dies on the detail: 12 groups with tiebreaks FIFA itself sometimes can't resolve by computable criteria, third-place finishers seeded by an official algorithm, and a knockout bracket that depends on what each player predicted rather than a fixed tree. Prode FIFA 2026 answers that for real private leagues — 3 roles, any number of independent leagues with their own scoring, and an engine that recalculates the entire standings table every time an official result is loaded.
Built with
What went into this
- A knockout-bracket resolution engine that builds the full bracket (Round of 32 → Final) from each player's own predictions — no fixed teams, and the official FIFA Annex C algorithm for seeding the best third-place finishers
- Group tiebreaks that follow the real FIFA rules — points, head-to-head goal difference, head-to-head goals for, overall goal difference, overall goals for — with manual player input only when even those criteria can't resolve it
- A per-league configurable scoring engine, optimized to load the World Cup's shared context once per recalculation instead of once per team, avoiding an N+1 blowup in large leagues
- Local-first predictions-in-progress, saved to localStorage and only persisted to the database on submit — the same architecture that later made a read-only demo possible without touching any real business logic
- 397 Vitest tests over the actual business logic: the scoring engine, bracket resolution, FIFA tiebreaks, and server actions
How it fits together
Predictions-in-progress live in localStorage and only sync to the database on submit — freely editable without hitting the database on every keystroke, and the piece that made it possible to later build a read-only demo without touching any real business logic. The scoring engine loads the World Cup's shared context once per recalculation rather than once per team, avoiding an N+1 blowup in large leagues; and the knockout bracket has no fixed teams — each player sees their own bracket, resolved from what they themselves predicted, including the official FIFA algorithm for seeding third-place finishers.
A guided, 15-step tour, 100% read-only against the real production database — nothing you enter is ever saved.