While you're here

Two things worth a click

This site is a side quest. The day job, and the bigger project, live here.

Your own data

Get this treatment for your life

Football Atlas crunches squads and leagues. myanalytics.tech does the same for your data: Maps, Spotify, Chess.com, WhatsApp. Plug it in and watch the patterns surface.

Explore myanalytics.tech →
Work with me

Need something like this built?

Automations, custom internal tools, scrapers, dashboards, Looker Studio reporting that people actually open: that's what I do. If there's a tool or a dashboard you wish existed, let's build it.

Start a conversation →
Methodology

How it's all made

Everything here comes from public data. No insider feeds, no magic, just scraping, cleaning, and a lot of opinionated charting.

Where does the data come from?
Two sources, two pages. The World Cup uses official tournament squad lists from Wikipedia for every edition from 1998 to 2026: every called-up player and the club they were at. The Leagues uses player and minutes data from FBRef / Sports Reference for the 2024–25 season across 27 leagues, plus population figures from the UN World Population Prospects 2024.
What does “a player still in the tournament” mean?
For the World Cup, each player carries the furthest round their national team reached. When you pick a round, say the Round of 16, you're seeing every player whose country made it at least that far. It's measured at the squad level: if a nation goes through, its whole squad goes through with it, starters and benchwarmers alike.
Why is a club filed under a particular country?
Each club is tagged with the country of its domestic league, which is how the treemaps and tables group players by where they actually earn a living. The mapping is built from the league each club plays in, with a layer of manual corrections for naming quirks (think “Internazionale” vs “Inter Milan”, or clubs that have moved between divisions).
Is it up to date?
The 2026 World Cup is updated by hand, round by round, as teams qualify or go home. Other editions are final. The Leagues page is a snapshot of the 2024–25 season. So if a result just happened, give it a day or two to land here.
What are the limitations?
A few worth knowing: World Cup figures count squad members, not minutes played: a third-choice keeper counts the same as the captain. Some charts show a “top N” and bucket the rest into “others”, so very long tails get compressed. And club-country tagging, while heavily checked, isn't bulletproof for obscure clubs. It's a map, not a microscope.
Can I reuse the data?
Yes: both pages let you download the raw player-level CSV. All I ask is a credit: link back to footballatlas.club wherever it shows up, whether that's a chart, an article, or a post. Fair's fair.
What's it built with?
Vanilla JavaScript and D3.js, each page a single self-contained HTML file. No framework, no build step, no tracking. The data is scraped and cleaned with Python. Built with Claude Code as a copilot, from the scraping to the app to the design, with every detail shaped by hand along the way.
Contact

Drop me a line

A project, a question about the data, or just a bit of feedback: it all lands in my inbox. Only your email and a message are required.