MCPcopy Create free account
hub / github.com/AggieSportsAnalytics/CourtCheck

github.com/AggieSportsAnalytics/CourtCheck @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
859 symbols 2,366 edges 192 files 180 documented · 21% updated 16d ago★ 45

Browse by type

Functions 770 Types & classes 89
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CourtCheck CourtCheck Logo

AI-powered tennis analytics by Aggie Sports Analytics

See every shot. Know every move.

🎾 courtcheck-rho.vercel.app


Tennis has always been played on instinct. CourtCheck changes that.

Every game day, UC Davis tennis coaches face 6 singles matches worth of footage to review. A thorough analysis of each video takes hours, time that coaches and players simply don't have.

⏱️ Before CourtCheck ⚡ After CourtCheck
20+ hours of film review per week 5-minute read per match
Manually scrubbing through footage Instant heatmaps, stats & AI reports
Easy to miss key patterns Every shot, bounce & position tracked

No sensors, no special equipment, no setup. Just upload your video.


🎯 What It Does

🎾 Ball & Bounce Tracking Frame-by-frame ball trajectory with precise bounce event detection across the full court.

🗺️ Player Heatmaps Visual court coverage maps that reveal positioning patterns, movement tendencies, and court dominance.

📊 Stroke & Shot Analysis Automatic shot classification with percentages and breakdowns across a full match.

🤖 AI Scouting Reports GPT-powered match summaries that synthesize player positioning and ball data into actionable coaching insights.

📈 Match & Opponent Stats Aggregated performance trends across multiple matches with head-to-head opponent breakdowns.

🎥 Recordings Library Upload, manage, and replay processed match videos, all in one place.


⚙️ How It Works

  1. 📤 Upload a match recording through the dashboard
  2. 🧠 CourtCheck processes the video using GPU-accelerated computer vision models
  3. 📋 View your analytics in minutes: heatmaps, shot charts, stats, and scouting report

🛠️ Built With

  • 👁️ Computer Vision: YOLOv8, OpenCV, PyTorch, CatBoost
  • 🤖 AI: OpenAI GPT-4o-mini
  • 🌐 Frontend: Next.js, TypeScript, Tailwind CSS
  • ⚙️ Backend: Python, FastAPI, Modal (A10G GPU)
  • ☁️ Infrastructure: Vercel, Supabase

Built by Aggie Sports Analytics at UC Davis. 🐮

Extension points exported contracts — how you extend this code

browse all types & interfaces →

Core symbols most depended-on inside this repo

browse all functions →

Shape

Function 592
Method 178
Class 45
Interface 44

Languages

TypeScript55%
Python45%

Modules by API surface

docs/brand-drop/mocks/case-comp/deck-stage.js62 symbols
backend/tests/test_rallies.py41 symbols
backend/training/train_tcn.py28 symbols
backend/pipeline/run.py25 symbols
backend/tests/test_pipeline_perf.py18 symbols
frontend/web/app/recordings/page.tsx17 symbols
frontend/web/components/recordings/VizPanel.tsx16 symbols
backend/models/stroke_classifier_tcn.py15 symbols
backend/tests/test_player_tracking.py14 symbols
backend/pipeline/rallies.py14 symbols
backend/models/ball_tracker.py14 symbols
frontend/web/app/players/[id]/page.tsx13 symbols

For agents

$ claude mcp add CourtCheck \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page