- Client
- BetOptimized
- Role
- Design & Development
- Timeline
- 3 weeks
- Year
- 2025
- Category
- AI Web App
Overview
BetOptimized is a sports-odds product: Expo web, Firebase (`bet-optimized-fe922`), OpticOdds via Cloud Functions (keys never on the client), Stripe, Sentry. Surfaces include unified search, same-game parlay, plans, community, docs, and admin.
Why
Serious bettors still tab through a dozen sportsbooks. Value leaks in the time it takes to compare, and parlays get assembled on hope. BetOptimized is a sports-odds product: unified search, natural-language questions mapped to live markets, and a same-game parlay builder with math that is testable.
Relevant to any odds/data product. Keys never leave the server. OpticOdds is proxied through Cloud Functions. That is the difference between a research tool and a scraped HTML toy.
The challenge
Bettors were still checking lines across 10+ books by hand. Value leaked in the time it took to compare, and parlays were assembled on hope.
What made it hard
- Serious bettors still tab through a dozen sportsbooks.
- Natural language (“best 3-leg NBA tonight”) had to hit real markets.
- SGP math had to be testable, not a screenshot of a parlay.
Approach
Functions proxy OpticOdds; NL→odds mapping lives server-side. The app is search + SGP builder + plans, with an admin for users, API, AI, and maintenance.
Process
- Odds fabric: OpticOdds proxy, no client keys.
- Query UX: Unified search and NL mapping.
- SGP + plans: Parlay builder, subscriptions, admin.
What we built
- Unified search: One query surface across books instead of a link farm.
- NL odds: Plain-English questions mapped to live markets server-side.
- SGP builder: Same-game parlay flows with math tooling and tests in the repo.
- Admin: Users, API, AI, and maintenance controls.
How it was built
Expo web, Firebase `bet-optimized-fe922`. Functions: `opticOddsProxy`, `nlOdds`. Stripe, Sentry, Google Sign-In. Surfaces include unified search, SGP builder, explore, plans, community, docs, onboarding, bet-slip submission, scraper tools, and admin (users, API, AI, maintenance).
Natural-language mapping (“best 3-leg NBA tonight”) hits real markets server-side. SGP math has tests in the repo. Keys never leave the server. Live: betoptimized.com. We do not claim bettor ROI.
Stack
- Expo Web: Product web app
- Firebase Functions: opticOddsProxy, nlOdds
- OpticOdds: Aggregated books
- Stripe + Sentry: Billing and observability
Outcomes
- Server: OpticOdds proxy in Cloud Functions
- NL: Natural-language odds mapping
- SGP: Same-game parlay builder
- Live: betoptimized.com
Wins
- Shipped product with unified search across books.
- Server-side OpticOdds proxy — no client keys.
- Natural-language odds mapping in Cloud Functions.
- SGP builder with testable math, plus admin and plans.
Hard parts
- A dozen books: Manual line shopping is the competitor. Search had to be one query surface, not a link farm.
- NL has to hit markets: Plain English is useless if it does not resolve to live odds. Mapping lives on the server.
- SGP math: Parlays assembled on hope are not a product. The builder had to be testable.
Services
- AI Query Interface
- OpticOdds API
- Web Development
- UI/UX Design