DEV Community

Shuvodip Ray
Shuvodip Ray

Posted on

How I Built Professor Doom - A Spooky Resume Roaster Using Kiro

So here's the thing - I don't really have a coding background. I've been messing around with various vibe-coding platforms for a few months now, just trying to build stuff and see what sticks. Some worked out, most didn't. But I kept at it because honestly, there's something addictive about describing what you want and watching it come to life.

When I heard about the Kiroween Hackathon, I thought why not give it a shot? Halloween theme, AI coding assistant, seemed like a fun combo. I didn't know I'd end up building something I'm actually proud of.

The Idea That Started It All

Resume analyzers are everywhere. LinkedIn has one. Indeed has one. There are probably a hundred startups doing the same thing. They all tell you the same stuff - "add more keywords", "quantify your achievements", blah blah blah.

But what if there was one that actually had personality? What if instead of boring corporate feedback, you got roasted by a spooky professor who tells you your resume belongs in a graveyard? That's how Professor Doom was born.

The concept was simple - upload your resume, get brutally honest feedback with dark humor, but actually walk away with useful advice. Like that one professor in college who was harsh but you learned the most from.

Why Kiro?

I've tried a bunch of AI coding tools at this point. Some are great for small snippets. Some get confused the moment you want something slightly complex. What I liked about Kiro from the start was that it felt like talking to someone who actually understood the bigger picture.

When I said "I want a spooky resume analyzer that roasts resumes with dark humor", it didn't just start writing code. It asked clarifying questions. What kind of spooky? What features? What's the flow? It felt more like a conversation than just prompting.

Building Part by Part

This is where Kiro really shined for me. Instead of trying to build everything at once and ending up with a mess, we went step by step.

Step 1: The Basic Upload

First thing first - get a PDF upload working. Nothing fancy, just drag and drop a resume and extract the text. Kiro set up the Express server, added pdf-parse for reading PDFs, and we had something working in minutes.

Step 2: The AI Analysis

Next came the fun part - making Professor Doom actually analyze resumes. We integrated Google's Gemini API for this. The tricky part was getting the personality right. First few attempts, the AI was either too nice or too mean without being helpful.

We spent a good amount of time tweaking the prompts. "Be brutally honest but ultimately helpful." "No sugarcoating but give actionable advice." "Sound like a dramatic professor, not a corporate HR bot." Eventually we landed on something that felt right.

Step 3: The Chat Interface

A one-time roast is fun, but what if you could actually have a conversation? Ask follow-up questions? Get specific advice on different parts of your resume?

So we built a chat interface. Different sections in the sidebar - Roast Me, Can AI Replace Me, Futureproof Score, What to Improve, Eligible Jobs. Each one triggers a different type of analysis. And you can ask custom questions too.

Step 4: Making It Actually Spooky

This is where I probably spent the most time. The functionality was working but it looked... boring. Just another dark mode website.

I kept telling Kiro - make it spookier. And we went through iteration after iteration:

  • Added floating particles (skulls, bats, pumpkins) drifting across the screen
  • Custom cursor that's a little skull
  • Glowing red accent colors with that horror movie vibe
  • Candle emojis flickering in the corners
  • Fog effects on the loading screen
  • A whole animated landing page with a giant pumpkin professor

The landing page alone went through like five versions. First it was too simple. Then too cluttered. Then the animations were laggy. Finally we got something that felt right - dramatic entrance, feature showcase, spooky quote from the professor, and a big "Enter If You Dare" button.

Step 5: The Video Background

I wanted a video of Professor Doom himself for the upload screen. Couldn't find anything that fit, so I made my own using Google's Veo 3.1.

First I created a side profile image of a skeleton professor in a spooky classroom - graduation cap, old wooden desk, candles, chalkboard with equations, the whole vibe. Then I fed that image into Veo 3.1 to generate a video. The result was this eerie looping clip of the skeleton professor in his haunted classroom. Exactly what I envisioned.

Neo-bana generated Image

But getting it to work in the app was a journey. First the video wouldn't load. Then it loaded but covered everything. Then the upload box was hiding the skeleton. We moved the content to the left side so you could actually see the professor. Added controls to mute/unmute and pause. Made it auto-mute after 8 seconds so it's not annoying.

Small details but they make a difference. And having a custom AI-generated video instead of some stock footage made it feel more unique.

The Confession Booth

This feature came from a random thought - what if people could confess the lies on their resume?

We've all done it. "Led a team of 10" when it was really 3. "Proficient in Python" when you did one tutorial. What if instead of judging, Professor Doom could help you actually achieve those claims?

So we built the Confession Booth. You confess your resume sins, and the professor gives you a path to redemption. "You said you know machine learning? Here's how to actually learn it in 3 months." It turned out to be one of the most useful features.

The Summary Room - Voice Synthesis

This was the feature I was most excited about. What if Professor Doom could actually speak? Not just text on screen, but actually introduce you to the world with his voice?

We integrated ElevenLabs for text-to-speech. You go to the Summary Room, pick your preferred pronouns, choose a language (we support English, Hindi, Bengali, French, Spanish), and Professor Doom generates a spoken introduction about you based on your resume.

The first time I heard it work, I got chills. There's something powerful about hearing an AI voice talk about YOUR skills and experience. It makes it feel real.

The ElevenLabs Disaster

Everything was working great. Voice synthesis sounded amazing. I was showing it off to friends.

Then one day - 500 errors. Everything broke.

Turns out I ran out of ElevenLabs credits. And here's the thing I didn't know - the API credits and the website credits are the same pool. I thought they were separate. Nope. Once you hit your monthly limit, everything stops.

I was panicking. The hackathon deadline was coming up and my main differentiating feature was dead.

Finding an Alternative

Started looking for alternatives fast. Google Cloud TTS? Needs a credit card for signup, even for free tier. Amazon Polly? Same deal. Browser's built-in speech synthesis? Works but sounds robotic and can't be downloaded.

Then I found Murf AI. They have an API, the free tier was enough for demos, and the voice quality was decent. Not as good as ElevenLabs but good enough.

Switching over was surprisingly smooth. Told Kiro what happened, gave it the new API docs, and within an hour we had Murf integrated. The code structure was similar enough that it was mostly just changing the endpoint and payload format.

Crisis averted.

Making It Actually Useful with Exa.ai

At some point I realized - this is fun, but is it actually useful? Roasts are entertaining but people need real help with their careers.

That's when we added Exa.ai integration. Exa is a web search API that's really good at finding relevant content. We used it for two features:

The Learning Crypt

Based on skills mentioned in your resume (or skills you want to learn), the Learning Crypt searches the web for actual courses, tutorials, and resources. Not generic "learn to code" stuff, but specific resources for YOUR skill gaps.

Want to improve your React skills? Here are the top-rated courses. Need to learn Kubernetes? Here are tutorials that actually explain it well. Real links to real resources.

The Trends Chamber

What skills are hot in your industry right now? What should you be learning to stay relevant? The Trends Chamber searches for current industry trends and shows you what's in demand.

Pick your field - software dev, data science, product management, whatever - and see what skills employers are looking for right now. It's like having a career advisor who actually keeps up with the market.

The Little Details

Some things that took way more time than expected but made the app feel polished:

The typing animation on the landing page - Those rotating taglines that type out letter by letter. Sounds simple but getting the timing right, making sure it doesn't look janky, handling the cursor blink - lots of small tweaks.

The scroll indicator - Added a "Descend into darkness" prompt with animated arrows because people weren't realizing they needed to scroll down to see the Enter button. UX matters.

The Summary Room highlight section - A dedicated section on the landing page showcasing the voice feature with animated sound waves. Gotta show off the cool stuff.

Loading messages - Instead of a boring spinner, Professor Doom has different creepy messages while analyzing your resume. "Summoning ancient career wisdom...", "Reading between the lines of your lies...", "Consulting the spirits of HR past..."

The doom score visual - A gradient meter that shows how "doomed" your resume is. Red is bad, green is good. Simple but satisfying to watch fill up.

What Kiro Got Right

Looking back, a few things made this project work:

Iterative building - We never tried to do everything at once. Each feature was built, tested, and refined before moving to the next. This kept things manageable.

Understanding context - Kiro remembered what we were building. I didn't have to re-explain the project every time. "Make the upload box glow more" and it knew exactly what I meant.

Handling errors gracefully - When things broke (and they did, often), Kiro helped debug. Looking at console errors, checking API responses, suggesting fixes. It felt like pair programming.

The steering files - I set up rules about Professor Doom's personality in Kiro's steering files. No scene descriptions, no asterisk actions, just direct speech. Once those were in place, the AI stayed consistent across all features.

What I'd Do Differently

Start with the API integrations - I added ElevenLabs late and then had to scramble when it broke. Should have tested the limits earlier.

Mobile responsiveness earlier - We added mobile styles at the end and it was a pain. Should have been thinking about it from the start.

More error handling - There are still edge cases that break things. Empty resumes, weird PDF formats, API timeouts. Production apps need more defensive coding.

What's Next

There's one feature I really want to add but haven't gotten to yet - voice input for the chat.

Imagine actually talking to Professor Doom. Not typing, but speaking. "Hey Professor, what do you think about my work experience?" And he responds with voice. A real conversation about your career with a spooky AI professor.

The tech exists - Web Speech API for input, Murf for output. Just need to wire it together. Maybe after the hackathon.

Other ideas floating around:

  • Resume comparison - upload two resumes and see which one is better
  • LinkedIn profile analysis - not just PDFs
  • Interview prep mode - Professor Doom asks you tough questions
  • Shareable roast cards - get your doom score as an image to share on social media

Final Thoughts

Building Professor Doom was genuinely fun. Not just the coding part, but the creative part. Figuring out the personality, the UI, the features that would make people laugh AND help them.

Kiro made it possible for someone like me - no formal coding background, just vibes and determination - to build something real. Something that works. Something I'm proud to show people.

If you're thinking about trying AI-assisted coding, just start. Pick a dumb idea. Build it. You'll learn more from one finished project than from a hundred tutorials.

Try It Out

Professor Doom is live at professordoom.vercel.app.

Upload your resume if you dare. Just don't blame me when he roasts your "proficient in Microsoft Office" line. We've all been there.

And hey, if your resume survives the roast, maybe it's actually pretty good. Or maybe Professor Doom is just having a slow day.

Either way, good luck out there. The job market is scary enough without a spooky professor judging you.

🎃💀👻 Built for Kiroween Hackathon 2025 with love, caffeine, and a lot of "make it spookier" prompts.

Top comments (0)