Golden Tempo in the Belmont Stakes, NYRA Photo
James Gazzale
Back in January, I started a project that has consumed considerably more time, energy, and late-night tinkering than I originally anticipated.
I started vibe coding a horse racing betting app.
What began as a curiosity project has gradually evolved into an ongoing experiment in probability-based handicapping. Since January, I’ve spent countless hours refining pace projections, adjusting probability models, testing race simulations, and trying to answer a simple question:
Can technology help identify wagering opportunities without losing sight of the fundamentals that have driven successful handicapping for generations?
The goal was never to create a robot handicapper that magically predicts every winner.
Horse racing has been humbling smart people for centuries, and I wasn’t about to solve that puzzle with a laptop and a few prompts.
Instead, I wanted to build a tool that could evaluate races through probabilities, pace scenarios, class, form cycles, and wagering value in a way that might uncover opportunities the betting public overlooks.
Since January, nearly 200 races have been run through the app as part of the testing process.
The Belmont Stakes Racing Festival felt like the perfect measuring stick.
The festival itself ran from Wednesday through Sunday, but for purposes of this evaluation, only the 48 races conducted from Wednesday through Saturday were included. Sunday’s races were not analyzed through the app and therefore were excluded from the results.
Four days.
Forty-eight races.
Some of the deepest fields assembled all year.
Multiple Grade 1 races.
And enough uncertainty to make any aspiring app developer question his life choices.
The results were surprisingly encouraging.
Overall Results
Across the 48 races analyzed during the Belmont Stakes Racing Festival, the app placed 25 winners within its top three selections based on win probability percentage.
That’s 25 of 48 winners.
Or 52.1%.
For horseplayers, percentages matter.
This is a game where many serious bettors spend years searching for even a small edge. A five-percent improvement can be meaningful. A ten-percent edge can be significant. A twenty-percent edge can be the foundation of an entire wagering strategy.
Identifying more than half of the festival’s winners within a focused three-horse probability group is a result worth paying attention to.
Even more encouraging, eight of the 48 races were won by the app’s top-rated selection.
That’s a 16.7% strike rate from a single horse in each race across one of the most competitive racing weeks of the year.
Were there misses?
Of course.
This is horse racing.
But there were also enough successes to suggest the process is uncovering something meaningful.
The First Sign Came Early
One of the first confidence boosts arrived almost immediately.
Race 1 on Thursday featured Luminous Beauty as the app’s highest-rated horse based on win probability percentage.
When Luminous Beauty crossed the wire first and returned $10.62 to win, it served as an early reminder that probability isn’t always about identifying the shortest-priced horse.
Sometimes it’s about identifying horses whose chances are better than the public believes.
That’s where value lives.
And ultimately, that’s what the app is designed to find.
Friday’s Early Pick 3
While the individual winners were encouraging, some of the more interesting results came from the sequence wagers.
One of the simplest approaches throughout the week was using the app’s top three win-probability selections in multi-race bets.
No elaborate ticket construction.
No complicated spread-and-single strategy.
Just trusting the probabilities.
On Friday, that approach would have connected in the Early Pick 3.
Using the app’s top three win-probability horses in each of the three races would have produced a payout approaching $300 on a $27 ticket structure ($1 denomination using three horses in each leg).
Not bad for a relatively straightforward approach.
More importantly, it reinforced one of the central ideas behind the project.
You don’t always need to identify the winner before the race.
Sometimes you simply need to identify the right collection of contenders.
Saturday Was the Breakout Performance
If Wednesday and Thursday provided encouraging signs and Friday offered validation, Saturday felt like the strongest performance of the week.
On Belmont Stakes Day itself, the app placed nine winners within its top three win-probability selections.
Nine winners.
On one of the most competitive racing cards of the entire year.
Two of those winners were also the app’s top-rated selections.
Again, perfection isn’t the objective.
Horse racing doesn’t reward perfection.
It rewards finding enough winners and enough value to create profitable opportunities over time.
Saturday also produced two particularly impressive Pick 3 sequences.
The first came in Races 7, 8, and 9.
Using the app’s top three win-probability horses in each leg would have connected for a Pick 3 worth approximately $140 on a $27 ticket.
Later in the afternoon, the app delivered another successful sequence in Races 11, 12, and 13.
That Pick 3 returned approximately $146 using the same $27 structure.
What made that second sequence especially satisfying was the way it ended.
The final leg was the Belmont Stakes itself.
And among the app’s top three contenders based on win probability percentage was Kentucky Derby winner Golden Tempo.
In one of the most anticipated races of the festival, the app successfully identified Golden Tempo as a major contender and helped complete the sequence.
As endings go, that’s a pretty good one.
What I’ve Learned After Nearly 200 Races
The most interesting takeaway from this project isn’t that the app found winners.
Good handicappers find winners every day.
The more valuable lesson is how often the probability rankings created opportunities even when the top selection didn’t win.
That’s an important distinction.
Horseplayers frequently become obsessed with predicting the winner.
The wagering windows reward something slightly different.
They reward identifying value.
They reward understanding probability.
They reward finding horses whose chances are greater than the public perception reflected in the odds.
And they reward building tickets around logical groups of contenders rather than chasing certainty in a game that rarely offers any.
The app isn’t perfect.
Trust me, there were plenty of races during Belmont week that made sure I remembered that.
But after nearly six months of development, approximately 200 races worth of testing, and a strong showing during one of the premier racing festivals in North America, it’s difficult not to be optimistic about where the project is headed.
The Bottom Line
The Belmont Stakes Racing Festival wasn’t intended to be a victory lap.
It was a stress test.
A real-world evaluation against some of the toughest races and deepest fields of the season.
Over four days and 48 races, the app identified 25 winners (52.1%) within its top three win-probability selections.
Eight winners (16.7%) were the app’s top-rated horse.
It uncovered a $10.62 winner in Luminous Beauty.
It connected with a nearly $300 Early Pick 3 on Friday.
It hit two additional Pick 3 sequences on Saturday worth approximately $140 and $146.
And it concluded the week by identifying Belmont Stakes contender Golden Tempo among its top three win-probability runners.
Are those numbers perfect?
Not even close.
But horseplayers know perfection isn’t the goal.
Finding a 20% edge in this game can be extremely valuable. Identifying more than half of the winners during one of the year’s most competitive racing festivals suggests the process may be finding some of those edges.
The sample size is still growing.
The app is still evolving.
And there are still plenty of lessons to learn.
But after six months of development, nearly 200 races of testing, and a successful Belmont Stakes Racing Festival stress test, I’m more excited about where this project is headed than where it started.
For something born from equal parts curiosity, handicapping, and a little bit of vibe coding, that’s a pretty good place to be.
