My V2 resume opened with "39 years old, 10 years of experience". I have 14. The PDF had been sleeping on OVH for four years, linked from index.php:1019, and nobody had reopened it. I wanted to fix three lines. I ended up with 36 iterations, dual ATS/recruiter scoring, a QR code that misaligned everything, and a V3 that overwrites V2 to keep the link alive.

Here is how it actually went.

The first trap: Claude cannot see my PDF

First reflex: "show me the render, I will tell you what to fix". Except Claude was running on a remote server, over SSH, no browser. No localhost reachable from my side. The PDF generated in /tmp/cv-build/cv.html was only visible to Claude — and Claude cannot look at an image.

The sentence that unblocked everything: "you do realize you're on a server and I can't access your localhost". From there, the workflow flipped: