DASHBOARD

UNDER THE HOOD

THE MATH BEHIND
THE MATCH.

THE MODEL

Eleven great cards are only the starting point.

1,832 TOURNAMENT CARDS924 PLAYER IDENTITIES15 WORLD CUP CHAMPIONS1 SEEDED ENGINE

TEAM MODEL

A TEAM IS A SYSTEM, NOT A SUM.

Quality is only the baseline. The engine evaluates how the XI works together.

INTERACTIVE MODEL

Pick a variable.

zteam=[]
q
TOURNAMENT QUALITY

Start with the version that actually played.

A card represents one player at one World Cup. That tournament version is the baseline, instead of compressing an entire career into one number.

WHY IT MATTERSSets the baseline before team context is applied.

POSITION

A GREAT PLAYER IN THE WRONG ROLE SHOULD COST YOU.

A player’s quality depends on where you use them. Out of position, less of that quality is usable.

RAW XIQraw
POSITION COSTΣ cost(pi)
=
USABLE QUALITYQuse

ERA TRANSLATION

1970 → 2026 IS NOT THE SAME AS 2026 → 1970.

Era changes the environment around a player. Translating forward and backward are different problems.

1970SOURCE
2026ENVIRONMENT
E(19702026)E(20261970)

MANAGER

CHANGE THE MANAGER. CHANGE THE TEAM.

The same XI can play differently under a different manager. Tactics, balance and game management reshape how the team behaves.

TEAM STATEz
MANAGER TRANSFORMOFF · DEF · TACTICS · GAME MANAGEMENT
z′

MATCH ENGINE

RANDOM, BUT REPRODUCIBLE.

Football needs uncertainty. The engine still needs to be reproducible. A seed gives it both.

RESULT=F(team A, team B, managers, era, state, σ)
σ is the simulation seedfootball inputs first, seeded randomness after
01PLAYERSTournament versions
02FITPosition and structure
03TEAMChemistry and balance
04CONTEXTManager and era
05STATEScore, time, fatigue
06SEEDReproducible variance
u₁, u₂, …, uₙ=PRNG(σ)
TRY THE SEED

Same seed. Same sequence.

u10.836571
u20.726856
u30.305232
u40.190750
u50.274778
u60.668815

MATCH STATE

THE NEXT EVENT DEPENDS ON WHAT IS TRUE RIGHT NOW.

The match keeps changing after kickoff. Score, time, shots, xG, cards, fatigue and substitutions reshape what matters next.

SCORE0–0
MINUTE20'

At 20', the match is still open. Score and time shape what the engine values next.

SCOREIN FOCUS
MINUTEIN FOCUS
POSSESSIONIN FOCUS
SHOTSIN FOCUS
xGIN STATE
CARDSIN STATE
FATIGUEIN STATE
SUBSTITUTIONSIN STATE
CURRENT STATEst
ENGINEG(·)
NEXT EVENTet+1
NEW STATEst+1
THE RULE

A stronger side can move the probabilities. It never gets promised a win.

BENCH

THE BENCH CHANGES WITH THE MATCH.

The right substitute changes with the match. Score, time, fatigue, fit and manager behavior determine what the bench needs to solve next.

SUBSTITUTION DECISIONB(st, manager, bench, fit, fatigue, σ)
CHASEPROTECTFRESH LEGSFITEXTRA TIME

TESTING

IF THE MODEL CHANGES, THE TESTS SHOULD CATCH IT.

Reproducible simulation makes regressions easier to isolate. Historical data is validated before release, with Vitest and Playwright covering simulation, tournament progression and product integrity.

SIMULATIONSEEDED

Same inputs can reproduce the same path when a regression needs to be isolated.

DATAVALIDATED

Duplicate identities, unsupported records and asset mismatches are caught before release.

PRODUCT47 TEST FILES

Vitest and Playwright cover the engine, progression and product integrity.

DELIVERY

FAST MATH STILL NEEDS A FAST PRODUCT.

The game runs in Next.js and TypeScript. Player assets move through S3 and CloudFront, while Vercel and Cloudflare handle the product around the simulator.

PRODUCTNEXT.JS + TYPESCRIPT
ENGINESTATE + SIMULATION
ASSETSS3 + CLOUDFRONT
DELIVERYVERCEL + CLOUDFLARE
200 / 200 TEST REQUESTS86 ms MEDIAN RESPONSE START95% UNDER 374 ms

THE IDEA

BUILD THE BETTER XI. GET THE BETTER CHANCE. NOT A GUARANTEED WIN.

DECISIONS MATTER

Draft, roles, manager, era and bench change the match.

UPSETS STAY ALIVE

Better teams get better odds. They do not get guaranteed wins.

RESULTS CAN BE REPLAYED

A seed can reproduce the same simulation path.

ENOUGH THEORY

BUILD AN XI.

Then see if the model agrees with you.

START DRAFT
1,832 CARDS · 15 CHAMPIONS · ONE ENGINE