{"slug": "ritual-radio-turn-your-world-cup-rituals-into-legendary-ai-commentary", "title": "Ritual Radio — Turn Your World Cup Rituals into Legendary AI Commentary", "summary": "A developer built Ritual Radio, a World Cup fan-ritual announcer that uses ElevenLabs and Google Gemini to generate dramatic AI commentary based on user rituals. The app simulates match events and narrates them with a passionate sports-announcer voice, turning superstitions into a live broadcast experience.", "body_md": "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))\n\nWhat I Built\n\nRitual Radio is a World Cup fan-ritual announcer. It takes the superstitions fans actually do before a match —\n\nwearing lucky socks, spinning three times, only sitting in one chair — and narrates simulated match moments as if\n\nthose rituals were a real force on the pitch.\n\nYou pick your team, describe your ritual, choose a commentator voice, and hit Start Broadcast. The app generates\n\nlive match events (red cards, miracle saves, last-minute free kicks) and calls each one with dramatic,\n\nAI-generated commentary that weaves your ritual into the action.\n\nIt was built for the Passion Edition theme: football devotion is irrational, emotional, and deeply personal.\n\nRitual Radio turns that passion into a broadcast you can listen to.\n\nDemo\n\nCode\n\n**A World Cup fan-ritual announcer powered by ElevenLabs + Google Gemini.**\n\nBuilt for the [DEV Weekend Challenge: Passion Edition](https://dev.to/challenges/passion).\n\nEvery football fan has a ritual. Ritual Radio turns yours into live, dramatic match commentary.\n\nThe voice is generated with **ElevenLabs** and the commentary script is written by **Google Gemini**.\n\n```\ncd ritual-radio\n#\n```\n\n…\n\n```\n                                                                           </p>\n```\n\nLive repo: [https://github.com/yueliao11/ritual-radio](https://github.com/yueliao11/ritual-radio)\n\nHow I Built It\n\n• Flask serves a single-page app and two JSON APIs:\n\n• /api/next-event returns a simulated match moment.\n\n• /api/commentary writes the script and converts it to speech.\n\n• Google Gemini generates the commentary when a key is provided, prompted to act like a superstitious World Cup\n\nradio announcer.\n\n• ElevenLabs is the heart of the demo. It turns the script into audio using a passionate sports-announcer voice. I\n\nuse the eleven_flash_v2_5 model, cache generated MP3s by content hash, and serve them back so the broadcast\n\nfeels instant.\n\n• The frontend is vanilla HTML/CSS/JS with a retro radio UI, an audio visualizer, and an optional API-key section\n\nso anyone can try it with their own keys.\n\n• I recorded the demo video with Playwright, automating the browser so the submission would have a clean,\n\nreproducible visual.\n\nElevenLabs is not a decorative add-on here — it is the experience. Without the voice, Ritual Radio is just text on\n\na screen. With it, the broadcast feels real.\n\nPrize Categories\n\nBest Use of ElevenLabs", "url": "https://wpnews.pro/news/ritual-radio-turn-your-world-cup-rituals-into-legendary-ai-commentary", "canonical_source": "https://dev.to/bright_jack_6ae0a31b96b6c/ritual-radio-turn-your-world-cup-rituals-into-legendary-ai-commentary-940", "published_at": "2026-07-10 13:45:48+00:00", "updated_at": "2026-07-10 14:15:28.520819+00:00", "lang": "en", "topics": ["generative-ai", "ai-tools", "developer-tools"], "entities": ["ElevenLabs", "Google Gemini", "Ritual Radio", "Flask", "Playwright"], "alternates": {"html": "https://wpnews.pro/news/ritual-radio-turn-your-world-cup-rituals-into-legendary-ai-commentary", "markdown": "https://wpnews.pro/news/ritual-radio-turn-your-world-cup-rituals-into-legendary-ai-commentary.md", "text": "https://wpnews.pro/news/ritual-radio-turn-your-world-cup-rituals-into-legendary-ai-commentary.txt", "jsonld": "https://wpnews.pro/news/ritual-radio-turn-your-world-cup-rituals-into-legendary-ai-commentary.jsonld"}}