Dugout Value
Baseball research on pitching, hitting, and projections, plus tools for comparing players, contracts, and trade value.
Curated picks, graded from box scores, ROI first — not vanity win rate.
Translation pending
Sports & fitnessJavaScript · PLpgSQLGitHub @anthonyzaino88OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
AI-powered sports betting analytics with smart parlay generation
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
🎲 Odds on Deck - AI Sports Analytics Platform
Portfolio Demo - AI-powered sports analytics for MLB, NFL & NHL with player props, betting edges, and real-time odds tracking.
🏠 Live Dashboard
• Real-time game counts across MLB, NFL, NHL
• Live score tracking with status indicators
• Quick navigation to sport-specific views
• Mobile-responsive designRead the full README ↗Portfolio Demo - AI-powered sports analytics for MLB, NFL & NHL with player props, betting edges, and real-time odds tracking.
| Category | Technology |
|---|---|
| Frontend | Next.js 14 (App Router), React 18, TailwindCSS |
| Design system | Custom "terminal" UI (data-dense, dark-first), Geist Sans/Mono |
| Backend | Next.js API Routes |
| Database | Supabase (PostgreSQL) with Row Level Security |
| Server access | Supabase secret key for server-side writes (never exposed to the client) |
| Deployment | Vercel |
QualityScore = (
probability * 0.70 + // Win likelihood (most important)
confidence * 0.20 + // Consistency/reliability
edge * 0.10 // Bonus when available from real data
) * 100
1. Prop Generated → 2. Saved to DB → 3. Game Completes
→ 4. ESPN API Validation → 5. Result Updated → 6. Performance Analysis
CRON_SECRETunsafe-eval is dev-only# Clone repository
git clone https://github.com/anthonyzaino88/odds-on-deck.git
cd odds-on-deck
# Install dependencies
npm install
# Set up environment variables
cp env.example .env.local
# Add your keys to .env.local
DATABASE_URL=postgresql://user:password@host:port/db
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SECRET_KEY=your_supabase_secret_key
ODDS_API_KEY=your_odds_api_key
CRON_SECRET=a_long_random_string
# Run development server
npm run dev
| Variable | Description | Required |
|---|---|---|
DATABASE_URL | PostgreSQL connection string (Prisma) | ✅ |
NEXT_PUBLIC_SUPABASE_URL | Supabase project URL | ✅ |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase anonymous (browser) key — RLS enforced | ✅ |
SUPABASE_SECRET_KEY | Supabase secret key for server-side writes (bypasses RLS) | ✅ |
ODDS_API_KEY | The Odds API key | ✅ |
CRON_SECRET | Shared secret protecting admin/cron write endpoints | ✅ |
| Page | Route | Description |
|---|---|---|
| Home | / | Dashboard with game counts & navigation |
| Games | /games | Today's slate with live scores |
| Game Detail | /game/[id] | Individual game analysis |
| Editor's Picks | /picks | AI-curated recommendations |
| Player Props | /props | Comprehensive prop analytics |
| Parlays | /parlays | Parlay generator & history |
| Validation | /validation | Accuracy tracking dashboard |
| Insights | /insights | Performance analysis |
| DFS | /dfs | Daily fantasy rankings |
| Privacy | /privacy | Privacy policy |
| Terms | /terms | Terms & disclaimer |
On Windows PowerShell, npm run <script> -- --flag can drop the flags. Run ops scripts as node scripts/<file>.js --flag, or npm run x --% -- --flag.
npm run dev # Development server
npm run build # Production build
npm run start # Start production server
npm run lint # Run ESLint
npm run test # Run Jest tests
# Validation & Data
npm run validate # Validate pending props
npm run validate:parlays # Validate saved parlays (after props)
npm run validate:all # Props first, then parlays
npm run regrade:featured # Regrade Featured from current PropValidation
npm run backup # Export all data (CSV/JSON)
# Export
npm run export:csv # Export parlays to CSV
npm run export:stats # Export performance stats
What I Built:
Key Challenges Solved:
MIT License - Feel free to use this project as inspiration!
Anthony Zaino
⭐ Star this repo if you find it interesting!