NextPlay

ML-powered football film analysis platform — coaches upload game film, review insights, live play calling views, and scouting dashboards on a Vite/React app backed by Supabase, Firebase, and Cloud Run vision services.

Client
NextPlay
Role
Design & Full-Stack Development
Timeline
Ongoing product
Year
2025
Category
Sports Tech

Overview

NextPlay is football film analytics: a Vite/React/shadcn dashboard using Supabase (auth and accounts) and Firebase (`nextplay-edc77`), a Python YOLO vision package (`nextplay-vision`), and Cloud Run insights. Dashboard pages include Insights, Live Play Calling, billing, and admin; formation analysis lives inside the insight views.

Why

Coaches still tag film by hand. It does not scale across a season. NextPlay exists so football film becomes scouting insight: player and ball tracking, formations, play types — not a video host with a comment box.

Relevant to any sports-vision product. The dashboard has to serve upload, insight review, and live call views together. The CV pipeline is the product’s claim; the UI is how a coach uses it on Tuesday.

The challenge

Coaches needed film to become scouting insight — movement, ball, formations — without a season of manual tagging.

What made it hard

  • Coaches still tag film by hand; it does not scale across a season.
  • Formation and play-type insight needed a CV pipeline, not only a video host.
  • The dashboard had to serve film upload, insight review, and live call views together.

Approach

Split the system: vision/tracking in Python, insights API on Cloud Run, coaching UI in Vite. Supabase for auth, accounts, and video storage, Firebase for functions; a billing page is scaffolded.

Process

  • Film in: Upload and analysis views.
  • Vision: YOLO player/ball tracking, bird’s-eye, formations.
  • Coach UI: Insights, live play calling, billing, admin.

What we built

  • Film dashboard: Vite/React views for upload, insights, and account/billing.
  • Formation insights: Formation analysis inside the insight views — not a generic chart dump.
  • Live play calling: In-game oriented view alongside the film room.
  • Vision pipeline: Python YOLO tracking for players and ball as the ML backbone.

How it was built

Split system: Python YOLO package `nextplay-vision` for player/ball tracking, bird’s-eye, formations. Insights API on Cloud Run. Coaching UI is Vite / React / shadcn, with Supabase for auth, accounts, and video storage and Firebase `nextplay-edc77` for functions.

Dashboard pages include Insights, Live Play Calling, billing, and admin; formation analysis sits inside the insight views. Film in, vision out, coach UI on top.

Stack

  • Vite + React + shadcn: Coaching dashboard
  • Supabase + Firebase: Auth, accounts, video storage; functions
  • Python YOLO: nextplay-vision
  • Cloud Run: Insights API

Outcomes

  • CV: Player / ball tracking pipeline
  • Insights: Formation + play views
  • Live: Play-calling UI
  • Cloud Run: Vision + insights services

Wins

  • YOLO player/ball tracking pipeline as the ML backbone.
  • Formation analysis inside the insight views, not a generic chart dump.
  • Live play-calling UI alongside the film room.
  • Vite/React dashboard on Supabase and Firebase with Cloud Run insights.

Hard parts

  • Manual tagging: A season of film is not a spreadsheet job. Vision had to replace the night session with a mouse.
  • Not just a host: Upload without formation and play-type insight is YouTube. The CV pipeline is the claim.
  • Three jobs, one dashboard: Film upload, insight review, and live call views had to live together or coaches bounce.

Services

  • Vite + React + shadcn/ui Frontend
  • Supabase Auth + Firebase Data Layer
  • Game Film Upload & Analysis Views
  • Insights (incl. Formations) & Live Play Calling
  • Admin, Billing & Account Settings

Visit the live project

More case studies · Get a free development plan