Edge — Kaili Miyamoto
← Work Edge Next →
Edge Edge · Self-initiated build

Betting smart took hours. Edge does it before the first game.

A daily board that prices every MLB game against the book — and says so when there's nothing worth taking. College football and the NFL next.

Role
Designer + Builder
Timeline
2026 — ongoing
Type
Personal build · Sports betting
Stack
Figma · Claude Code · Vercel
Open the live app
The ask

It started as a group chat problem.

My friends bet on MLB every day. They weren't asking for more data — they wanted someone to just tell them which bets were worth taking.

They kept bugging me about it. So I built it.

M T J
the group chat
4 people
Today 6:12 PM
{{ m.av }}
{{ m.who }} {{ m.text }}
Delivered
iMessage {{ draft }}
The problem

Hours of research still don't tell you if a bet is worth taking.

You can read every stat on a game and still be guessing, because a sportsbook never shows you the one number that matters.

What the book shows
−156
A price. Reads like a favorite, tells you nothing about whether it's priced right.
What it actually means
60.9%
The implied chance of winning — with the house cut already baked in.
What nobody shows you
the gap
Between that number and an honest estimate. That gap is the entire bet — and it's the thing no book will ever print.
Two decisions

Do the work for them — then show every step.

01

A number on every game, not just the ones we like

Every game on the slate gets our number next to the book's, ranked by the gap between them. Anything clearing the bar carries a quarter-Kelly stake. Most days that's one or two. Often it's none, and the board says so rather than filling the space.

MLB {{ s.rankLabel }}
{{ s.mark }}
{{ s.name }}
{{ s.meta }}
{{ s.tier }} {{ s.edge }} {{ s.units }}
02

Every number says why

Every row opens into plain sentences saying why — the starters, the park, what the model checked and ignored. The full reasoning sits behind a toggle for anyone who wants to check that it adds up.

1 O
Over 8.5 runs
ATL @ NYM
−108
Strong
{{ edgeTotal }} 3u
Atlanta Braves @ New York Mets 7:10 PM ET
We make it 8.9. The book has 8.5.
{{ f.note }}
Show the full reasoning
Every game priced, live before first pitch.

An hour of scrolling odds became thirty seconds, with the reasoning attached.

dailyedges.com/picks
Open
Loading the live app…
Explore it live
Open in new tab
What happened

It answered the question early. Then it kept me honest.

My friends check it before first pitch instead of asking each other. Every pick gets graded off the final score, and I've never edited the record.

A win-loss record needs around 800 games to mean anything. Closing-line value — whether our number beats the price we bet into — needs about a hundred. Both tests were written down before the data existed, including the one I ran when a pattern turned up in the losses: every road pick, 42%, at every price. Neither cleared. Nothing changed.

Test one · 101 picks
Did our number beat the price we bet into?
36 of 101
needed better than 50 of 100
Test two · 505 games
Are we underrating home teams?
76% sure
needed 95% sure
What's next

Where it goes from here.

Sep
Add football

Four times the games, so it validates in one season instead of three.

Live
Keep measuring

Every instrument the model is judged by, including the ones that came back flat.

Ongoing
Test inputs, don’t tune

Every new signal gets a bar written down before it's measured. Five have failed that way.

Before charging
Define “it works”

Write the bar for charging while there's no money on the table, not on a hot streak.

In-product disclaimer: a simplified model for your own judgment — not advice, never a guarantee.
Takeaway

Anyone can build a model that looks right. The edge is being able to prove whether it is and doing what the answer says.

More work All projects →
{{ r.num }}
{{ r.name }}