F1 Edge
Web Application

The goal
My goal with this project was to produce a self-sustaining, full stack web application offering users a live prediction for upcoming Formula One races, as well as maintaining a historic database of F1 race data back to 2021. I had explored the concept of race predictions in an earlier project, Honey Badger, but felt that there was ample opportunity to expand on the idea by building out a full back-end and overhauling the interface. But most importantly, this initiative fit the bill as a good motivating side project to sharpen my teeth on while I learn some new web technologies.
Apart from looking and functioning like a modern web application, success here focused around the development of a back-end to manage historic race data, supporting CRUD operations to manage the data in the database as formula one events occur.
The experience
It was a remarkably satisfying and liberating experience to architect, design, and develop a full-stack application from the ground up, database migrations to delightful interactions. Once a plan was in place and documented, I began with building out the entire back-end to retrieve the data and populate the database with it. When I started the project, I wasn’t completely sure if this application would be composed of separate services, but as I explored solutions, it became apparent that Laravel and Inertia would provide me with a seamless means to build this as a monolith.
For the front-end, I used React with the MaterialUI component library, as this is a powerful and popular pairing. Robust and expandable, this provided me with a solid foundation to build a modern table-centric layout for easily parsing a great deal of tabular data.
The outcome
I’m very pleased with the outcome of this effort. I use the application every week or two to help choose drivers and teams for our fantasy F1 league. The effort was a success as the app continues to perform it’s necessary functions, retrieving and storing data, and providing algorithmic predictions, all with minimal intervention. Occasionally I’ll need to make an update if a data source changes, or between seasons as new race schedules are released, but generally the platform is very hands off and provides tremendous value to a niche audience.