I used to keep six versions of my CV in one folder. CV_final.docx, CV_final_v2.docx, CV_final_REAL.docx. Every application meant twenty minutes of copy, paste and guilt — and I still had no idea if the new version was better than the old one. So we built the thing I wanted: one strong base CV, scored honestly, then tailored per job without touching the facts.
TL;DR
- Rewriting your CV per job is the wrong loop. Fix the base CV once, then tailor it per job.
- Tailoring is reordering, not inventing. Same facts, better visibility.
- Score before you edit. You cannot improve what you have not measured.
- CVSet does this in three steps: Analyse → Optimise → Tailor.
- Everything below also works manually. The tool just removes the boring part.
The problem with “rewrite it for each job”
Most CV advice says the same thing: tailor your CV for every role. True, but useless on its own. It leaves you with two bad options.
Option A — send the same CV everywhere. Fast, but your best experience sits in the wrong order for that specific role.
Option B — rewrite it every time. Slow, and quality drops after application number four. You get tired, you get sloppy, and by Friday you are inventing a “passion for scalable systems” you do not have.
Both options fail for the same reason. They treat the CV as one object, when it is really two layers:
- Facts — what you did, where, when, with what result. These never change.
- Presentation — order, wording, emphasis, keywords. These should change per job.
Once you separate those layers, the work gets much smaller.
The rule we would not break: same facts, better visibility
Before writing a line of code, we set one hard constraint for CVSet:
The AI never adds a skill, a job, a number or an achievement that is not already in your CV.
No invented Kubernetes. No rounded-up team sizes. No “led” when you contributed.
This sounds limiting. It is actually the whole product. If a tool can invent, you can never trust its output — you have to re-read every line to check it did not lie about you. If it cannot invent, you can trust it and move on.
So tailoring means only four moves:
- Reorder — put the relevant experience higher.
- Reword — match the language the job description uses.
- Resurface — pull a buried bullet point up into view.
- Trim — cut what is not relevant to this role.
That is it. Nothing else.
Step 1 — Score the base CV first
Do not tailor a weak CV. You will just produce weak CVs faster.
CVSet scores your base CV across nine dimensions, including Metrics & Impact, Readability, ATS Keywords, Clarity & Brevity and Formatting. Each one is scored from four perspectives: hiring manager, recruiter, human eye, and algorithm.
The scores are not decoration. They tell you where the cheapest wins are. A CV scoring low on Metrics & Impact usually has bullets like this:
❌ Before
- Responsible for improving the checkout flow.
✅ After
- Rebuilt the checkout flow, cutting drop-off from 34% to 21% in one quarter.
Enter fullscreen mode Exit fullscreen mode
Same fact. The number was always true — it was just missing from the page.
Step 2 — Optimise once, not per job
The Optimise step turns the analysis into specific suggestions on specific lines. You resolve them once, on your base CV.
This is the part people skip, and it is the part that pays. Fixing “no quantification in the last three roles” once improves every future application. Fixing it per job means fixing it forty times.
Rule of thumb: if a fix would apply to any employer, it belongs in the base CV. If it only makes sense for one company, it belongs in tailoring.
Step 3 — Tailor against a real job description
Now the per-job work. You pick which base CV to use, and paste the job description.
Two details in that screen took the longest to get right.
Multiple base CVs, not one. People applying across countries need different conventions — a German CV and a UK CV are genuinely different documents. Each one keeps its own score.
“Continue without tailoring”. Sometimes you already applied elsewhere and just want to track the application. Forcing tailoring would make the tool annoying, so we made it optional.
Then it runs. Nine steps, one to two minutes.
We show the step count on purpose. A silent spinner for ninety seconds feels broken. A labelled step feels like work happening.
Step 4 — Read the match score honestly
The tailoring result is a weighted score across five dimensions:
match = (skills × 0.30)
+ (keywords × 0.25)
+ (language × 0.20)
+ (quality × 0.15)
+ (prioritisation× 0.10)
Enter fullscreen mode Exit fullscreen mode
Skills carries the most weight because it is the least fixable by rewording. If the role needs three years of Kubernetes and you have none, no amount of clever phrasing will close that gap — and the tool should say so, not hide it.
That 51 is the screenshot I nearly did not use. It would have been easy to show a 94.
But a tool that always says you are great is a tool that tells you nothing. 51 / NEEDS WORK is the honest, useful answer — this CV is not ready for this role yet, and here is what is missing. A gap you can see is a gap you can close, either by editing or by applying elsewhere.
Key Takeaways
- Split your CV into facts (fixed) and presentation (per job). Only the second layer should change.
- Fix the base CV once. Base-CV improvements compound across every application.
- Tailoring = reorder, reword, resurface, trim. Never invent.
- Match the employer’s vocabulary, not your preferred synonym.
- A low score you can act on beats a high score that flatters you.
- Keep separate base CVs per region if you apply internationally.
Your turn
What is your current process — one master CV, or a folder full of _final_v3 files? And if you tailor manually, what is the one step you refuse to skip? I am curious whether the 10-keyword rule matches what other people do.
Next post, I want to go deeper into the scoring side: why we cap some dimensions below 100, and why an honest ceiling is more useful than a perfect score.
You can try the flow at cvset.io.



