
Six months ago I started building CVAdapt because a friend sent me his CV and asked why he kept getting ghosted. I looked at it. It was fine. Clear structure, real experience, no typos. He'd applied to 40 jobs. Three replies.
So I started reading about ATS systems. Then I got obsessed. Then I built a tool that scores CVs against job descriptions and tells you exactly what's missing.
Here's what I learned.
This part most people don't believe until they see it. A 2021 Harvard Business Review report found that over 75 million Americans were "hidden workers" — qualified candidates filtered out by automated systems before a human ever reviewed their application. Seventy-five million.
The mechanism is simpler than people imagine. The system scans for keywords. If your CV has eight of the fifteen keywords in the job description, you score below threshold. You're out. The recruiter never knows you existed.
What kills me about this is that it's not even a good system. Companies built it to save time, and it does save time, but it also filters out people who phrase things differently, who worked in adjacent industries, or who just didn't think to include the exact verb the job posting used.
When I started building the scorer I needed training data. I collected a few hundred anonymized CVs from friends and online communities (with permission) and ran them against actual job descriptions. The patterns that came up were consistent enough that I eventually just baked them into the scoring logic.
The biggest gap: action verb quality. People write "responsible for managing a team" instead of "managed 6-person team that shipped X." The ATS doesn't care about this distinction much, but the human reviewer does — and by then your score already got you through. The verb choice matters at the second filter, not the first.
The second gap: missing quantification. Not because numbers are magic, but because job descriptions almost always include them. "5+ years experience." "Managed $2M budget." If your CV uses vague language and the job description is specific, the keyword match degrades.
Third: section headers that don't match conventions. I saw CVs with headers like "Professional journey" or "Things I've built." Clean and personal, sure. Also invisible to some parsers that look for "Experience" or "Work history."
This is where it gets complicated and I want to be honest about what I know and don't know.
There are hundreds of ATS products: Greenhouse, Workday, Lever, Taleo, iCIMS, and on it goes. They don't all parse the same way. A few use basic keyword matching. Some do semantic similarity. Newer ones are adding LLM-based screening. A job at a 20-person startup might have a recruiter who reads everything manually. A job at a 5,000-person company with Workday might filter you at the upload step.
When I built the scorer I had to make a choice: optimize for the lowest common denominator (exact keyword match) or try to approximate the smarter systems. I went with a weighted mix. Keywords matter a lot. But so does structure, verb strength, and whether your experience section actually maps to what the job is asking for.
Jobscan's research suggests that something like 98% of Fortune 500 companies use ATS. I've seen that number cited everywhere. I don't know the original methodology. What I can say is that every recruiter I've talked to uses one — including the ones at small companies who bought the cheapest option they could find.
I'll skip the generic advice you've already read. Here's the specific stuff:
Mirror the job description's exact phrases where you legitimately did that work. If the job says "cross-functional stakeholder alignment," and you've done that, use those words. Not because it's natural language, but because you're speaking to a system that pattern-matches.
Cut the objective statement. It's almost always boilerplate, it eats space, and it rarely contains the keywords that matter.
Put skills in a dedicated section at the top, not buried in job descriptions. Some parsers pull from structured fields specifically.
If you're applying internationally, check what the ATS in that country tends to run on. French companies often use Taleo or Workday. UK companies are heavy on Greenhouse and Lever. The parsing behavior isn't identical.
I built a tool that helps people game a broken filter. That's honest. The filter is optimized for the recruiter's time, not for finding the best candidate.
But I also think the alternative — "just be authentic and let your real self shine through" — is advice that ignores how the system actually works. My friend with 40 rejections was authentic. He was also invisible.
There's a LinkedIn report from 2023 that found candidates who tailored their applications were significantly more likely to hear back, but that most candidates send the same CV everywhere. The gap between knowing this and doing it is annoying manual work. That's the problem I'm trying to make easier.
Whether the system should work this way is a separate conversation. Given that it does, I'd rather help people navigate it.
If you want to test your own CV against a job description, CVAdapt does it in about 90 seconds. Three free analyses, no account required. The score won't tell you whether you'll get the job — nothing can do that — but it'll show you the gap between your language and the job description's language, section by section.
0
6
0