Work / 06

Sports data · Gravity racing

OnSprint

Race intelligence from timing PDFs

Client
OnSprint (our own product)
Role
Founder: product, design and engineering
OnSprint sector comparison dashboard

Official race timing is published as PDFs. OnSprint parses them into rider-level sector data and makes it comparable across racers, races and venues.

Context

In downhill and enduro racing, split times decide everything, but they are locked in ChronoRace and UCI result PDFs. Comparing a rider’s sectors across a season means copying numbers by hand.

What we built

  • A parsing pipeline that runs whenever a results PDF lands in storage, built on Firebase Functions
  • Racers, Races, Venues and Compare views for sector-by-sector analysis
  • A corpus of 1,607 source events, 16,595 runs, 62,757 sectors and 3,354 riders

Why it matters

The hard part was not the interface. It was making messy, inconsistent source documents reliable enough to compare. That is the same problem most AI-era products face: the model or the UI is the easy 20%, the data plumbing is the rest.

Have a product at a similar stage?

Book a call