This app was a passion project of mine intended to simplify the effort behind selecting drivers for my Formula One fantasy league. Last year I had a detailed spreadsheet where I was tracking a series of statistics that I would use to help make informed picks. This project was born out of the drive automate that spreadsheet work.
I has been looking for a good project to learn some new technologies on, and this fit the bill perfectly. Going into it I knew I would be challenged with learning some new things, and I embraced that as a core principal of the project.
I chose React as a frontend framework to build Honey Badger with as I wanted to focus on strengthening my skills with the tool. I spent a good deal of time thinking through the component architecture and refactoring as I progressed through the project and learned more.
Keeping in line with the goal of learning new technologies, I leveraged Vite as a bundler and dev environment, and PostCSS to handle my styles. Both offering improvements over older, more familiar tools I could have chosen.
Most of the data in the app is retrieved from an API, and in order to respect their rate limits I had to build an API layer which interacts with the API and caches the results in my environment. This was a new process for me, and had me learning how to leverage cron jobs to be able to set and forget it. Additionally, the Practice results were not available by API, so I learned how to scrape websites with PHP in order to automate the retrieval of the Practice scoring tables.
Overall, this project has been a very rewarding learning experience.
I’ll be happy to report the spreadsheets are gone and I have been using the tool alone to help make fantasy picks over the last 2 races. And it’s pretty good at predicting results too. It correctly predicted the top 3 positions of the Australian GP last night.
I’ve got some idea for future iterations, such as providing the ability to look at past and future races. But for now the tool is exactly what I needed it to be, and afforded me a valuable opportunity to race ahead with some new skills.