A dead-simple, high-signal sports betting companion for NBA bettors that shows real upcoming games, model predictions with confidence, and bookmaker odds side-by-side.
- 📅 Upcoming NBA Games - Real-time games from ESPN
- 🤖 AI Predictions - Model predictions with confidence scores
- 📊 Odds Comparison - Current odds from major bookmakers
- 🎯 Value Detection - Find where model disagrees with market
- 💰 Affiliate Links - One-click path to place bets
- Backend: FastAPI (Python) -
/backend - Frontend: Next.js 14 + Tailwind CSS -
/frontend - Data: ESPN API (games), The Odds API (odds)
- Deploy: Render.com ready
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txtCreate .env file:
cp ../.env.example .env
# Edit .env and add your ODDS_API_KEY from https://the-odds-api.comRun backend:
python main.py
# Backend runs at http://localhost:8000cd frontend
npm install
npm run dev
# Frontend runs at http://localhost:3000# Backend tests
cd backend
pytest
# Frontend tests
cd frontend
npm test| Endpoint | Description |
|---|---|
GET /health |
Health check |
GET /games |
List upcoming NBA games |
GET /predictions/{game_id} |
Get prediction for a game |
GET /game/{game_id} |
Full game details with odds + prediction |
GET /results/{game_id} |
Game results |
POST /webhook/stripe |
Stripe webhook (skeleton) |
bet-check/
├── backend/
│ ├── main.py # FastAPI app
│ ├── db.py # JSON file storage
│ ├── tests/
│ │ └── test_core.py # Pytest tests
│ └── requirements.txt # Python dependencies
├── frontend/
│ ├── pages/
│ │ ├── index.tsx # Games list
│ │ └── game/[gameId].tsx # Game detail
│ ├── components/
│ │ ├── Header.tsx
│ │ ├── Card.tsx
│ │ └── ConfidenceMeter.tsx
│ └── styles/
│ └── globals.css
├── scripts/
│ ├── espn_fetcher.py # ESPN API client
│ └── odds_fetcher.py # Odds API client
├── render.yaml # Render deployment config
└── .env.example # Environment template
- Push to GitHub
- Connect repo to Render.com
- Create services from
render.yamlor manually:- Backend: Python, build
cd backend && pip install -r requirements.txt, startuvicorn main:app --host 0.0.0.0 --port $PORT - Frontend: Node, build
cd frontend && npm install && npm run build, startnpm run start
- Backend: Python, build
- Add
ODDS_API_KEYto environment variables - Done!
- ✅ NBA only
- ✅ Real data from ESPN + The Odds API
- ✅ Mock predictions (improve later)
- ✅ No user accounts
- ✅ No auth/paywall
- ✅ DraftKings affiliate links
MIT