AIKO
A personalized voice sports companion that follows a live match, builds a persona per listener, and generates catch-up highlight reels with AI commentary in twenty-plus languages.
- languages supported for live commentary and conversation
- 20+languages supported for live commentary and conversation
- presented at the broadcast industry event in Amsterdam
- IBC 2024presented at the broadcast industry event in Amsterdam
- persona driving highlight selection and commentary, not a shared feed
- Per listenerpersona driving highlight selection and commentary, not a shared feed
AIKO is what a sports broadcast sounds like when it is built for one person. It follows a match as it happens, holds a spoken conversation in the listener's language, and — for someone who joined at half time — stitches the part they missed into a highlight reel with commentary generated for them. I worked across the voice pipeline, the personalization layer, and the highlight generation.
The problem
Broadcast commentary is one narration for everyone, in one language, and it assumes you were watching from the start. A listener who tunes in mid-match has no way to catch up conversationally, and a listener who does not speak the broadcast language has no access at all. Solving that means real-time voice in both directions, a model of what this specific listener cares about, and generating narration over footage that has already gone past.
Constraints
- Voice is bidirectional and live, so latency budgets apply to speech recognition and synthesis, not only to the model.
- The match is in progress, so the system reads and reasons about events as they arrive rather than after the fact.
- Highlights are assembled from the part already played, so selection has to be driven by what this listener would care about.
- Twenty-plus languages means neither the commentary nor the voice layer can be built around one locale.
Decisions
What I chose, why, and what I turned down to get there.
Persona building as the personalization primitive
Rather than tuning a single feed, the system builds a persona per listener — the teams, players, and kinds of moment they care about — and every downstream decision reads from it. Highlight selection and commentary tone then follow from one model of the listener instead of being personalized separately and inconsistently.
Generate commentary rather than clip existing audio
Reusing broadcast audio would carry the original language, pacing, and assumption that you watched from the start. Generating narration per listener means a catch-up reel can explain what happened to someone who just arrived, in their language, at their level of detail.
Considered and rejected
- Splicing the original broadcast commentary — cheaper, and it cannot be localized, re-paced, or made to address a mid-match arrival
Read live match state as a first-class input
The assistant tracks a running match and answers about what is happening now, which means match events feed the reasoning path continuously rather than being queried on demand. A sports companion that can only discuss finished matches is a search interface.
Managed speech services for the voice layer
Speech recognition and synthesis across twenty-plus languages is a problem with mature managed solutions and enormous depth. Using one kept the effort on the parts that were actually differentiated — persona modelling, highlight selection, and generated commentary.
The catch-up case
The feature that best explains the product: a listener starts watching at half time and wants to know what they missed. AIKO selects moments from the played portion based on that listener's persona, generates commentary over them, and speaks it in their language. Every part of the system — live state, persona, generation, voice — has to work at once for that single interaction to land.
Where it went
The product was presented at IBC 2024 in Amsterdam, one of the industry's main broadcast technology events. Building for a demo with that audience meant the voice path had to hold up live rather than in a recorded walkthrough.
Stack
- Python
- Node.js
- FastAPI
- Azure Speech SDK
- LLM commentary generation
- Docker
- GitHub Actions
What was mine
Contributed to the voice workflows, the personalization layer, and profile-driven highlight generation as a GenAI intern; AIKO is a Xansr Media product built by a team.