Jogo Bonito
Cross-Era Football Simulator
Pick two eras. Pick the XI. See how the match might have gone.

- 2,002Team editions
- 2010–2026Seasons covered
- 10,000Matches per experiment
An interactive football simulator that matches teams from different eras — 2023 Manchester City against 2016 Real Madrid. Explore historical squads, pick starting lineups and tactics, replay simulated matches, and compare outcomes across thousands of simulations.
What it does
- 2,002 team editions spanning 2010–2026 across Europe's top five leagues, the World Cup, Euros, and Copa América.
- Historical player rosters and recorded coach snapshots.
- Custom starting XIs, six formations, five tactical approaches, and home or neutral venues.
- Interactive match replays, shot maps, momentum charts, expected goals, and player reports.
- Scoreline probability grids and experiments of up to 10,000 simulated matches.
- Real club badges, national flags, team-specific chart colours, and system-aware light/dark mode.
- Shareable matchups, locally saved fixtures, and CSV/JSON exports.
Inside the app




How it works
Each team edition carries the scoring and conceding rates it actually recorded that season. A matchup turns those rates into per-side goal expectations, then plays them out as a seeded simulation — the same seed always replays the same match, minute for minute.
Alongside the replay, a Poisson model turns the same goal expectations into a scoreline probability grid, so a single result can be read against the full distribution it came from. Batch experiments sample that distribution up to 10,000 times to show how often each outcome turns up.
Python pipelines assemble the squad, coach, and season-results data into static JSON. The front end is plain ES modules with hand-written SVG for every chart — no framework, no runtime dependencies.
JavaScript ES modules, HTML, CSS, SVG visualizations, Python data pipelines, and Vercel hosting.
- JavaScript
- HTML5
- CSS
- Python
- Vercel
A note on the numbersEvery result is a hypothetical simulation built from historical rates. Jogo Bonito has no live match feed, makes no calibrated prediction claims, uses no machine-learned modelling, and does not rate individual players — tactical approaches are experimental multipliers, not learned tactics.
Have a matchup in mind?
Try the Simulator