Resume & Cover Letter Tailor
A six-agent sequential pipeline that treats job applications as an intelligence problem — researching the company, dissecting the JD, rewriting the resume, writing the cover letter, and running a full QA review before delivering the output.
6
Specialized Agents
3
Deliverables Per Run
400
Word Cover Letter Max
The Problem
Tailoring a resume for every application is skilled, time-consuming work
A well-tailored job application requires several distinct skills: understanding what the company values, dissecting the job description for ATS keywords and must-have requirements, strategically reframing existing experience without fabricating, writing in active voice with strong action verbs, and producing a cover letter that adds narrative context the resume can't. Most candidates either skip this work entirely — submitting the same generic resume everywhere — or spend hours on each application with inconsistent results. Neither approach is competitive.
The Solution
Six specialized agents — each owning one stage of the application process
Resume & Cover Letter Tailor is a six-agent sequential CrewAI pipeline where each agent owns exactly one stage of the tailoring process. The Company Researcher profiles the target employer. The JD Analyst extracts must-haves, nice-to-haves, and ATS keywords in exact JD phrasing. The Resume Strategist performs gap analysis and produces an instructional brief — never rewriting a single bullet itself. The Resume Writer executes that strategy into a fully tailored, ATS-optimised resume. The Cover Letter Writer produces a personalised 3–4 paragraph letter matched to the company's culture tone. Finally, the QA Reviewer checks the full application package for cross-document consistency, factual alignment, ATS coverage, and formatting safety — and delivers a numbered issue list with verdict.
Key Outcome
From a single resume upload and job description paste, the pipeline delivers a tailored resume, a personalised cover letter, and a QA report — all as downloadable .docx files — without fabricating a single credential or inventing a single metric.
Technical Deep Dive
Architecture & Design
Pipeline Flow
Agent 1
Company Researcher
No prior contextAgent 2
JD Analyst
No prior contextAgent 3
Resume Strategist
Agent 4
Resume Writer
Agent 5
Cover Letter Writer
Agent 6
QA Reviewer
Agent 1
Company Researcher
Receives scraped and sanitised company page text via CompanyResearchTool. Produces a structured profile capturing mission and values, culture signals, technology stack, and tone cues — all used downstream to personalise both the resume framing and cover letter voice.
Agent 2
JD Analyst
Analyses the raw job description and returns a structured role profile. All output uses exact JD phrasing — paraphrasing would reduce ATS matching value. Extracts top 5 must-have technical skills, top 5 soft skills, up to 6 key responsibilities, ATS keywords, culture signals, and any red flags.
Agent 3
Resume Strategist
Uses ResumeParserTool to get a section-structured view of the candidate's resume, then performs gap analysis against the JD role profile. Produces a strategy brief — never rewriting bullets itself — instructing the writer exactly what to amplify, remove, reframe, and which ATS keywords to integrate.
Agent 4
Resume Writer
Executes the strategy brief into a fully rewritten resume in clean markdown. Enforces active voice, strong action verbs, and natural ATS keyword integration. Quantifies achievements where source data permits — never fabricates numbers. Outputs sections: Contact, Summary, Experience, Skills, Education.
Agent 5
Cover Letter Writer
Writes a personalised 3–4 paragraph cover letter under 400 words using all upstream context — role profile, strategy brief, completed resume, and company research. Tone is matched to culture signals from the JD analysis. The letter adds narrative the resume cannot; it does not summarise the resume.
Agent 6
QA Reviewer
Performs a structured quality review of the full application package. Checks cross-document consistency, factual alignment, tone coherence, ATS keyword coverage, formatting safety, and recruiter-visible red flags. Delivers a numbered issue list with location, problem, and suggested fix — plus an overall verdict: Ready to Submit, Minor Revisions Needed, or Major Revisions Needed.
Key Design Decisions
Strategy and writing are separated by design
The Resume Strategist never rewrites a single bullet — its role is diagnostic and instructional only. This division keeps the Resume Writer's output grounded in a coherent, deliberate strategy rather than ad hoc rewriting. The strategist tells the writer what to do; the writer executes it.
ATS keywords preserved in exact JD phrasing
The JD Analyst is explicitly instructed to extract keywords verbatim from the job description — not to paraphrase. Paraphrasing reduces ATS matching value because automated screening systems compare exact strings. The Resume Writer then integrates these terms naturally rather than keyword-stuffing.
Company URL scraping requires aggressive sanitisation
Raw scraped HTML injected into a CrewAI task description causes crashes due to template interpolation of curly braces and square brackets. The scraper strips all HTML tags, replaces { } [ ] with ( ), removes @ symbols, strips URLs, and truncates to 1,500 characters before passing content to the crew. This sanitisation step is non-negotiable.
DOCX parsing must traverse both paragraphs and tables
Most professionally designed resume templates use table-based layouts in DOCX. python-docx's paragraph traversal returns nothing for these files. The parser always traverses doc.tables as well — skipping this step is the most common cause of empty resume extraction and the single most impactful parsing lesson from building this system.
Tech Stack
| Technology | Purpose |
|---|---|
| CrewAI | Multi-agent orchestration and YAML-driven agent configuration |
| GPT-4o-mini | LLM backbone for all 6 agents — temperature fixed at 0.2 |
| Gradio | Web UI with file upload, streaming agent progress, and output tabs |
| Hugging Face Spaces | Zero-config cloud deployment; also runs locally via uv |
| pdfplumber / pypdf | PDF resume text extraction with fallback support |
| python-docx | DOCX resume parsing and markdown-to-DOCX export |
| queue.Queue | Bridges crew background thread and Gradio generator for streaming |
| Python | Core language and pipeline orchestration |
Results & Metrics
What the system delivers
6
Specialized Agents
Each owning one stage — from company research to QA review — with no delegation between agents
3
Deliverables Per Run
Tailored resume, personalised cover letter, and QA report — all downloadable as .docx files
0
Fabricated Credentials
The pipeline reframes existing experience — it never invents metrics, skills, or roles not in the source resume
ATS-optimised output
Keywords are extracted in exact JD phrasing and integrated naturally into the resume — not keyword-stuffed. The QA Reviewer explicitly checks ATS keyword coverage as part of its structured review checklist.
Structured QA with verdicts
The QA Reviewer checks 7 dimensions — cross-document consistency, factual alignment, tone coherence, ATS coverage, formatting safety, cover letter quality, and red flags — and delivers a numbered issue list with a final verdict of Ready to Submit, Minor Revisions Needed, or Major Revisions Needed.
Live streaming progress
A queue.Queue bridges the crew background thread and Gradio's generator — streaming each agent's output to the browser incrementally as it completes rather than waiting for the full pipeline to finish.
PDF and DOCX input support
The parser handles both PDF and DOCX resume formats. DOCX parsing traverses both paragraphs and tables — critical for professionally designed resume templates that use table-based layouts and return nothing from paragraph traversal alone.
Agent Roster
| Agent | Responsibility |
|---|---|
| Company Researcher | Produces structured company profile from scraped page text |
| JD Analyst | Extracts must-haves, ATS keywords, and role profile in exact JD phrasing |
| Resume Strategist | Gap analysis and instructional strategy brief — no rewriting |
| Resume Writer | Fully rewritten ATS-optimised resume in markdown |
| Cover Letter Writer | Personalised cover letter matched to company culture tone |
| QA Reviewer | Full application package review with numbered issues and verdict |