Alan Abishek
← All work

Case 03

Personal project · 2026

Close resume–JD keyword gaps and export ATS-safe docs

  • ATS export
  • JD scan
  • Local-first

Local-first resume matcher: scan a job description, close keyword gaps with accept/skip optimize, export ATS-safe PDF/DOCX, and track applications.

Built full product — scan, optimize, export, tracker

  • Next.js
  • JavaScript
  • Gemini
  • Vitest
  • Playwright
View proof on GitHub
  1. 01 Hook

    Applicants lose interviews to keyword mismatches — not to weak experience.

  2. 02 Context

    Next.js product with import, builder, job scan, optimize, tracker, and pricing surfaces — Gemini parse optional via env.

  3. 03 Problem

    Generic resume tools either phone home with data or dump advice without an editable optimize loop and ATS-safe export.

  4. 04 Insight

    Local-first + accept/skip keyword closes beats a black-box rewrite — the user keeps ownership of every change.

  5. 05 Exploration

    Wired scan → optimize → export, application tracker, unit tests (Vitest), Playwright smoke/workflow, Vercel-ready release check.

  6. 06 Decision

    Kept the core local-first; LLM providers optional in Settings so the product works without locking users to one API.

  7. 07 Solution

    Shipped Resume Helper v1.0: full site map from import through tracker, with health endpoint and production docs.

  8. 08 Impact

    Proof of work: public repo with release:check (typecheck + tests + build) and end-to-end workflow coverage.

Impact

  • Scan

    JD keyword match

  • PDF

    ATS-safe export

  • E2E

    Playwright coverage

  • v1.0

    Shipped product