FireSight TV: A Smarter Way to Review Football Footage
Turn football footage into moments worth a closer look.
Inspiration
Football is a game of moments. A brief movement, a changing player formation, or the appearance of the ball can make a passage of footage worth reviewing. Yet finding those moments in recorded footage often means repeatedly scanning through a video and manually deciding where to focus.
We built FireSight TV around a simple idea: what if your television could help you discover where to look, while leaving the final interpretation to the viewer?
FireSight TV explores how computer vision can make football video review more interactive and accessible through a TV-first experience. It is designed to help viewers move from watching footage to investigating interesting moments without treating an AI prediction as unquestionable fact.
What it does
FireSight TV is a React Native football-video review prototype backed by a Python FastAPI service. It processes recorded football footage or an accessible video stream and presents computer-vision observations in a dedicated review interface.
The application brings together three main experiences:
Overview: See the current analysis status, detected people, candidate ball detections, and the latest observations.
Moments: Review timestamped activity cues generated when the model detects the ball or identifies a significant change in the number of people detected. Select a cue to jump to the corresponding point in the default demo clip.
Analysis: Configure the backend connection and video source, start or stop analysis, and monitor processing status.
Instead of automatically labelling every interesting passage as a goal or highlight, FireSight TV surfaces observations that a viewer can investigate in the actual footage.
How we built it
We built the mobile experience with React Native and TypeScript, using a video player and a structured interface for Overview, Moments, and Analysis.
The backend uses FastAPI to expose endpoints for starting and stopping analysis, checking worker status, and retrieving the latest detections.
The video-processing pipeline combines:
FFmpeg to decode video and provide source presentation timestamps for sampled frames.
Ultralytics YOLO to detect the generic person and sports-ball classes.
ByteTrack through the model's tracking pipeline to associate detections across frames where possible.
A lightweight REST polling workflow to bring updated status and observations into the app.
The viewer can choose a local video path on the backend machine or a reachable stream URL. The analysis service processes sampled frames and publishes its latest observations to the mobile interface.
We also designed the interface to communicate uncertainty. A detected person is not a verified athlete identity, and a detected sports ball is not proof of a particular football event. This distinction is central to how FireSight TV presents its results.
Challenges we tackled
One of the important engineering challenges was connecting observations to meaningful video positions. Processing frames and measuring elapsed wall-clock time are not enough when the goal is to help someone review a particular moment in source footage.
We used FFmpeg presentation timestamps and explicitly handle cases where a timestamp cannot be paired with an analyzed frame. We also built a worker lifecycle for starting, monitoring, and stopping analysis, with visible connection and error states.
Another challenge is the gap between object detection and understanding a football match. A model can detect people and candidate balls, but that alone cannot establish possession, a goal, a foul, a shot, or a save. FireSight TV therefore generates heuristic review cues rather than claiming verified match-event recognition.
Video decoding and computer-vision inference also introduce processing and hardware constraints. Keeping the system configurable and making the limits of its observations clear are important steps toward a more dependable review experience.
What we learned
This project helped us explore how mobile development, video processing, and computer vision can work together in a sports-focused experience.
We learned that a useful AI product needs more than a model that produces detections. It also needs meaningful timestamps, a clear interaction model, reliable communication between the frontend and backend, understandable errors, and honest communication about uncertainty.
We also learned to distinguish a promising prototype from a finished product. Video-to-analysis synchronization, TV remote navigation, inference performance, and broader football-event recognition are all important areas for continued development and validation.
Potential impact
FireSight TV explores a practical direction for sports viewing: helping people navigate footage through visual observations rather than relying exclusively on manual scrubbing.
Potential future applications include post-match review, coaching workflows, football-content analysis, and interactive sports experiences on television. Those are opportunities to develop further, not capabilities we claim to have fully implemented today.
Our goal is to make football footage easier to investigate while keeping the viewer in control of interpreting the play.
FireSight TV: computer-vision-assisted football review, with the evidence kept in view.
Built With
- android
- bytetrack
- computer-vision
- fastapi
- ffmpeg
- firetv
- python
- react-native
- rest-api
- typescript
- ultralytics
- yolo
Log in or sign up for Devpost to join the conversation.