Follow the 2026 FIFA World Cup in one place — a live bracket and group tables, three interactive maps, match-day weather, a live score ticker, a Golden Boot tracker, and a form-aware Elo prediction engine — with a steerable projected bracket and an AI pundit panel — all shown in your device's local time.
Built with Flask + vanilla JS and Leaflet — no heavy front-end framework.
Round of 32 → Final in FIFA's two-pathway layout, with feeder group tables alongside. Slots resolve as results land.
All 12 groups with live points, GF/GD and full FIFA tiebreakers — top-2 and in-contention thirds highlighted.
A day slider lights up each day's venues with country-flag pins and click-through match detail.
Trace any team's journey with date-gradient pins, gradient path lines, directional arrows and per-match kickoff weather.
Live radar, isobars and advisories; temperature + precipitation forecasts; historical conditions for past games. °F/°C toggle and a national heat map.
When a match is in progress, the live score — and the minute of play as of the last check — shows up on every page, refreshed every 5 minutes.
An Elo Monte-Carlo simulator — with form-adjusting ratings and a Dixon–Coles draw model — projects title odds, qualification odds and a single consistent projected bracket, depth-selectable from R32 to the Final.
Steer the projected knockouts: click any team to force it through, and the bracket re-walks every slot it feeds — or roll the whole bracket back to an earlier matchday and re-forecast from there.
The top-scorer race — penalties count, own goals don't — with a projected whole-goal range of additional goals scaled by how far each striker's team is simulated to go.
Team ratings start from a prior and adapt to in-tournament results — a live board of the biggest risers and fallers.
Every projection is explained: an in-app popup documents the Elo, Poisson goals, draw correction and Monte-Carlo — assumptions and limits included.
A MiroFish-inspired panel of Claude personas debates the race, grounded in the model's numbers — with built-in cost controls.
Ask any free-form scenario question and get a mapped tree of branches — probabilities, consequences and who benefits — grounded in the played results and the model's numbers.
The whole dashboard runs a second edition: Brazil 2027 mounts at /women with its own data, ratings and branding — every page lights up as fixtures land.
The dashboard grew in self-contained rounds, each shipped onto the live deployment.
Schedule, teams, groups and venues seeded from openfootball; a 15-minute cron pulls scores, recomputes standings and resolves the bracket. Bracket, groups and daily map go live.
Live score enrichment wired into the updater, keeping the keyless fallback intact.
Pins show the two competing nations' flags; time, stadium and stage on click.
Pick teams from a checklist and plot their matches, color-coded by date.
Gradient path lines, directional arrows and whole-pin date coloring.
Live conditions for today's games, forecasts ahead, and historical weather for matches already played.
°F/°C toggle, a national temperature heat map, a numeric legend, plus humidity and dewpoint.
In-progress scores surface on every page.
Thousands of simulations project title odds and a likely bracket, with an Actual/Projected toggle and depth selector.
Claude personas debate the race, grounded in the stats, with daily/monthly caps and a reserve to protect the shared key.
The projected bracket became internally consistent — no team in two places at once — with a popup documenting the whole model for review.
A Dixon–Coles draw correction for realism, and dynamic Elo that adapts to results — surfaced as a Form tracker of risers and fallers.
Kickoff times and the "today" schedule now follow each device's own timezone.
In Projected mode, click any team to force it through its match — the bracket re-walks every slot it feeds, so you can play out what-if runs. Resolved Round-of-32 teams are pickable too, with a lock badge and a one-tap "Reset picks". Per-slot confidence stays the honest simulation marginal.
A top-scorer race off the keyless goals feed — penalties count, own goals don't — flagging everyone within two of the lead as in contention. Each contender gets a projected whole-goal range of additional goals, scaled by how deep their team is simulated to go. Re-rank by current goals or projected finish.
The follow-a-team map now shows each match's kickoff weather too — actual conditions for games played, forecast for those upcoming — sharing one formatter with the daily map.
Live scores refresh every 5 minutes, and the ticker shows the minute of play as of the most recent check — football-data's own minute when present, otherwise estimated from kickoff.
Open Graph / Twitter Card metadata and a 1200×630 preview image on both the app and this page, so a pasted link unfurls in Discord, iMessage, Slack, WhatsApp and X.
Knockout ties are decided by the full result from every data source, the shootout winner is named on match cards and the ticker, extra time gets its own live badge, and a match is presumed live once its scheduled kickoff passes.
Covered vs open-air stadiums noted, upcoming days show their match-ups, a TODAY button jumps the slider home, live weather rolls over at 2am local like the rest of the site, and overlays say when they're loading — or failed.
The free-form half of the MiroFish idea: ask a scenario question and get a branch map of outcomes — probabilities, consequences, who benefits — grounded in the played results and the model, generated in the background under the same cost controls as the pundits.
Teams that can no longer win the title, and Golden Boot contenders who can no longer catch the leader, are struck through automatically as results land.
An editions abstraction pulls everything tournament-specific — database, data feeds, venues, Elo priors, branding — out of the core, and the whole app (pages, updater, prediction engine, pundits) is threaded through it.
A matchday picker rewinds the projected bracket to any earlier point: later results are stripped from the working view (never the database), the dynamic Elo rewinds with them, and settled matches unlock so you can steer the replay.
Brazil 2027 is seeded and verified end-to-end at /women — provisional fixtures, flags and branding included — while the completed men's 2026 tournament stays on record at the site root.
Lightweight by design, running directly on a DigitalOcean droplet.
Live scores via football-data.org (free tier, slightly delayed) with a keyless openfootball fallback. Elo ratings start from an early-2026 snapshot and update from in-tournament results. AI pundit takes are model-grounded commentary — entertainment, not predictions of record.