I spent years keeping my CV tidy. One page. Clean formatting. Relevant experience up front. All the things career coaches told me to do.
Then I realized none of those people were thinking about the AI that reads my CV before any human does.
The World That No Longer Exists
The traditional CV was optimized for a recruiter who opens a PDF, scans it for 8 seconds, and decides if it’s worth reading. That world still exists — but it now sits behind a filter: an ATS, a keyword matcher and, nowadays, an LLM that scores your fit against a job description before your name ever reaches a human inbox.
The problem isn’t that CVs are dead. It’s that most CVs are still written for the final reader, ignoring all the automated readers that come before.
I decided to rebuild mine from scratch with that reality in mind.
The Insight: Two Files, Two Readers
The shift that changed everything was separating the CV into two distinct artifacts:
`cv-master.md` — a rich, exhaustive Markdown file meant to be read by an LLM. No length limit. Every project, every stack, every context. The source of truth.
`cv-[company]-[role].md` — a clean, tailored document generated from the master. 1–2 pages. Keyword-matched to a specific job posting. Zero metadata. Ready for ATS and humans alike.
The master is never sent. It’s the codebase. The tailored CV is the build artifact.
Building the Master: Going Beyond the Obvious
Converting my old Word-exported CV to structured Markdown was the easy part. What came next was the enrichment — and that’s where it got interesting.
LinkedIn Export as a Data Source
LinkedIn lets you download your full data as a ZIP archive. Inside: positions, certifications, projects, languages, recommendations received. I fed all of it to Claude and let it reconcile everything against my existing CV.
Three previous roles I had collapsed into one entry were restored with correct dates. A contractor role I had forgotten to include reappeared. Eight certifications, properly grouped by category, replaced the two I had listed.
But the most unexpected source of signal was the recommendations.
When Claude processed my LinkedIn recommendations, it didn’t just extract what people said. It extracted *how they described me to others* — the specific language a former colleague used to explain my value to a third party. Phrases like “fast domain onboarding”, “business and technical dual fluency”, “technology change agent”. None of those were in my CV. All of them were truer than anything I had written myself.
The AI-NOTE Discovery
During this exercise I discovered an approach I initially did not think about, the technique I’m most excited about: `[AI-NOTE]`.
An `[AI-NOTE]` is a line of metadata embedded in the master CV, written for the LLM that will read it — not for any human. It looks like this:
DevOps Lead @ CompanyX | 2020–2023[AI-NOTE: Highlight for: SRE, Platform Eng, Cloud Architect.De-emphasize for: pure Dev, Backend, Data roles.][AI-NOTE: teammate (2023) described this role as "technology change agent"with Python/Java/DevOps — use as social proof in cover letters.] Redesigned CI/CD pipeline reducing deploy time from 45 to 8 minutes Introduced IaC across 3 environments, eliminating configuration drift
The AI-NOTE is never sent. It is stripped out during tailored CV generation. But while it exists in the master, it acts as a director’s commentary — telling the LLM which roles this entry is relevant for, what third parties have said about it, and how to reframe it depending on context.
I ended up with three levels of annotation:
- Global — one note at the top of the file defining generation rules
- Section-level — one note per `##` section with selection logic
- Entry-level — one or more notes per `###` role or project with target-role guidance
What LinkedIn Inferred About Me (That I Didn’t Know)
LinkedIn’s data export includes a file called `Inferences_about_you.csv`. It contains what the platform has algorithmically concluded about you for advertising purposes.
Mine said: Freelancer: true.
I had never described myself as a freelancer. But LinkedIn’s algorithm, reading my headline, summary, and activity patterns, had concluded that’s how my profile reads. That’s a signal — not for an advertiser, but for me! It means my profile communicates autonomy and independent delivery, which is exactly the positioning I want for startup and scale-up roles.
I added it as an AI-NOTE in the Summary section:
AI-NOTE: LinkedIn infers "Freelancer" from this profile — lean intoautonomy, ownership, and independent delivery when targetingstartup or scale-up roles.
The Result: A CV That Knows Itself
After two sessions with Claude Code, `cv-master.md` contains:
- 7 work experience entries with accurate dates and rich context
- 4 personal AI/data projects with stack details and target-role annotations
- 8 certifications grouped by category with links
- 3 languages
- A full three-level AI-NOTE annotation layer
- Third-party language extracted from LinkedIn recommendations, embedded as contextual metadata
- Skills tagged with portfolio proof (vibeops.one posts as evidence for AI/data engineering claims)
The first tailored CV I generated from it — for a GitLab Developer Advocate role — took less than 2 minutes. Claude read the job posting, matched it against the master, and produced a document where the Content & Community section led, the vibeops.one blog was framed as existing developer audience, and a recommendation quote was used as inline social proof.
That CV knows what role it’s applying for. The master CV makes that possible.
What’s Next
The workflow still requires a manual trigger — paste a URL, ask Claude to generate. The natural next step is extending it with search capabilities: feed it a role type and location, get a ranked list of relevant postings, generate tailored CVs automatically.
Not there yet. But the foundation is in place.
If you want to try this yourself, start simple: convert your current CV to clean Markdown, add one global `[AI-NOTE]` at the top defining the generation rules, and try generating a tailored version for your next application. The infrastructure doesn’t need to be complex. The insight just needs to be there.
Your CV is being read by machines first. Write it for them too.

Leave a comment