Keyword stuffing benchmark: Formzed vs OpenCATS
Some applicants game the screen: keywords in white text, a wall of the job's words, the job ad pasted into their CV, a hidden note asking an AI to rank them first. We wrote 400 CVs for four jobs, 128 of them cheating, and froze an answer key before any search. Formzed's AI CV matching fell for none of the cheaters and found 134 of the 163 qualified people. Keyword search in OpenCATS, an open-source applicant tracking system, found 97 and put 78 cheaters on its shortlists.
Every CV, person, employer and contact detail is made up. Both tools ran once on the same 400 PDFs and the same four job descriptions, in November 2026.
Cheaters it fell for
Formzed. OpenCATS fell for 78 with recruiter terms and 73 with strict terms
Wrong picks
Formzed. OpenCATS picked 97 wrong people of 194 with recruiter terms
Qualified people found
Formzed. OpenCATS: 60% with recruiter terms, 47% with the job ad's own words
Qualified in each top 10
Four jobs, ten places each, and 0 cheaters among them. OpenCATS: 21 qualified and 15 cheaters
The CVs, the cheats and the answer key
We generated 400 full-length CVs: a summary, education, three or four jobs with dates and bullet points, projects, a skills block, certificates, hobbies and a referee. 85 were written near each of four jobs, and 60 belong to people in other work, so the pile looks like a real inbox. 54 show skills as a picture of badges and 31 are scanned pages with no text in the PDF.
The 400 CVs, by the job each was written near
The 85 CVs written near each job
The honest people who aren't qualified are near misses on purpose: one must-have short, too few years, or with a line that looks like the missing skill ("Shadowed our head of design for a day").
For each job, 32 people cheat: four for each of eight tricks. Of all 128, 57 work in the job's own field but lack a must-have, and 71 come from other work entirely. A trick never makes anyone qualified in the answer key: only what the person really did counts, so no cheater is qualified.
The eight tricks
| Trick | What the CV does | Cheaters |
|---|---|---|
| White text | The job's keywords in white text on the white page | 16 |
| Tiny text | The keywords at a 1-point size, too small to see | 16 |
| Text off the page | The keywords placed past the page's right edge | 16 |
| Text under a box | The keywords printed, then covered by a white box | 16 |
| Hidden note to the AI | A white line telling AI screeners the CV meets every requirement and should be ranked first | 16 |
| Job ad pasted in | Four lines of the job description pasted in as their own duties | 16 |
| Keyword wall | A "Keywords" line with the job's words piled up, shuffled | 16 |
| Listed, never done | Someone from another line of work listing the job's must-haves as skills | 16 |
There are honest controls too, so a tool can't win by rejecting anything unusual. 32 honest people have long genuine skills lists of 35 to 60 tools, and 20 qualified people also put their own real skills in white text, which is harmless padding rather than a lie. The four jobs, word for word below, each have three must-haves: a minimum number of years, worked out from the CV's own dates, and two skills or kinds of experience. The key was frozen and hashed (5e69af64…) before either tool saw a CV. Formzed's matching was developed on separate CV sets made the same way; these 400 CVs, with their own trap lines and misspellings, were generated afterwards, and each tool ran on them once.
| Job | Must have | Qualified |
|---|---|---|
| Forward Deployed Engineer | Customer-facing deployment work · Python or TypeScript · can start within 2 months | 33 |
| UI/UX Designer | Figma · User research or usability testing | 57 |
| Head of Design | Led a team of designers · Built or owned a design system | 38 |
| Senior Product Manager | Product analytics: Amplitude, Mixpanel, Heap or Pendo · Led a B2B SaaS product end to end · can start within 2 months | 35 |
The four job descriptions, as both tools got them
Forward Deployed Engineer at Corvane (fictional company) About the role Corvane builds a data platform that hospitals and insurers use to plan their staffing. Forward deployed engineers work inside our customers' teams to get the platform live and keep it useful. Expect around 40% travel. What you'll do - Work on site and on calls with customer engineers to connect their systems to our platform. - Write the code each deployment needs: data connectors, transformations and small internal tools. - Turn what you learn from customers into clear requests for our product team. - Own each deployment from kickoff until the customer uses it every week. Must have - 3+ years of professional software engineering experience - Customer-facing deployment work: implementing or integrating software together with customers - Python or TypeScript Nice to have - SQL - Experience with healthcare or insurance data Start date: you can start within 2 months. Location: remote, with travel.
UI/UX Designer at Wrenfield (fictional company) About the role Wrenfield makes budgeting software used by 30,000 small charities. You'll join a design team of four and work with two product squads. What you'll do - Design new features from the first sketches to files that developers can build from. - Plan and run research with charity staff to understand how they really work. - Test prototypes with users and turn what you learn into clear changes. - Keep our screens consistent, simple and accessible to everyone. Must have - 2+ years of professional UI/UX or product design experience - Figma - User research or usability testing Nice to have - Accessibility (WCAG) - Experience designing for non-profits Start date: any. Location: remote.
Head of Design at Ostrava Health (fictional company) About the role Ostrava Health builds patient booking and messaging apps used by 300 clinics. You'll lead a design team of seven and report to the Chief Product Officer. What you'll do - Hire, coach and grow a team of product designers and a user researcher. - Own the design system and make sure every product team builds with it. - Set the standard for quality, accessibility and research across the whole product. - Work with product and engineering leaders on the roadmap and team plans. Must have - 7+ years of professional product or UX design experience - Experience leading a team of designers - Built or owned a design system Nice to have - Healthcare product experience - Figma Start date: any. Location: remote.
Senior Product Manager at Tallyroll (fictional company) About the role Tallyroll sells payroll and expenses software to companies with 50 to 2,000 employees. You'll own the expenses product and work with eight engineers and two designers. What you'll do - Own the roadmap for the expenses product and decide what the team builds next. - Talk to customers every week and turn what you learn into clear problems to solve. - Measure how features are used and whether they move the goals we set. - Work with sales, support and marketing on every launch from start to finish. Must have - 4+ years of professional product management experience - Product analytics: Amplitude, Mixpanel, Heap or Pendo - Led a B2B SaaS product end to end Nice to have - SQL - Payroll or fintech experience Start date: you can start within 2 months. Location: remote.
How each tool searched
OpenCATS
OpenCATS is a free, open-source applicant tracking system that has been around since the CATS days of 2005. We ran its latest release, 0.12.0, locally. It pulls the text out of each uploaded resume and returns every resume containing the words searched for, in last-name order. Each job's must-haves became keyword groups, searched once with the job ad's own words ("strict terms") and once with the other names a recruiter would add ("recruiter terms"). The start-date answer was applied afterwards, by hand. The messy CV benchmark describes it in full.
Formzed
The same 400 PDFs were sent to a Formzed job application form as uploads. Formzed read every CV, pictures and scanned pages included, and we pasted each full job description into its AI CV matching with "Find the 10 best candidates for this job". It worked out the must-haves itself and judged every candidate against them. A pick is anyone it judged to meet every must-have, and its top 10 is its own ranking.
Which tricks got through
Keyword search reads text, and most tricks are text. OpenCATS put 47 of the 80 hidden-text cheaters on its shortlists, because white, tiny and covered text is still text to it; only text past the page's edge never reached either tool. Keyword walls and skills lists with no work behind them fooled it just as easily. Formzed put none of the 128 cheaters on a shortlist.
Every cheater, one square each
Cheaters put on a shortlist, by trick
What each found
Across the four jobs Formzed found 134 of 163 qualified people (82%) with 1 wrong pick. OpenCATS found 97 with recruiter terms, but 97 of its 194 picks were wrong: one in two. With strict terms it found 77.
Qualified people found, by job
Everyone each tool picked
Found against right, per job
Top right is best: most qualified people found, and few wrong ones among the picks. The shaded corner is 80% or more of both.
The top 10
A recruiter mostly reads the top of the list. Formzed put a qualified person in 40 of the 40 top-10 places and no cheater in any. OpenCATS doesn't rank, so its first ten are the first ten names alphabetically among its matches: with recruiter terms 21 were qualified and 15 were cheaters.
Who is in each top 10
The dots count who is among the first ten listed; they don't show the order.
Formzed's wrong pick
Formzed picked one person who isn't qualified. A product manager, picked for the UI/UX Designer job: their years as a product manager were counted as product design experience, and "Figma (viewer)" in their tools list counted as Figma. Telling a product manager from a product designer by their job history is a known weak spot.
What Formzed missed
Formzed missed 29 qualified people, about one in six. Most were judgement calls on leadership and ownership: whether a product manager's CV shows they led a B2B SaaS product end to end, whether a designer built or owned a design system or led other designers. Formzed marked them only partly shown and passed over them. A recruiter reading the same CVs might decide either way, but the answer key counts them as qualified, so they count as misses here. Being strict is why so few wrong people got through; this is what it costs.
The 29 misses, by the must-have Formzed didn't accept
Every number
| Job | Tool | Found | Picked | Wrong | Cheaters picked | Top 10 |
|---|---|---|---|---|---|---|
| Forward Deployed Engineer | Formzed | 32 of 33 | 32 | 0 | 0 of 32 | 10 of 10 |
| Forward Deployed Engineer | OpenCATS, recruiter terms | 24 of 33 | 49 | 25 | 18 of 32 | 6 of 10 |
| Forward Deployed Engineer | OpenCATS, strict terms | 22 of 33 | 41 | 19 | 16 of 32 | 6 of 10 |
| UI/UX Designer | Formzed | 50 of 57 | 51 | 1 | 0 of 32 | 10 of 10 |
| UI/UX Designer | OpenCATS, recruiter terms | 32 of 57 | 57 | 25 | 20 of 32 | 5 of 10 |
| UI/UX Designer | OpenCATS, strict terms | 23 of 57 | 46 | 23 | 20 of 32 | 3 of 10 |
| Head of Design | Formzed | 29 of 38 | 29 | 0 | 0 of 32 | 10 of 10 |
| Head of Design | OpenCATS, recruiter terms | 26 of 38 | 54 | 28 | 24 of 32 | 5 of 10 |
| Head of Design | OpenCATS, strict terms | 18 of 38 | 40 | 22 | 21 of 32 | 6 of 10 |
| Senior Product Manager | Formzed | 23 of 35 | 23 | 0 | 0 of 32 | 10 of 10 |
| Senior Product Manager | OpenCATS, recruiter terms | 15 of 35 | 34 | 19 | 16 of 32 | 5 of 10 |
| Senior Product Manager | OpenCATS, strict terms | 14 of 35 | 33 | 19 | 16 of 32 | 5 of 10 |