data analysis · visualization · sports domain
F1 Data App
A published web application that analyses Formula 1 races and qualifying sessions from the public Ergast and FastF1 APIs: the grid, lap times, position evolution and pace distribution.
- Role
- Author
- Period
- March - August 2024
- Status
- shipped
- Visibility
- public repository
What it is
A web application that takes public Formula 1 data and turns it into something you can look at: the starting grid, the qualifying times, how the order changed lap by lap, and how the pace of each car was distributed.
I built it because I wanted to know things the broadcasts do not tell you, and it ended up being the project with which I learned to fight with real public APIs.
What I learned
Public F1 data looks clean and is not. There are laps that race control voids, cars that retire mid-lap, sessions that arrive in a different format depending on the season, and gaps in the telemetry that are documented nowhere.
None of that appears in a tutorial. It appears when you are two weeks in, the view of a specific Grand Prix breaks, and you do not know why.
I also learned that the visualization that cost me the most is the one that gets used the least: the lap-by-lap position evolution explains a race better than any table, and it is not the one people reach for first.
What I would not do the same way
Versioning cache/ and data/. The repository weighs 732 MB because of data that can be downloaded again, and a public repository that size is a bad signal on a profile, regardless of what it contains.
And leaving it as a notebook. I turned it into an application and did not give it a single test, because “it is just a demo”. It now has two-year-old dependencies and I do not know whether it starts without touching anything, which is exactly what happens when a demo is not cared for.