◂ All projects

CourtVision

  • Python
  • PyTorch
  • YOLOv8
  • Next.js
  • FastAPI

A coach uploads a tennis match video and my computer-vision pipeline breaks down every shot - winners, errors, serve placement, rally length, and court-zone heatmaps - turning raw footage into real analytics.

CourtVision is a tennis analytics platform for coaches and players. A coach uploads a match video, or pulls one straight from a PlaySight share link, confirms the court layout, and the computer-vision pipeline returns per-shot data and full match stats: winners, errors, serve placement, rally length, shot speeds, and court-zone heatmaps. Under the hood it chains YOLOv8 for the players, TrackNet for the ball, and homography to map everything onto a real court, then CatBoost classifiers to figure out bounces, hits, strokes, and point outcomes. It’s basically the kind of analytics that normally takes an expensive camera rig and a whole team, done from a single uploaded video.