FANTASY90

Squad Optimizer

Solve your squad, in the browser

This is where your ILP optimizer lands — same logic as your Python tool (budget, positions, nationality caps, multi-gameweek transfers, locks/exclusions, 3 diverse results), running as WebAssembly with no server. Build in progress — here's the plan and where things stand.

Build roadmap

01
Data pages Done

Team Predictions live with your real data. Player xPts ready for your weekly CSV.

02
Solver engine Next

Wire in HiGHS (WebAssembly build) — the same solver family behind scipy.optimize.milp — so squad-picking runs client-side at full strength, no size limits from a lightweight JS solver.

03
Full rule parity

Locked/excluded players, nationality caps, transfer limits between gameweeks, chip logic, and the top-3 diverse results your desktop tool produces.

Config preview

These controls map directly to your script's parameters — shown here so you can confirm the shape before the solver goes live.

Disabled until the solver is wired up — nothing here runs yet.

Check your player pool

Same file you'd use on the Player xPts page. Upload it here to confirm it's shaped correctly for the optimizer (Player, POS, Price, Nationality, plus M1…M38 xPts columns) — this validates format now, ahead of the solver landing.

🧮
Drop your player CSV here, or click to choose a file