Drop your resume. Get roasted. Get hired.
A client-side AI web app that delivers a brutal, scored, section-by-section critique of your resume — with instant rewrites and a shareable score card. No backend. No database. Nothing stored server-side.
- Upload a PDF or paste plain text
- Choose your AI provider (Claude, OpenAI, or Gemini)
- Pick your roast tone — Savage, Gordon Ramsay, Friendly Coach, or Silicon Valley Recruiter
- Get a scored, section-by-section breakdown with ATS analysis, specific issues, and genuine rewrites
- Screenshot and share your score card
| Provider | Model | Est. Cost per Roast |
|---|---|---|
| 🧠 Anthropic Claude | claude-haiku-4-5-20251001 |
~$0.003 |
| ⚡ OpenAI | gpt-4o-mini |
~$0.001 |
| ✨ Google Gemini | gemini-1.5-flash |
Free tier available |
Your API key is saved in localStorage — it never leaves your browser.
| Tone | Persona |
|---|---|
| 🔥 Savage but Constructive | Brutally honest senior recruiter. No sugarcoating. Genuine path to improvement. |
| 👨🍳 Gordon Ramsay Mode | Dramatically horrified. Cooking metaphors. "This is RAW!" But rewrites are Michelin-star quality. |
| 🤝 Friendly Coach | Warm career mentor. Leads with wins. Clearly explains issues kindly. |
| 💼 Silicon Valley Recruiter | Hyper-efficient. ATS-obsessed. "Your conversion rate is approximately 0%." |
- Click Roast My Resume
- Select your AI provider and roast tone
- Enter your API key (saved in your browser only)
- Upload your PDF or paste resume text
- Click Get Roasted and brace yourself
- Expand each section card for detailed critique and rewrites
- Screenshot your score card to share
git clone https://github.com/abhimishra01/roast-my-resume
cd roast-my-resume
npm install
# Optional: add API keys to skip the key prompt in the UI
cp .env.example .env
# Edit .env and add your keys
npm run devOpen http://localhost:5173/roast-my-resume/
npm run deployThis runs vite build and pushes the dist/ folder to the gh-pages branch.
The app will be live at https://abhimishra01.github.io/roast-my-resume/
roast-my-resume/
├── src/
│ ├── components/
│ │ ├── LandingHero.jsx # Full-screen hero with CTA
│ │ ├── ToneSelector.jsx # 4-tone picker grid
│ │ ├── ProviderSelector.jsx # Claude / OpenAI / Gemini cards
│ │ ├── ApiKeyInput.jsx # Key entry with localStorage save
│ │ ├── ResumeUpload.jsx # PDF drag-drop + text fallback
│ │ ├── LoadingRoast.jsx # Full-screen loading overlay
│ │ ├── RoastResults.jsx # Complete results view
│ │ ├── SectionCard.jsx # Collapsible per-section critique
│ │ ├── ScoreRing.jsx # Animated SVG score ring
│ │ └── ShareCard.jsx # Screenshot-ready score card
│ ├── prompts/
│ │ └── roastPrompt.js # Tone definitions + prompt builder
│ ├── utils/
│ │ └── aiClient.js # Multi-provider AI client
│ ├── App.jsx # Main state machine
│ └── main.jsx
├── index.html
├── vite.config.js
├── tailwind.config.js
└── package.json
- React + Vite — fast dev and build
- Tailwind CSS — all styling, dark theme, mobile responsive
- pdfjs-dist — client-side PDF text extraction
- html2canvas — score card screenshot
- gh-pages — one-command GitHub Pages deploy
Built by Abhishek Mishra · github.com/abhimishra01