85 lines
3.6 KiB
Markdown
Executable File
85 lines
3.6 KiB
Markdown
Executable File
# BetonBLK — Product Roadmap
|
|
|
|
## PHASE 1 — FOUNDATION (Weeks 1-2)
|
|
|
|
### Feature 1.1 — Odds API Integration (no dependencies — build first)
|
|
- GET /api/odds/nba — Returns today's NBA props normalized across DraftKings, FanDuel, BetMGM
|
|
- GET /api/odds/ncaab — NCAA props in season
|
|
- Data shape: { player, team, stat_type, line, over_odds, under_odds, book, timestamp }
|
|
- Cache: 15-minute refresh. Graceful fallback if rate limit hit.
|
|
- Tests: Mock API response, verify normalization, verify cache behavior
|
|
- Status: NOT STARTED
|
|
|
|
### Feature 1.2 — NBA_API Stats Wrapper (no dependencies — build parallel with 1.1)
|
|
- getPlayerSeasonAvg(playerId, statType) → season average
|
|
- getPlayerLast10Avg(playerId, statType) → last 10 game average
|
|
- getPlayerSplits(playerId, statType, filters) → home/away/B2B/vs opponent situational
|
|
- Cache: 24hr on season averages, 1hr on recent games
|
|
- Status: NOT STARTED
|
|
|
|
### Feature 1.3 — Prop Analysis Engine (depends: 1.1 + 1.2)
|
|
- Input: { player, stat_type, line, book }
|
|
- Step 1-6: Season avg compare → situational factors → injury check → kill conditions → grade A/B/C/D → BetonBLK voice format
|
|
- Output: { grade, edge_pct, reasoning, kill_conditions_triggered, confidence }
|
|
- Status: NOT STARTED
|
|
|
|
### Feature 1.4 — Database Schema — Supabase (no dependencies)
|
|
- users: id, email, tier, scan_count, scan_reset_date, stripe_customer_id
|
|
- picks: id, user_id, player, stat, line, grade, reasoning, created_at
|
|
- outcomes: id, pick_id, result, actual_value, logged_at
|
|
- bets: id, user_id, amount, slip_data, book, placed_at
|
|
- performance: id, user_id, roi, win_rate, sample_size, period
|
|
- scan_sessions: id, user_id, legs[], final_grade, kill_conditions, created_at
|
|
- Status: NOT STARTED
|
|
|
|
### Feature 1.5 — Bet Submission (3 Methods) (depends: 1.4)
|
|
- Screenshot: POST /api/bets/screenshot — image upload, OCR extracts bet data
|
|
- Quick slip: POST /api/bets/quickslip — natural language: 'Jokic PRA 50.5 over $20 DraftKings'
|
|
- Sportsbook sync: POST /api/bets/sync — OAuth, auto-logs all bets
|
|
- Status: NOT STARTED
|
|
|
|
## PHASE 2 — CORE PRODUCT (Weeks 3-4)
|
|
Depends on: Phase 1 complete
|
|
|
|
### Feature 2.1 — Parlay Scan (depends: 1.3 + 1.4)
|
|
- Logic: Grade each leg → check correlation → grade overall parlay
|
|
- Scan cap: Check scan_count before processing. If 5: return personalized upgrade pitch
|
|
- Status: NOT STARTED
|
|
|
|
### Feature 2.2 — Real-Time Line Movement + Cascade Detection (depends: 1.1)
|
|
- Line movement: Alert when line moves 0.5+ points from 8 AM baseline. Flag sharp money direction.
|
|
- Cascade: Star player scratches → identify affected props → re-grade → alert affected users
|
|
- Status: NOT STARTED
|
|
|
|
## PHASE 3 — WEB MVP (Weeks 5-6)
|
|
Depends on: Phase 2 complete
|
|
|
|
### Feature 3.1 — Landing Page (no code dependencies)
|
|
- Next.js. Hero, How It Works, 3-tier pricing with founder badge, email CTA
|
|
- Status: NOT STARTED
|
|
|
|
### Feature 3.2 — Scan UI (depends: 2.1)
|
|
- Natural language input or manual leg builder
|
|
- Color-coded grades. Scan counter.
|
|
- Status: NOT STARTED
|
|
|
|
### Feature 3.3 — Bet Tracker UI (depends: 1.5)
|
|
- Win rate, ROI, behavioral pattern card at 30+ bets
|
|
- Status: NOT STARTED
|
|
|
|
### Feature 3.4 — Stripe Integration (depends: 1.4)
|
|
- Checkout → subscription → webhook → tier update in DB
|
|
- Founder code locks rate
|
|
- Status: NOT STARTED
|
|
|
|
## DEPENDENCY MAP
|
|
```
|
|
1.1 (Odds API) ──┐
|
|
├──→ 1.3 (Prop Engine) ──→ 2.1 (Parlay Scan) ──→ 3.2 (Scan UI)
|
|
1.2 (NBA API) ───┘
|
|
1.1 ──→ 2.2 (Line Movement + Cascade)
|
|
1.4 (DB Schema) ──→ 1.5 (Bet Submission) ──→ 3.3 (Bet Tracker)
|
|
1.4 ──→ 3.4 (Stripe)
|
|
3.1 (Landing Page) — no code dependencies
|
|
```
|