DEV Community

Devanshu Biswas
Devanshu Biswas

Posted on

A Resume Bullet Improver in 40 Lines of Regex (No AI Needed)

A recruiter scans a resume in ~6 seconds. Bullets that start "Responsible for…" with no numbers are invisible. Here's a tiny tool that fixes the two failures that sink most bullets — no AI key required. Day 5 of my SolveFromZero series.

Kill weak openers

A short list of regexes catches the usual offenders and swaps in a strong action verb:

const WEAK = [
  { re: /^responsible for /i, verb: "Owned" },
  { re: /^worked on /i,       verb: "Built" },
  { re: /^helped /i,          verb: "Drove" },
];
Enter fullscreen mode Exit fullscreen mode

Recruiters are trained to scan for verbs first — so lead with one.

Demand a number

if (!/\d/.test(bullet)) note("Add a metric — by how much? how many? %?");
Enter fullscreen mode Exit fullscreen mode

"Improved performance" is forgettable. "Cut latency 40%" is hireable. Numbers are the single biggest upgrade to any bullet.

The Verb · What · Impact formula

Every strong bullet has three parts:

Cut homepage load time 40% by lazy-loading images*, lifting signups 12%.*
↑verb ↑what + how ↑measurable impact

Teach the shape and any bullet becomes rewritable — by a human or, later, by an LLM with the same formula in the prompt.

Rules now, AI later

This version is pure regex: offline, explainable, instant. Swap the rules for an LLM call ("rewrite to Verb · What · Impact, keep it truthful") and you get nuance — but the formula it follows is exactly these rules. The reusable pattern — detect anti-patterns → suggest the fix → show what changed — works for commit messages, PR descriptions, and cover letters too.

📝 Try it on a weak bullet: https://dev48v.infy.uk/solve/day5-resume-improver.html

Day 5 of SolveFromZero.

Top comments (0)