Inspiration
I wanted to build something that actually makes people laugh while delivering hard truths. What if a resume reviewer was brutally honest, slightly sarcastic, but ultimately helpful? That’s how Roast My Resume was born. It’s the tough-love career coach that roasts your weak bullet points but then gives you the exact blueprint to fix them.
##What it does Roast My Resume is a single-page web app with a simple flow: paste your resume text, click a button, and get a reality check.
The app returns two side-by-side panels:
The Roast: A punchy, sarcastic critique of the worst parts of the resume. It mocks corporate jargon, passive verbs, and "reporter" behavior.
Real Talk: Three prioritized, highly actionable fixes. Every fix follows a strict formula: it quotes your exact text, explains why it fails, and gives you a rewritten version.
The app also features Target Role Detection and a strict No-Hallucination Rule: if you are missing metrics, it uses bracketed placeholders (like [add verified result]) so you know exactly what data you need to go find.
How we built it
Frontend: Vanilla HTML, CSS, and JavaScript. I used Flexbox to ensure the Roast and Real Talk panels stretch perfectly side-by-side.
Backend: Node.js with Express.
AI: I used the OpenRouter API (running a Gemini model) because of its generous rate limits and OpenAI-compatible structure.
Deployment: Hosted securely on Vercel as a serverless function, with the API keys hidden in environment variables.
To guarantee the UI never broke, I strictly enforced a JSON Schema on the backend. The AI was forced to return a specific JSON object with an array of exactly three fixes.
Challenges we ran into
The "Polite AI" Problem: By default, AI models are trained to be nice. My first roasts sounded like a polite HR manager saying, "Your resume is a solid draft, but..." I had to build a strict persona prompt (a "cynical stand-up comedian") and explicitly ban words like "solid," "good," and "clear" to force the AI to be actually funny and brutal.
The Hallucination Problem: The AI kept inventing fake metrics to make the resume sound better (e.g., inventing a 20% sales increase). I had to add strict rules forbidding it from inventing facts and forcing it to use bracketed placeholders.
What we learned
This project taught me how to control Large Language Models with rigid guardrails. I learned that AI is only as good as its constraints—by forcing the model to use a JSON schema and adhere to negative constraints, I was able to turn a generic chatbot into a structured, reliable product.
I also got hands-on experience deploying full-stack Node.js applications to Vercel and managing secure API keys in a production environment.
What's next for ROAST_MY_RESUME
If I had more time, I'd love to add:
PDF/DOCX Upload: So users don't have to copy-paste their text. A "Roast Intensity" Slider: Letting users choose between "Mild Feedback" and "Gordon Ramsay Mode." History: Saving past roasts to track resume improvements over time.
Log in or sign up for Devpost to join the conversation.