Rank every group, choose knockout winners, pick the podium and settle it with transparent scoring. Private picks, leaderboard drama, bragging rights only.
Demo score vs demo fallback result
Step 1
Demo Team A1
Advances to knockout bracket
Demo Team A2
Advances to knockout bracket
Demo Team A3
3rd place group score
Demo Team A4
4th place group score
Demo Team B1
Advances to knockout bracket
Demo Team B2
Advances to knockout bracket
Demo Team B3
3rd place group score
Demo Team B4
4th place group score
Demo Team C1
Advances to knockout bracket
Demo Team C2
Advances to knockout bracket
Demo Team C3
3rd place group score
Demo Team C4
4th place group score
Demo Team D1
Advances to knockout bracket
Demo Team D2
Advances to knockout bracket
Demo Team D3
3rd place group score
Demo Team D4
4th place group score
Demo Team E1
Advances to knockout bracket
Demo Team E2
Advances to knockout bracket
Demo Team E3
3rd place group score
Demo Team E4
4th place group score
Demo Team F1
Advances to knockout bracket
Demo Team F2
Advances to knockout bracket
Demo Team F3
3rd place group score
Demo Team F4
4th place group score
Demo Team G1
Advances to knockout bracket
Demo Team G2
Advances to knockout bracket
Demo Team G3
3rd place group score
Demo Team G4
4th place group score
Demo Team H1
Advances to knockout bracket
Demo Team H2
Advances to knockout bracket
Demo Team H3
3rd place group score
Demo Team H4
4th place group score
Step 2
Group winners and runners-up are inserted automatically from the active data provider. Later rounds stay locked until the previous winners are selected.
A1 vs B2
C1 vs D2
E1 vs F2
G1 vs H2
B1 vs A2
D1 vs C2
F1 vs E2
H1 vs G2
R16 1 winner vs R16 2 winner
R16 3 winner vs R16 4 winner
R16 5 winner vs R16 6 winner
R16 7 winner vs R16 8 winner
Quarter-final winners
Quarter-final winners
World Cup final
Step 3
Winner
Awaiting winnerRunner-up
Awaiting winnerThird-place match (semi-final losers only)
3rd
Awaiting winner4th
Awaiting winnerStep 4
Demo fallback data — not official FIFA data
The scoring engine consumes a provider-neutral TournamentData object. The production adapter must hydrate that object from official FIFA groups, teams, fixtures and results; squads and lineups can be added through the same provider boundary.
Looks logically consistent so far.