Pedal Prix is an automated timing system for Concordia College Racing. I built it in collaboration with my dad, using React and Firebase. The assocated mobile app is written in Kotlin.
The system provides both manual and automated lap timing. The manual system allows parents to record times for thier children using a mobile-friendly interface. The automated system uses GPS data from a phone in each trike to detect lap completions. This data is also used to display each trike's location on a live map.
As well as trike locations, the results dashboard displays each trike's position in the race, current rider, adjacent competitors, and recent laps. The position data is automatically scraped from the official results, removing the need to manually check multiple data sources.
The application has gone through multiple revisions and ground-up rewrites since its inception in 2018. Initially, the system only provided the manual timing interface, with the results dashboard and live update functionality introduced in 2021. Most recently, we added the live map and GPS timing system.
The website itself is built with React and Chakra UI, with charts and maps rendered using Chart.js and Mapbox, respectively. It's hosted with Firebase.
The mobile app, which is used to transmit the GPS data from the phones, is built with Kotlin.