# Ritual Radio — Turn Your World Cup Rituals into Legendary AI Commentary

> Source: <https://dev.to/bright_jack_6ae0a31b96b6c/ritual-radio-turn-your-world-cup-rituals-into-legendary-ai-commentary-940>
> Published: 2026-07-10 13:45:48+00:00

This is a submission for Weekend Challenge: Passion Edition ([https://dev.to/challenges/weekend-2026-07-09](https://dev.to/challenges/weekend-2026-07-09))

What I Built

Ritual Radio is a World Cup fan-ritual announcer. It takes the superstitions fans actually do before a match —

wearing lucky socks, spinning three times, only sitting in one chair — and narrates simulated match moments as if

those rituals were a real force on the pitch.

You pick your team, describe your ritual, choose a commentator voice, and hit Start Broadcast. The app generates

live match events (red cards, miracle saves, last-minute free kicks) and calls each one with dramatic,

AI-generated commentary that weaves your ritual into the action.

It was built for the Passion Edition theme: football devotion is irrational, emotional, and deeply personal.

Ritual Radio turns that passion into a broadcast you can listen to.

Demo

Code

**A World Cup fan-ritual announcer powered by ElevenLabs + Google Gemini.**

Built for the [DEV Weekend Challenge: Passion Edition](https://dev.to/challenges/passion).

Every football fan has a ritual. Ritual Radio turns yours into live, dramatic match commentary.

The voice is generated with **ElevenLabs** and the commentary script is written by **Google Gemini**.

```
cd ritual-radio
#
```

…

```
                                                                           </p>
```

Live repo: [https://github.com/yueliao11/ritual-radio](https://github.com/yueliao11/ritual-radio)

How I Built It

• Flask serves a single-page app and two JSON APIs:

• /api/next-event returns a simulated match moment.

• /api/commentary writes the script and converts it to speech.

• Google Gemini generates the commentary when a key is provided, prompted to act like a superstitious World Cup

radio announcer.

• ElevenLabs is the heart of the demo. It turns the script into audio using a passionate sports-announcer voice. I

use the eleven_flash_v2_5 model, cache generated MP3s by content hash, and serve them back so the broadcast

feels instant.

• The frontend is vanilla HTML/CSS/JS with a retro radio UI, an audio visualizer, and an optional API-key section

so anyone can try it with their own keys.

• I recorded the demo video with Playwright, automating the browser so the submission would have a clean,

reproducible visual.

ElevenLabs is not a decorative add-on here — it is the experience. Without the voice, Ritual Radio is just text on

a screen. With it, the broadcast feels real.

Prize Categories

Best Use of ElevenLabs
