top of page
Screenshot 2026-03-11 at 7.45.41 PM.png

BenchSight

BenchSight is a full-stack hockey analytics platform I designed and built independently to bring advanced analytics to recreational and youth hockey leagues. It is the clearest proof I have that I think like an analytics product owner — not just an analyst.

What I built:

  • 140-table dimensional data warehouse — star and snowflake schema, 51 dimension tables, 84 fact tables, covering players, games, teams, events, shifts, and advanced metrics

  • Multi-phase ETL pipeline in Python processing raw game tracking data into 140 output CSV tables — event enhancement, stat attribution, Corsi/Fenwick calculations, xG modeling, shift parsing

  • 50+ page interactive dashboard in Next.js with Supabase (PostgreSQL) as the backend — player pages, team pages, game logs, standings, advanced stats, coaching composites

  • Computer vision pipeline for automated player tracking from GoPro footage — YOLO object detection, ByteTrack multi-object tracking, homography coordinate mapping, identity cascade for team assignment

  • 200+ documented architecture decisions covering data model, metric definitions, event taxonomy, and product direction

  • Live with real NORAD recreational league data

Tech stack: Python, PostgreSQL, Next.js, TypeScript, Supabase, Vercel, GitHub Actions, OpenCV, YOLO

bottom of page