How to tailor a cover letter to a job description
A practical before-and-after showing how to connect a real job description to evidence from your experience without inventing claims.
Herve H.
Founder of xelys jobs

Most cover letters fail before the first sentence is finished. Not because the candidate lacks experience, but because the letter begins with information the recruiter already knows: the job title, the company name, and a generic statement of interest.
A tailored letter does something more useful. It connects a small number of requirements from the job description to evidence the candidate can defend in an interview.
The scenario below is representative of a real senior frontend application workflow. The details are anonymized and it is not presented as a customer testimonial or hiring result.
The job description
Imagine a senior frontend role with four recurring requirements:
- own customer-facing features from discovery to production;
- work in Vue and TypeScript;
- improve performance on a complex dashboard;
- collaborate with product, design, and backend teams.
The candidate's resume contains these relevant facts:
- led a Vue 3 migration for an analytics product;
- reduced the main dashboard bundle by 38 percent;
- introduced a shared component library used by three teams;
- worked directly with a product manager and designer on quarterly releases.
There is already enough material for a strong letter. The difficult part is selecting it.
The generic version
Dear Hiring Manager, I am writing to express my interest in the Senior
Frontend Engineer position. With several years of frontend development
experience and strong skills in Vue, TypeScript, and modern CSS, I believe I
would be a great addition to your team. I am passionate, detail-oriented, and
a fast learner.
Nothing in this paragraph is necessarily false. The problem is that none of it helps the recruiter evaluate the candidate. Another applicant could send the same paragraph after changing the job title.
Three phrases should trigger an editing pass:
- "I am writing to express my interest" uses space without adding information.
- "Strong skills" makes a claim without showing evidence.
- "Passionate" and "fast learner" describe qualities that the recruiter cannot verify.
Choose three connections, not ten keywords
Start by making a two-column list. Put the employer's requirement on the left and one piece of evidence on the right.
| What the role needs | Evidence from the candidate |
|---|---|
| Vue and TypeScript ownership | Led a Vue 3 migration |
| Dashboard performance | Reduced the main bundle by 38 percent |
| Cross-functional delivery | Shipped quarterly releases with product and design |
The component library is relevant, but it is not essential to this particular story. Saving it for the interview is better than forcing every achievement into the letter.
The tailored version
Your team is looking for someone who can own complex frontend work through
production. That has been the focus of my current role: I led our analytics
product's migration to Vue 3, reduced the main dashboard bundle by 38 percent,
and shipped quarterly releases alongside product and design.
The combination of performance work and cross-functional ownership is what
drew me to this position. I would be glad to discuss how we planned the
migration, measured the result, and kept feature delivery moving while the
architecture changed.
This version is shorter, but it gives the recruiter three useful signals:
- The candidate understood the central requirement.
- The experience is connected to a measurable result.
- The final sentence opens a credible interview conversation.
Check every claim against the resume
Tailoring does not mean making the candidate sound closer to the role than they really are. It means choosing the most relevant truthful evidence.
Before sending, ask:
- Can I point to where this fact appears in my resume or profile?
- Could I explain my personal contribution if challenged?
- Is the number accurate and is its meaning clear?
- Did I borrow wording from the job description without pretending to have experience I lack?
If the role asks for React and the candidate has only used Vue, do not quietly replace one framework with the other. A defensible sentence would be: "My production experience is in Vue and TypeScript, and the component architecture and testing practices described in the role are familiar territory."
That acknowledges the gap while explaining the transferable part.
Make the opening specific
The opening does not need praise about the company's mission. It needs a reason for this application.
Useful reasons include:
- the product has a technical problem related to work you have already done;
- the role combines responsibilities that are usually separated;
- the company is entering a stage where your experience is particularly relevant;
- the job description names an outcome you genuinely want to own.
Avoid claims such as "I have always admired your company" unless that is true and you can explain why.
A five-minute final edit
Read the letter once for each of these questions:
- Evidence: Does every important claim have support?
- Relevance: Does each paragraph help with this specific role?
- Voice: Would I say this aloud in a professional conversation?
- Accuracy: Are the company, title, names, dates, and numbers correct?
- Length: Can I remove a sentence without losing useful information?
The result should not feel like a complete autobiography. It should feel like a well-chosen introduction to the interview you want to have.
AI can accelerate the comparison between a resume and a job description, but selection and verification still belong to the candidate. A draft is useful only when you can stand behind every sentence.