DEV Community

Cover image for **Rivalry Roast** — you talk smack about your team or favorite player, out loud, and an AI rival fan claps back at you, in voice, in real time.
Jyotish Pabbisetti
Jyotish Pabbisetti

Posted on

**Rivalry Roast** — you talk smack about your team or favorite player, out loud, and an AI rival fan claps back at you, in voice, in real time.

DEV Weekend Challenge: Passion Edition Submission

This is a submission for Weekend Challenge: Passion Edition

What I Built

Tomorrow I have my semester exam. Between assignments, revision, and general exam-season chaos, my schedule right now is not exactly forgiving. And yet — every day, no matter how packed things get, I carve out an hour, sometimes an hour and a half, just to build. Not because I have to. Because it's the one part of my day that actually feels like mine.

So when this challenge landed during exam week, it felt less like bad timing and more like an invitation. I'm a solo developer on this one, and I'm also a lifelong football fan — Ronaldo has been my guy for as long as I can remember. Building something around fan passion and rivalry wasn't a stretch for me; it's basically autobiographical.

The goal was simple: talk smack, get roasted back — out loud, not just in text.

Demo

Youtube demo link(https://youtube.com/shorts/QNnVdpfzGNE?si=GFmKuYos3FgXRtx4)

https://dev-uq5k.onrender.com

Code

https://github.com/Jyotish08/dev

How I Built It

The flow is simple to describe but has three real moving parts: you speak your trash talk, it gets converted to text, that text goes to an AI for a witty comeback, and the comeback gets converted back into voice so you actually hear the rival roast you.

I used Groq for speech-to-text, Google Gemini for generating the roast itself, and ElevenLabs for turning that roast into voice.

The voice piece was the part I was most excited about, and it wasn't totally unfamiliar territory — I've built voice cloning from scratch before, using open-source models, piecing together my own pipeline to get a voice to sound right. This was my first time using ElevenLabs specifically, and it was humbling: what used to take real pipeline-building effort on my end, it handled almost instantly once I found my footing with it.

Gemini impressed me just as much on the other side — fast turnaround, and it consistently understood the tone I was going for without me needing to over-engineer the prompt.

The part nobody tells you about: building the idea took maybe twenty minutes of thinking. Getting it working took closer to two hours, and almost all of that time went into APIs that had quietly moved on without telling me. A model I called by name had already been retired. A voice model I picked had been phased out on the free tier. The specific voice I wanted wasn't available to my account at all due to a free-tier restriction I didn't know existed. Deployment brought its own round of small chaos — a build tool throwing a permission error, a config silently skipping a dependency it needed, a server going live but unable to find its own front end.

None of these were dramatic bugs individually — each took a couple of minutes to fix once I knew what it was. But stacked back-to-back, on exam eve, with the clock ticking, it turned into a genuine debugging crawl through error messages and dashboards. And honestly, that's passion too — not just the fun highlight-reel part, but the part where something keeps refusing to work and you keep showing up anyway because you already care too much to walk away.

Prize Categories

Best Use of Google AI, Best Use of ElevenLabs

Top comments (0)