BACK TO PROJECTS
>

Player Props Viz

Next.jsReactTypeScriptPythonSupabase
FEB 2025 — APR 2025

#Motivation

Sports betting data, especially for player props, is scattered across sportsbooks and buried in tables. It is time intensive and inefficient to see how a player's game-by-game performance stacks up against the over/under line. Bettors need an intuitive way to spot trends, identify value, and compare odds in one place.

#Solution

An interactive dashboard where you pick any stat, slide an O/U line, set filters (minutes played, win/loss, home/away), and instantly see each game's performance as color-coded bars (green = over, red = under). A companion table pulls live over/under odds from several major sportsbooks for direct side-by-side comparison.

#Web App Features

  • Dynamic stat selector for on-the-fly analysis
  • Over/Under line slider with a real-time threshold indicator on the chart
  • Filters for minimum minutes played, win/loss toggle, and home/away games — closely simulate game environments
  • Color-coded bar chart displaying each game's performance vs. the O/U line
  • Live odds comparison grid aggregating multiple sportsbooks side-by-side

#Development Process

  • Wrote Python scripts to fetch game-log and live odds data automatically
  • Designed Supabase schema for players, player_game_logs, and player_odds
  • Built interactive Recharts bar-chart visualizations with dynamic O/U line and filters
  • Implemented React Query caching for efficient data fetching and background revalidation
  • Pushed live odds and stats via Supabase Realtime subscriptions
  • Set up full CI/CD pipeline with GitHub Actions for auto-deploy
  • Deployed ETL pipelines to automate data retrieval processes

#Screenshots

Player Props dashboard
Interactive player performance visualization with O/U line
Odds comparison screen
Live odds comparison across multiple sportsbooks