Personal project · Built in the open
The number you missed last night.
While you sleep, the games get played and millions of records pile up that nobody looks at. Every morning this sends a short read on what the numbers left behind — no filler, no hot takes, no three paragraphs of setup before you reach a fact.
- Distance
- 0ft
- Exit velo
- 0mph
- Launch angle
- 0deg
Coverage
Eight leagues, one standard.
Everything comes from each league’s official API, not from sites that copy and paste. I open one sport at a time, and I don’t announce it until the data lands clean every single day without me touching anything.
Standings
Loading…
Latest news
Loading…
Streaks
What is still running.
Three streaks that were alive when the last out was recorded yesterday. They refresh on their own every morning, straight from the league feed.
Method
It builds itself overnight.
There is no newsroom behind this. There is a chain of automations that runs unsupervised, and a language model that is only allowed to write down what the data already says.
The day ends
Each league’s official API is queried only once the last game is final, so no stat is left half-counted.
The noise gets cut
Out of thousands of plays, only the few that moved the needle survive: the record, the turning point, the number that looks like nothing else this season.
It gets written
A language model writes the recap under one hard rule: it cannot mention a single number that did not come back in the query.
It ships at 9
It lands in your inbox before the first coffee, short enough to read on the way up in the elevator.
Sample
This is how it lands.
Pete Alonso sent one 443 feet. The longest ball of the day came in the 5th inning against the Rays: 111 mph off the bat at a 30 degree launch angle.
It was the farthest of the 28 home runs the league produced across the day.
Daily newsletter
Start the day already knowing.
One email every morning with the most remarkable things from the night before. Free, for as long as the curiosity of the person writing it holds out.