// 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.

Stack
Node 20, Express, Claude CLI, Google Sheets API, launchd
Status
In progress
Built with
Claude Code
The inbox: each role scored against both personas, with the stronger fit recommended and one click to prep.

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.