// FEATURED 05 - 2026
JobBuddy
A pull-based job-application assistant. You find the jobs; it reads each JD, scores it against two positioning personas, drafts the tailored resume and cover letter, and tracks the outcome in a clean Google Sheet.
What it is
A personalized job-application assistant. You send in a job via a bookmarklet or URL; it reads the JD, scores it against several resume and cover-letter variations, manages your documents, watches Gmail for updates, and tracks status in a clean Google Sheet.
Why I built it
Job hunting SUCKS. I've worn a few different hats over the past 8+ years - L&D, Customer Education, Sales and Customer Success Enablement, and Product Training - and it's basically impossible to put all of that on one succinct resume. So I set up resume and cover-letter pairs that align to the roles I'm well qualified for. JobBuddy takes job descriptions - directly from the site I find them on, via a bookmarklet - and runs ATS scoring against each of my "personas." It tells me which one is the best match, exactly how good a fit I am, and takes out all of the administrative friction of tracking my application.
It saves the job description plus the exact resume and cover letter I sent out, manages application status on an easily readable Google Sheet, and watches my inbox for rejections and interview requests. The result is an incredibly low-friction experience going into each application - and a complete, accurate record of everything I apply to. And it does all of this without EVER touching the Claude API. It uses my Claude subscription instead (I never fully exhaust my usage on Claude Max), opening a headless Claude Code instance for the ATS evaluation. No API account to fund.
How it works
A bookmarklet on the job posting (or a paste box) sends the JD into a small local Express app. It scores the role against two positioning personas, then a "Prep to apply" step re-scores against the full JD and hands me the editable resume and cover letter with one-click ATS keyword swaps. One more click writes a clean row to the Applications tab. No Anthropic API key anywhere - every scoring pass shells out to a headless Claude CLI running on my Claude Max plan.
- Bookmarklet capture straight from the posting (LinkedIn, BuiltIn, anywhere), landing in a scored Inbox.
- ATS scoring against two personas - AI-Native Enablement and Customer Education - via the headless Claude CLI, never the API.
- A two-tab Google Sheet as the tracker: an Inbox working queue and a pristine Applications log.
- A Google Apps Script scans Gmail on a time trigger and updates rejection and interview status on my applied rows.