world-cup-fantasy
Fantasy League Tracker
Four manager league, tracked every round
- Python
- FastAPI
- React
What it is
A tracker for the fantasy World Cup league I play with three friends. It pulls the real standings after every round and charts how each of us moves up and down across the whole tournament.
Who it helped
The league is four of us, and the argument was always the same. Whoever is winning insists they were always winning, and everyone else insists they were robbed by one bad round. The official fantasy page shows the table as it is right now and nothing about how anyone got there, so nobody could ever settle it.
This keeps the history. It collects everyone's points after each round and draws all four of us as lines across the tournament, so you can see the exact week the lead changed hands and the round where somebody's captain did nothing. That is the bit the group chat actually wanted. It turned "I was doing fine until..." into something you can point at.
It also scores squads using real team strength and player position data, which is useful before a round rather than after. You can see which of your players are carrying you and which ones you are keeping out of loyalty.
What went well
Treating someone else's server as something that will let you down. The data comes from a public FIFA endpoint that owes me nothing, so every request retries with a growing wait when it gets rate limited or errors, and every response is saved to disk. A tournament tracker that dies in the middle of the tournament because a server got busy is not a tracker. It kept working on days when the site it reads from was struggling.
What's next
Keep the borrowed endpoint at arm's length. It is an undocumented internal API that can change shape or disappear without warning, and the scoring logic calls it directly today, which means I cannot test my own maths without an internet connection. Putting it behind a small interface with saved sample responses would make the part that is genuinely mine testable on its own.