← All work

PitchPulse

A football stream you can talk to.

An AI match companion: computer vision tracks every player live, the analysis is drawn onto the match, and fans can ask the stream questions.

LIVE00:42:17:00ABR 1080p · AV1 · 6.0 MbpsID 10ID 7DETECTTRACKANALYSESTREAMFRAMES → FANS
platforms shipped: web, iOS and Android
3
platforms shipped: web, iOS and Android
player tracking and heatmaps on the match
Live
player tracking and heatmaps on the match
question routing: LLM, web search, live data
3-way
question routing: LLM, web search, live data
unit, integration, load and security tested
E2E
unit, integration, load and security tested
The problem

Young fans are drifting away from live matches. Most of them watch with a second screen open just to follow the stats, so their attention is split between the game and their phone.

The story

  1. 01

    Fans split their attention

    Most young fans watch with a second screen open, just to follow the stats.

  2. 02

    One stream for everything

    We put the match, the analysis and the conversation in one place.

  3. 03

    Detect

    A fine-tuned YOLO model finds every player and the ball in each frame.

  4. 04

    Track

    ByteTrack keeps each player's ID stable from frame to frame, even through crowds.

  5. 05

    Analyse

    Positions and detected events become heatmaps and overlays drawn onto the match.

  6. 06

    Ask the match

    Questions route to the language model, web search or the live match feed.

  7. 07

    Shipped everywhere

    Web, iOS and Android on one pipeline, tested end to end before launch.

What we built

The work that made it.

Computer vision on the live match

A fine-tuned YOLO model finds the players and the ball, ByteTrack keeps their IDs frame to frame, and detected events trigger the overlays.

Analysis drawn onto the stream

Tracking boxes and heatmaps appear right on the match video, so fans see the story of the game without leaving it.

A chatbot that knows the match

Every question is routed: general football to the language model, fresh news to web search, live numbers straight from the match feed, with a fallback to search when it's unsure.

Shipped on every screen

Web in Next.js, iOS and Android in React Native, with the web and auth API, the chatbot API and the video CDN deployed separately.

Tested end to end

Unit and integration tests, load testing with JMeter and security scanning with OWASP ZAP before launch.

How it works

Step by step.

  1. 01

    Detect

    Fine-tuned YOLO finds every player and the ball in each frame.

  2. 02

    Track

    ByteTrack keeps player IDs stable from frame to frame.

  3. 03

    Analyse

    Detected events and positions become heatmaps, stats and overlays.

  4. 04

    Stream and answer

    The processed match streams to fans, and the assistant answers questions from live data.

FramesYOLOByteTrackEventsOverlaysStream

Questions take a separate path: a router sends each one to the language model, web search or the live match API, and falls back to search when the answer is uncertain.

Built with

Next.js · React Native · Python · YOLO · ByteTrack · WebGL · WebSockets · Bunny.net · Vercel · Railway

Building a live product with AI?

We can build this for you. Tell us what you're working on.

Book a free infra call