This is a submission for Weekend Challenge: Passion Edition
- (#weekendchallenge #devchallenge #ai #googleai #gemini #webdev #showdev)
What if your GitHub could roast you harder than your teammates ever would β and then remind you why you keep building?
What I Built
π₯ roaster0 β an AI that roasts your GitHub profile, then redeems you.
Drop in any public GitHub username and it pulls your real repo data β commit habits, abandoned projects, lazy repo names, language choices β and turns it into a savage, hyper-specific roast using Gemini's structured output and multimodal reasoning. Then it ends with one sincere, earned compliment pulled from something genuinely good in your data.
The idea started from a simple thought: your GitHub is an involuntary diary of what you were obsessed with. The eleven repos with no description. The final-v2-FINAL commit. The side project you lived and breathed for three weeks in March before abandoning it. That's passion β messy, obsessive, usually invisible unless someone points a spotlight at it.
There's also a second mode, π Roast Anything: submit a name, bio, links, and/or images, and Gemini reads all of it β text, links, photos β to generate the same experience for anyone, not just developers.
Demo
π Live app: roaster0.netlify.app
Try it on any public GitHub username, or switch to Roast Anything mode and paste in a bio + an image to see the multimodal analysis at work.
Once your roast is generated, you can:
- π Listen to it β full audio narration via Web Speech API, paced and pitched differently depending on roast intensity
- πΌοΈ Download the card β every roast renders as a shareable PNG on HTML5 Canvas, ledger-paper aesthetic, ready to post
- π Share the record β copy a formatted text version straight to clipboard for any platform
A couple of examples from testing:
GitHub mode β roasted DEV's own founder using nothing but his real public repo data:

(screenshot: Ben Halpern roast card β graveyard count, repo names like oceanic-giraffe and test-repo-original, ending with an earned Toast about founding dev.to and open-sourcing Forem)
Roast Anything mode β fed it a company bio instead of a person:

(screenshot: Samsung roast card β generated entirely from a short bio describing their product lineup, ending with a sincere Toast about their hardware/display engineering)
Both examples show the same thing: every roast line traces back to real, specific input β no generic filler, no invented details.
Code
π GitHub repo: github.com/nandandas2407-web/roaster
How I Built It
ποΈ Architecture: React + TypeScript frontend on Netlify, Cloudflare Worker backend handling three endpoints β GitHub data aggregation, GitHub-based roast generation, and generic multimodal roast generation.
π The GitHub data pipeline: the backend pre-computes derived signals before anything reaches Gemini β a "graveyard count" (repos untouched a year+), a lazy-naming detector, language distribution, star metrics. Specific, pre-computed signals produce far more targeted jokes than raw JSON ever could.
π€ Gemini 3.5 Flash: every roast line has to trace back to real, specific data, so I use Gemini's structured JSON output (responseSchema) to force a reliable roast[] + toast shape every time, tuned across four intensity levels from MILD to BRUTAL. In Roast Anything, Gemini's multimodal input reads uploaded images alongside bio text and crawled link content β all in one request.
π¨ Design: a "case file" being filed on you, not a dashboard β ledger paper texture, hand-coded SVG illustrations, a heat gauge that climbs as the roast escalates, and rubber-stamp animations for each line. Procedural Web Audio sound effects and Web Speech narration let the roast be read aloud β somehow funnier and more brutal at once. π
π‘οΈ Safety guardrails: Roast Anything's prompt explicitly instructs Gemini to never roast physical appearance, body, race, gender, age, or disability β only the actual content someone submitted. An 18+ confirmation gate sits in front of that mode, and images are processed in-memory and never stored.
β‘ Extras: downloadable roast cards rendered on HTML5 Canvas, 3D tilt interaction, a "Surprise Me" fallback for quick demoing.
Prize Categories
π Best Use of Google AI β Without Gemini, this project wouldn't exist. The product isn't an AI wrapper β it is the AI. Every joke, every compliment, every multimodal interpretation, and every grounded observation comes from Gemini's reasoning over real user data, held reliable through structured output.
Building software is often a trail of abandoned ideas, late-night experiments, and accidental breakthroughs. I wanted to build something that celebrates that journey β not by pretending we're perfect, but by laughing at the messy parts first. If this app makes even one developer smile before they push their next commit, it did its job.
β Nandan Das (@nandandas2407-web)
Top comments (0)