Building us-racing

2026.JUL.31 · data · side-project · horse-racing

I built us-racing because I wanted to beat the toughest game in the world. It’s primarily for me for now, but I might sell it one day.

What it does

It’s a Bayesian handicapping workbench for US thoroughbred racing. The homepage sends you to today’s cards, where every race is scored by a speed-figure model that strips out the track variant, distance, pace, and connections, then a second model turns those figures into win probabilities you can compare to the betting board.

Each card has four views — Beginner, Intermediate, Expert, Quant — so you can move from a plain-English $100 wager plan down to the raw model primitives (α, σα, κJ, κT, model probability, edge, EV per $1, Kelly fraction). Same race, four lenses.

How it’s built

The most interesting piece technically is the speed figures. I’m building them with MCMC methods — a Bayesian approach to figuring out how fast a horse actually ran on a given day, after accounting for track condition, distance, and pace. It’s the same family of techniques used in a lot of modern sports analytics, and for a sport with this much variance per race it fits the problem unusually well.

What I’d do differently

[fill in: either the bug that still annoys you, the architecture choice you’d redo, or the feature you wish you’d built from day one. Even one sentence is enough.]


Live at us-racing.vercel.app. [fill in: source on GitHub at ___ if it’s open, otherwise delete this sentence.]

← back to /blog