Hey n8n Community,
A friend of mine is deep in job applications right now. He was telling me how much time goes into writing a cover letter for every single role – and that companies still actually read them, so he can’t skip it.
While reading through application guides I realized it’s worse than that. The CV itself is supposed to be tweaked per posting too – bullets reworded to match the job description’s vocabulary, must-haves surfaced first, etc. I told him this and he got even more frustrated. For me it was just a fun automation problem.
So I built a two-workflow setup in n8n.
Workflow 1 – CV onboarding (one-time setup)
Upload your CV as a PDF. easybits Extractor pulls every experience, education entry, skill, and contact detail into a structured Google Sheet. One row per job. Now you’ve got a clean “Master CV” database.
Workflow 2 – Tailor for a specific job (daily use)
Upload a screenshot or PDF of any job posting. Optional notes field if you want to emphasize something. Then:
- Extractor pulls structured data from the posting (must-haves, keywords, tone, language).
- A Code node calculates how well your stored CV matches the posting – deterministic keyword overlap, no AI involved. This is your “before” score.
- Gemini rewrites your experience bullets to surface real overlap with the posting, mirrors the employer’s exact phrasing where you have matching experience, and flags anything you genuinely don’t have in a
gapsarray. - Same scoring formula runs again on the rewritten bullets – this is your “after” score.
- A second Gemini call drafts a cover letter in the posting’s language and tone, referencing only what’s in your tailored CV – never claiming skills from the gaps array.
- Everything lands in a single Google Doc (CV section + cover letter), ready to paste.
The part I’m most proud of: Gemini is explicitly told to never invent experience. If a must-have isn’t in the CV, it goes in the gaps array instead of being faked into a bullet. The completion screen surfaces these gaps so you can address them in interviews. The cover letter respects the gaps too – won’t claim a skill the candidate doesn’t have. My friend’s first run: 33% → 69% match, with 3 honestly-flagged gaps and a paste-ready cover letter in under a minute.
Also kept the easybits Extractor at exactly 10 fields per workflow so it runs on the free plan. No paywall to use it.
Run the onboarding workflow first – it sets up the Master CV sheet the second workflow reads from. Happy to answer questions about the prompts or the scoring logic if anyone’s curious.
Best,
Felix
