Inspiration

With the vastly modified regulations for the 2026 season, such as more emphasis on saving energy in the cars battery, removing DRS in favor of Active Aerodynamics and Overtake Mode, etc., we identified that there would also be a vast change in the race strategies teams would have to use.

What it does

It takes many parameters such as driver stats, a constructors preseason testing statistics, weather conditions, track, and starting compound. Using these, it generates a personalized pit stop strategy for optimal conditions, variable conditions, as well as in emergency scenarios throughout the race length.

How we built it

We gathered data from preseason testing through ESPN, used the FastF1 API to gather driver specific data as well as other general race info, OpenWeather's API to identify likely weather conditions of a race at a given time of year in combination with rain probability from previous grand prix at that track, as well as Claude's API to generate a team radio message of the strategy to use. Along with all of this, we took this data, in tandem with tire compound, fuel, car weight, battery, etc. to run race sims to identify what pit stop strategies would yield the best results. We did so by running each candidate strategy strategy through Monte Carlo sims which involve running it through 500 simulations.

Challenges we ran into

Getting most of the data posed a big issue because a lot is still unknown about the 2026 cars because teams are still developing before the first race in Australia.

Accomplishments that we're proud of

We are proud of the overall final project.

What we learned

Formula 1 is a very complicated sport with this analysis heavy process of coming up with a race strategy.

What's next for PitWall

With more data through races, we can more confidently make these race strategies. They would work much better after practice rounds and qualification rounds since it gives a better picture of a cars performance at a given track.

Built With

  • anthropic-(claude)
  • anthropic-api
  • autoprefixer
  • axios
  • eslint
  • eslint-config-next
  • fastapi
  • fastf1
  • file-system-cache-(fastf1)
  • git
  • github
  • json
  • json-files-(tracks.json
  • next.js-14
  • node.js
  • not-used)
  • npm
  • numpy
  • openweather-api-(documented
  • pip
  • postcss
  • pydantic
  • python-3.11
  • python-dotenv
  • railway
  • react-18
  • recharts
  • requests
  • scipy
  • tailwindcss
  • teams.json
  • testing-data.json)
  • typescript
  • uvicorn
  • vercel
Share this project:

Updates