I Built an AI Resume Tailoring Tool This Week. Here's What I Learned.
45 minutes per application down to 5. Now using it for my own job search.
TL;DR: Built a tool that takes your Master CV + a job description, uses multi-stage LLM calls to extract what recruiters actually want, selects your best bullets, outputs a pixel-perfect one-page PDF, and generates personalized outreach messages. 45 minutes to 5 minutes. Now using it for my own job search.
One of the things I love about this moment in tech: AI has made it possible to build real software solutions for your own problems, fast.
I'm not talking about vibe coding or demos. I mean actual, usable products that solve workflows you deal with every day.
This week, that problem was job applications.
If you've applied to jobs recently, you know the pain. Read the JD. Open your resume. Try to figure out what they actually want. Manually shuffle bullets around. Rewrite your summary. Pray it fits on one page. Copy-paste into a "personalized" outreach message.
45 minutes per application. Repeat 50 times.
I kept thinking: this is a workflow problem. And workflow problems can be solved with software.
So I built something.
The Problem I Couldn't Stop Thinking About
The traditional resume tailoring approach has two failure modes:
Mode 1: Spray and pray. Send the same resume everywhere. Save time, but get filtered out because you look generic.
Mode 2: Artisanal crafting. Spend an hour per application getting every detail right. Better results, but unsustainable at scale.
Neither works. The job search is a numbers game that rewards quality. You need both.
The real question: what does "tailoring" actually mean?
It's not rewriting bullets. It's selection — knowing which of your 50+ accomplishments best prove you can do this specific job.
And selection requires understanding what the job actually requires. Not the generic "team player" stuff. The 3-5 specific, non-negotiable requirements buried in the JD.
What I Built: Chamfer
The core insight: treat your resume as a Master CV — a complete database of every bullet, skill, and accomplishment you've ever had.
Then tailoring becomes a query: given this job description, which bullets should I select? In what order? What story do they tell?
The Workflow
Paste the job description. That's your only input.
AI extracts what actually matters. Not generic requirements — the 3-5 specific must-haves that differentiate this role. "5+ years B2B SaaS" or "shipped 0-to-1 products" or "fintech experience."
Intelligent bullet selection. The AI selects from your Master CV — not rewriting, but choosing. Which of your experiences prove you meet each must-have? What order tells the best story?
Differentiators highlighted. Your 2-3 strongest proof points, with explanations of why they matter for this specific role.
Summary rewritten. A tight 2-3 sentences that directly address the must-haves. Not fluffy. Targeted.
Inline editing. Click any text to tweak it. The AI gets you 90% there. You know your experience best.
One-page PDF. Download a pixel-perfect resume. Guaranteed to fit.
Personalized outreach. Three ready-to-send messages (hiring manager, recruiter, referrer) that reference your specific differentiators.
Auto-saved to tracker. Pipeline view shows all your applications by status. No spreadsheet needed.
The Technical Insight: Multiple LLM Calls > One Mega-Prompt
Here's what I learned building this: complex workflows need staged AI calls.
Most AI products throw everything at one prompt. "Here's my resume and a JD, make it better."
The results are... fine. Generic. The AI rewrites things that don't need rewriting. It misses what actually matters.
Chamfer uses a 3-stage pipeline:
Stage 1: JD Analysis — Extract must-haves
Stage 2a: Resume Tailor — Select bullets, rewrite summary
Stage 2b: Outreach Gen — Create personalized messages
Each stage has a focused job. The output of each stage feeds the next.
Why this works:
Focused prompts = better outputs. Single responsibility per call.
Context compounds. Must-haves inform bullet selection. Differentiators inform outreach.
Independent optimization. Different token limits, temperatures, output formats per stage.
The compound effect beats one big prompt every time.
The UX That Made It Actually Usable
Building the AI pipeline was one challenge. Making it feel good to use was another.
Real-time streaming. Watch your resume generate token by token. No waiting on spinners.
Inline editing. Click any text to edit. No modal. No separate "edit mode." Just click and type.
One-click copy. Outreach messages copy with formatting intact. Bold text stays bold in LinkedIn.
Auto-save. When tailoring completes, it's in your tracker. Zero extra clicks.
Pipeline dashboard. See all your applications at a glance. Change status inline.
Results
What used to take 45 minutes now takes 5:
Paste JD (30 seconds). Review must-haves and differentiators (2 minutes). Quick edits if needed (1-2 minutes). Download PDF, copy outreach messages.
10x faster. Better targeting. Using it for my own job search.
What I Learned
1. AI makes "build for yourself" actually viable. A week ago this was an idea. Now it's a product I use daily. The iteration speed is insane.
2. Multi-stage LLM architectures are underrated. Decompose complex workflows. Each stage gets focused constraints. Context flows forward. Compound results.
3. Solve the whole workflow. Tailoring without tracking is incomplete. End-to-end wins.
The Stack
Next.js 16 (App Router), Claude API with streaming, Puppeteer for PDF generation, Tailwind CSS, localStorage for simple persistence in v1.
Currently using this for my own job search. If you're interested in early access, DM me or check it out at Chamfer.app.