Inspiration
In live football, commentary is not translated from a single central source. The host broadcaster produces one video "world feed" — the pictures plus natural stadium sound — and each rights-holding broadcaster adds its own commentary, independently, in its own language. Whether a given audience gets commentary at all is a rights-and-economics question, not a guarantee. The result is large gaps:
Whole markets get nothing — only a clean feed (crowd noise, no words), or a feed in a language the viewer doesn't speak. These might not be ideal for those enjoying commentaries or those who want to understand things that are happening in the match (e.g. why a player got a red card, etc.). Under-covered competitions — lower leagues, women's football, youth, and amateur matches frequently have no commentary in any language. For the same reason as above, some people might find this aspect annoying.
What it does
MlangCast stands for Multiple-language Cast. It turns a structured stream of match events into spoken, context-aware commentary in the user's chosen language:
- Ingests a match as a timestamped event stream from StatsBomb open data.
- Replays that stream in accelerated real time to simulate a live match.
- An AI agent decides what's worth saying, how excited to be, and what context to add — then generates each line in the target language.
- Opens with a scene-setter ("Here at the World Cup final…"), then follows the ball — narrating progressive passes and build-up between the big moments. Player color (retrieved context + live in-match tallies) is reserved for occasional lulls and spaced out per player, so it never becomes a profile dump.
- In two-commentator mode, the system generates a sequential lead-plus-analyst script: the lead handles play-by-play and goal/chance calls near the box, then the analyst reacts.
- The agent retrieves context (player history, team form, standings, terminology) by calling a partner MCP server as a tool.
- Text-to-speech voices the commentary so the viewer can listen, not just read.
- A lightweight web UI lets the user pick a language and a match and watch the commentary stream beside a match clock.
How we built it
With a clear high-level overview of the problem, I was able to use Claude Cowork to solve the underlying problems: creating the code structure, integrating the agents, and deploying to Google Cloud.
Challenges we ran into
Since the codes are written by AI, it is essential that I keep a human in the loop. The challenge was to verify whether the AI does everything correctly without exposing secrets, uses the correct algorithm according to the high-level architecture, and is supervised to ensure it still aligns with the requirements.
Accomplishments that we're proud of
Finishing the project with a live demonstration and the libraries, frameworks, and APIs I learned.
What we learned
- Utilizing AI to build a small-scale project by keeping human in the loop.
- new frameworks, libraries, and APIs such as TTS, dataclasses, and others.
What's next for MlangCast: AI Agent for Football Commentary
swap the data source for a live feed, or read events straight from the video with computer vision — a transition we've already scaffolded, so the agent never changes. Add more languages, more expressive voices, and captions for accessibility. MlangCast — commentary for every match, in every language.
Log in or sign up for Devpost to join the conversation.