🎯 ATS CV Checker
Paste your CV and job description together. The production AI endpoint can calculate semantic match, keyword gaps and recommendations.
A critique of the text, not a portal’s parser
ATS Checker posts to /api/ai with task: "ats". The prompt asks for strengths, missing keywords, skill gaps, formatting or content risks, and concrete improvements, and it asks the model to be specific. The call uses the same caps as the other text tasks: 30,000 characters in, about 1,800 tokens out, temperature 0.3. There is no numeric score in the Worker. If the completion invents a percentage, treat it as rhetoric.
If the CV PDF has no text layer, the critique is about nothing useful. A PDF from CV Maker is one of those files: html2canvas photographs the preview, so dropping it here does not recover the bullets. Paste the text from the form. The POST is HTTPS. The Worker does not store the CV.
| ATS task | |
|---|---|
| Input | CV text and, if you paste it, one job description |
| Output | A written critique |
| Employer system | Not connected |
| Empty PDF | Looks like a weak CV because there are no words |
One posting, one file you can highlight
A designed PDF
Extract it first. If the jobs come out in the wrong order, fix the template. Do not ask the checker to imagine the layout it cannot see.
A keyword list
Keep the ones that match a bullet you already wrote. Add the posting’s name for a certification you hold, in parentheses, if your line used a different name for the same card.
A second posting
Clear the box. A critique that mixes two requisitions will tell you to emphasize a tool only one of them asked for.
After you edit
Re-export the PDF and extract again. The checker’s advice about the previous paste is stale the moment the file changes.
Extract, paste one job, then edit the CV
- Paste the CV text from the form, not from a photographed PDF.
- Add one job description.
- Read the critique. Change only lines you can defend.
- Export again. Do not upload the previous PDF because the advice was about a different file.
What the checker cannot see is the designed CV that extracted as a blank.
One requisition, text you typed
Paste the CV from the form and one job description. A CV Maker PDF is a JPEG of the preview, so dropping that file here feeds the checker an empty extract and the critique will scold a blank. The Worker does not connect to an employer parser and does not return a real score. If the completion includes a percentage, ignore the percentage and read the specific gaps.
Add a keyword only when a bullet you already wrote supports it. Re-run after you edit, because the previous critique describes the previous paste. Thirty thousand characters is the slice. A CV plus three postings drops the tail.
Frequently asked questions
Is this the score Workday will show?
No. The prompt asks for strengths, missing keywords, skill gaps, formatting risks, and concrete improvements. It is a model reading the text you sent. It is not plugged into an employer’s parser, and it does not see a PDF that is only a picture.
It says I am missing a keyword. Should I add it?
Add it only if the work is true and already implied by a bullet. A keyword with no supporting line is stuffing. The checker is allowed to be specific. It is not allowed to invent your career, and neither are you.
Why did a CV Maker PDF look empty to the checker?
That download is a JPEG photograph of the preview, not a text layer. The checker reads extracted text. Paste the bullets from the form. PDF to Word on that PDF will not reconstruct the jobs either.
How much text is analyzed?
Up to 30,000 characters. A CV plus three job descriptions can exceed that, and the tail is dropped before the model runs. Paste one posting.
Is my CV stored for later checks?
No. The Worker returns the critique and does not keep the prompt. You still sent the CV text. Remove phone numbers you do not need the model to comment on.
The advice contradicts the posting.
The posting wins if you pasted it. If you did not paste it, the model used a generic idea of the job. Re-run with the actual requisition in the box.