Case study · Flagship Product
Odds on Deck
Sports-odds research platform
Founder & Full-Stack Developer2024 — Present
At a glance/ summary
- Problem
- Odds move constantly and differ between books, and most tools either lock data behind expensive APIs or never verify whether a pick actually won. I wanted a fast, honest research surface that stays cheap to run and holds itself accountable to real results.
- My role
- Founder & Full-Stack Developer
- Outcome
- A live platform that surfaces scored props each day with a transparent, verifiable track record, running at a fraction of the naive API cost.
Overview
Odds on Deck compares betting lines from more than ten sportsbooks across MLB, NFL, and NHL, converts them into vig-free market probabilities, and tracks how flagged props resolve against official results — so research is based on measured outcomes rather than marketing claims.
Role & ownership
Sole founder and developer. I own the data model, ingestion, caching strategy, API budget, front-end, and deployment.
Constraints
- High-volume odds data under strict third-party API cost limits
- Games and lines change in real time, so data freshness matters
- Single-maintainer project — everything has to stay simple enough to run alone
Technical approach
A unified data model normalizes MLB, NFL, and NHL odds into one shape. A game-time-aware cache batches requests and only refetches when lines are likely to have moved, and scheduled jobs pull official results to grade tracked props automatically.
Key decisions
- Batched fetches plus a game-time-aware prop cache cut third-party API costs by roughly 90%
- One normalized schema across three leagues instead of per-league special cases
- Automated result validation against official box scores so tracked props grade themselves
- Vig removed from book lines to show a fair-market probability, not a marketing number
- Kept the stack JavaScript-first (Next.js / React) for fast solo iteration
Results
- Approximately 90% reduction in third-party API usage costs through batched requests and game-time-aware caching
- Unified MLB / NFL / NHL coverage from 10+ sportsbooks
- Automated, auditable result validation
Selected screens
(opens the full screenshot in a new tab)
(opens the full screenshot in a new tab)
(opens the full screenshot in a new tab)
(opens the full screenshot in a new tab)Stack
Next.jsReactJavaScriptSupabase / PostgreSQLPrismaTailwindREST APIsCron jobs