Eight months ago I was job hunting. I wasn't amused by the fact I had to adjust my resume for every single offer. Not fabricating information, just highlighting the right parts for each ATS. So I built a tool to do it and ran a proper experiment to see if it works.
Hi, my name is Tom Smykowski, I'm a staff software engineer. I build and scale products to millions of users. On this blog I share experiments and data about career development and the tech industry.
Follow me on Medium for more career insights
I recently developed Resume Hedgehog to solve a specific annoyance: you provide your resume and a job offer, and it generates an optimized PDF for ATS systems and recruiters. One click. No manual keyword matching.
But does it actually work? I ran two experiments to find out.
Experiment 1: Five Resumes, One Job Offer

I created five fake resumes with different profiles and tested them all against the same Frontend Engineer (React/TypeScript) position:
- cv1 (John Miller): vague UI developer, no React/TypeScript/Git mentioned
- cv2 (Ahmed Hassan): keyword-stuffed React developer, limited experience
- cv3 (Maria Kovacs): Angular specialist, zero React experience
- cv4 (David Schmidt): messy resume, but has the right React+TS skills
- cv5 (Robert Chen): engineering leader, 15+ years, overqualified for frontend
The test was simple. I generated a plain PDF from the raw resume text and sent it to GPT-4o for fit evaluation (baseline). Then I ran the same resume through Resume Hedgehog, generated the optimized PDF, and evaluated it again. After that I answered the system's follow-up questions across five rounds and evaluated each time.

The biggest jump happens immediately. From 47% average to 75%. That's a +28 percentage point improvement without answering a single question. The system optimizes the resume for the specific job offer right away, restructuring and highlighting relevant keywords.
Not all ATS systems show you a fit rating. But most of them sort candidates based on it. When there are 200 applicants for a position, being at the top of that list makes a difference. And if a recruiter is using AI to pre-screen candidates, having AI rate your resume high in the automated process matters even more.
π Clap this post up to 50 times if you found it useful
The follow-up questions didn't produce dramatic improvement. Except for cv5 (Robert Chen, the engineering leader with 15+ years). The system was able to trim leadership-heavy content that didn't help for a frontend role and surface older hands-on JavaScript experience. That one went from 10% to 75%.
The flatline after the first question round tells an interesting story: the system quickly exhausts its ability to improve the resume from questions alone. So if you're not satisfied with the first result, one precise round of answers gives you the best shot at a final, solid resume without spending more time.
One thing I verified separately: the system doesn't fabricate experience or skills. cv3 (the Angular specialist with no React experience) stayed at 50%. The app correctly refused to invent React skills she didn't have. That's important, because you want a resume that's optimized but authentic.
π¬ Subscribe to my articles so you don't miss the next one
Experiment 2: One Person, Twenty Job Offers
For the second experiment I wanted to answer three questions:
- Is Resume Hedgehog faster than manually creating fitting resumes?
- Does it produce better outcomes?
- Does the system generate better resumes over time as it collects more information about the candidate?
I simulated one person: Alex Kowalski, a mid-level frontend developer with ~5 years of React/JS experience. His initial resume was flawed, not keyword-optimized, with vague descriptions. Exactly the kind of resume that gets filtered out by ATS before a human ever sees it.
I tested him against 20 different job offers: frontend, full-stack, backend, DevOps, QA, and team lead positions. The job market for developers is shifting, and standing out in a crowded field is getting harder.
Baseline: No Edits
The unedited resume PDF got an average 46% fit across all 20 jobs. Zero time investment, zero customization. That's the starting point.
Manual Editing: Sloppy Human Simulation
I simulated how a tired, real person edits resumes in bulk. Limited to 2-4 line changes per job, random laziness levels (some barely edited, some skipped entirely), typos from rushing, only skimming the job offer, never restructuring the whole resume.
Average fit: 53.8% (+7.8 percentage points over baseline). Time: approximately 8 minutes per job, totaling about 2.7 hours for all 20 resumes.
Resume Hedgehog
I created one account, uploaded the initial resume, then went through each job offer: upload offer, generate resume, answer four rounds of questions (simulated with sloppy answers), download PDF.
Average fit: 57.5% at Round 0 (just the initial generation, no Q&A). After four rounds of questions: 57.3%. That's +11.5 percentage points over baseline, just from the initial generation. Time: approximately 3 minutes per job for Round 0 only, totaling about 62 minutes for all 20 jobs.
That's a 62% reduction in time compared to manual editing (62 min vs 162 min), with better results (+3.5pp higher fit).
Where Each Approach Wins

The most efficient strategy: use Resume Hedgehog but skip the Q&A rounds entirely. Round 0 alone gives +11.5 percentage points in about 3 minutes of human effort. That's 3.8pp per minute. Q&A rounds with sloppy answers added no measurable value and cost an extra 12 minutes per job.
Resume Hedgehog clearly beat manual editing on jobs where the resume needed meaningful restructuring. WordPress Developer: 85% vs 60% manual. Next.js Developer: 60% vs 45%. Svelte Developer: 60% vs 45%. For well-matching jobs where the resume was already a fit (Junior React Developer), both approaches reached 85%.
Neither approach could help with fundamentally mismatched positions. Python Backend, DevOps, and Java Backend stayed low regardless of method. That's honest behavior. If you don't have the experience, no amount of optimization will invent it.
π Share this blog post with your colleagues
But What If You Actually Try?
There's an interesting twist I almost missed. The experiments above used sloppy Q&A answers, simulating someone who just wants to get through the process. What happens when someone is assiduous about providing detailed, thoughtful responses?
I tested this across 7 jobs with motivated answers: specific project details, concrete metrics, technologies explained in context.

Average gain from motivated answers: +11.4 percentage points over sloppy answers. That's bigger than the +3.5pp edge Hedgehog had over manual editing in the first place.
The pattern is clear. Motivated answers help the most for jobs with moderate baseline fit (40-65%), where the candidate has relevant experience but needs to highlight specifics. For jobs that are already a great match (85%+), the gain is small. For jobs where you fundamentally lack the experience (Angular Dev for a React person), details can't fix that.
Alon-alon asal kelakon. The system rewards those who take the time.
What I Learned
There are several takeaways from these experiments:
- The initial generation is where the value lives. Round 0 provides +28pp improvement in Experiment 1 and +11.5pp in Experiment 2. Questions add modest gains at best
- The system doesn't fabricate. If you don't have the skills, the resume stays honest. That's a feature
- Motivation matters. Detailed Q&A answers add another ~11pp on top. For competitive jobs, that's the difference between getting screened in or filtered out
- The system improves over time. As it collects more information about you across job applications, similar offers recieve immediately well-matched resumes even without questions
- If you lack specific experience, take courses. Adding even one relevant keyword from a completed course can push your resume through the automated filter
π° Want to stay ahead of the curve? Subscribe to my free Vibe Coding Newsletter for weekly insights on software engineering, AI tools, and career development
Limitations and Next Steps
These results are based on simulated resumes evaluated by GPT-4o. Actual ATS systems may weight things differently. The manual editing was simulated by AI playing a tired human, which might be more or less sloppy than an actual person at midnight.
What would be best is to test with actual resumes and actual job offers from people in the middle of a job search. That would make the data much more concrete.
If you're currently looking for a job and want to try it yourself, you can at resumehedgehog.com.
π° Building software or managing a team? The AI Coding Cost Optimization report shows you how to cut AI token costs by 60-70%. Use code MEDIUMSAVES20 for 20% off. Newsletter subscribers save 50%
If you're looking to level up your engineering fundamentals while you job hunt, whether you're vibe coding or writing everything by hand:
π Check out Software Engineering for Vibe Coders - the ebook that covers what you need to know about building software that lasts, even when AI writes the first draft
If you're preparing for interviews alongside resume optimization, flashcards can help you brush up on the fundamentals quickly.
π React Interview Questions Flashcards - 50 cards covering the most common React interview questions. Great for quick review sessions between job applications
Thanks to everyone who reads, claps, and shares these articles. Your support is what makes it possible for me to spend hours running these experiments and writing up the results instead of just tweeting hot takes.
β If my work helps you, consider buying me a coffee
If you want to read more of my articles visit https://tomaszs2.medium.com/
Sources
- Resume Hedgehog experiments conducted March 9, 2026
- Fit evaluation performed by OpenAI GPT-4o, independent of both generation methods
- All interactions with Resume Hedgehog performed through the app UI via Playwright (headless Chromium)
π Follow me on Medium for more stories like this
What's your experience with resume optimization? Have you tried AI tools for it, or do you still customize each resume by hand? I'd love to hear what's working for you in the comments.
