So since I'm starting this in the middle of the project, this post will try to catch everyone up.
I wanted to get more indepth working knowledge of some a few technologies we use at work (Playwright and MongoDB) so I decided to start a pet project. The goal of this project is to bulid an information hub for the Amateur Motocross community. Welcome to www.amateurmoto.com.
As you may know, my kids race dirt bikes, and the national championship has a qualificiation process. There are multiple levels, rules, and rankings that determine who will make it, and no good tooling to help the parents. Many just do not know how their child ranks, while other break out Google sheets and spend countless hours every week to try to figure out if their child will make it.
My solution was to aggregate the results, perform the calculations, and display the results on a webpage. Pretty simple. Use Playwright for browser automation, and MongoDB to store the results. The site is built on NextJS, which is a super cool platform built with performance in mind. This will complete the task at hand, as well as give me the knowledge I was looking to gain for work.
The site was a success!
Of course there were a few bugs, but a few parents reached out via social media to let me know, and we had a working system. The feedback was amazing! This year my youngest son made it, so while in Tennessee I spoke with a lot of other parents who were really thankful the tool was created. It was a great feeling.
After Lorettas, I decided to add more to the site. I almost always have a side project, it helps sharpen skills and is just a thing I do. I've created an iOS/Android app (Mini Moto Mechanic) that helped keep track of bike maintenance and I've created a Facebook group Norcal Youth Motocross that helps share information with the community.
So there you have it. The Loretta's tracker is the site's bread & butter, but I'm building some really cool features that will combine previous projects, as well as new ideas.
Well, back to my update.
We have added another cron job that uses the online registration systems to aggregate all of the upcoming races. This data source will feed our Race Calendar, and not require the promoters to complete another "step" to get their events listed. The race calendar is fun, as I get to plan around with React and Visualizations. I'm using d3 and the Geo package, which helps out with some of day job work as well.
The current goal is to complete the race calendar, and add the code from the "Mini Moto Mechanic" into this solution to expand the offering, continue promoting on Social Media, and upgrade the Loretta Lynn tracker before the season starts.