MadTracker
Track cycling — racing bicycles on a velodrome — is pretty niche. Even more-so is software to score such events. For a few years now my friend Glenn OConner has been volunteering at Mad Track Arena in Detroit using custom Excel sheets to handling the race scoring and scoreboard display. Out for a ride one evening he and I got to talking about the complexities and complications of the scoring work and, looking for another project, I realized I might be able to help a bit. He’s done a great job making it work, but we both thought a new tool might be nicer.
After a couple weeks and around 100 hours of of spare-time work (mostly autumn evenings and coffee-sipping mornings on rainy vacation days), live testing at the track during races and practices, and extensive experimentation on our personal computers, I’m happy to announce MadTracker.
The project is currently hosted on GitHub with binary/installer downloads here the overall project here: c0nsumer/madtracker
Building on Glenn’s (and before that Kevin Morrison’s) work with spreadsheets I’ve put together a new cross-platform (Windows, macOS, and Linux) application that makes scoring of events a bit easier. Prior to the racing the scorer defines the event, roster, and races, importing or reusing previous settings. Then as the race happens the scorer clicks the order in which riders finish, are eliminated, lap the field, are penalized, etc, and MadTracker does the rest. It calculates the score, displays it on the scoreboard (for the riders and spectators) and generates printable (PDF) results and CSV that get uploaded directly to USAC.
Under the hood it works by having a rules engine that implements (formalizes) both the current-generation USA Cycling Rulebook for track racing (Version 8•25, Chapters 1 and 2) and a handful of other club race formats. It takes the scorer’s input over time (finish order, laps, relegation/penalties, etc), runs it through the rules engine, and that calculates the scores and results. This is done on a per-race basis and settings — things that change between races such as people’s category/age/etc — are saved as they were when the race was scored. It’s all kept in an SQLite database with a documented schema for external parsing, archiving, auditing; whatever.
(Here is where I need to mention that this is not a USA Cycling product, nor is it vetted nor approved nor supported by them. It aims to align with their scoring methodology — because that’s what many venues including Mad Track Arena use — but it claims no authority or relation.)
I’m really happy with where this idea went. I gained experience with software development and architecture (Product Manager-type stuff), Glenn and the Mad Track Arena has a new tool to use that will be easier to pass on to others, and the riders and audience get a new scoreboard that’s easier for everyone to see. And the world has an openly-licensed scoring system for track racing.
Glenn did a ton of testing, Kevin offered a bunch of really helpful user interface and scoring process suggestions, and riders from the track shared feedback. If I didn’t have this support and input it wouldn’t have been possible to get this far.
So where next? I’ve got a few ideas, specifically around scoring a couple other race types (it currently doesn’t do time trials or any sort of formal series/brackets), offering an overlay for the live stream (chroma key’d third monitor out, maybe an OBS overlay), and of course any tweaks or bug fixes that come up. And now that it’s out there on GitHub maybe I’ll get some PRs or bug reports or something… Maybe it’ll get used at some other velodromes in the future…?
For now I’m happy with where it’s at, and I’d like to work on some other things for a bit. Regardless, it’s pretty cool to make something that solves a problem and makes a little slice of the world a bit nicer.
(And no, I’m not looking at adding anything timing-wise, like a function to actually keep track of who crossed the line first and when. That’s a very complicated thing that I’m not interested in, and it’s what the officials already do well. MadTracker does a good job tabulating and calculating and I want to keep it at that.)
Note: I’m aware of the music composition software also named MadTracker, but have accepted the name collision because the two pieces of software are very different and the use of mine will be extremely limited in scope. With the name being a homage to Mad Track Cycling and our local velodrome and tracking races there I also rather like the name, so I’m sticking with it.



