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" },
];
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? %?");
"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)