Apply faster. Land sooner. Blitz is a Chrome extension that AI-tailors your CV and cover letter for each job (using your own API key), lets you review everything, then fills application forms on major job boards.
- BYOK AI tailoring — Anthropic or OpenAI; your key stays in the browser
- Match score — visual ring + rationale before you apply
- Human-like form fill — Greenhouse, LinkedIn Easy Apply, Indeed, Workday, Lever, Ashby
- Application tracker — status, notes, CSV export
- Bulk job queue — paste URLs, batch-generate applications
- Freemium — 15 free applications; Pro via license key
- Optional cloud sync — encrypted backup across devices (Supabase); API keys stay local (docs/SYNC_AND_AUTH.md)
- Admin dashboard — separate deploy for staff (
user/admin/developerroles) — docs/ADMIN_DASHBOARD.md · Deploy commands - Dashboard — full-tab workspace (DASHBOARD.md)
| Platform | Scrape | Auto-fill |
|---|---|---|
| Greenhouse | ✅ | ✅ |
| LinkedIn Easy Apply | ✅ | ✅ |
| Indeed (native) | ✅ | ✅ |
| Indeed (company site) | ✅ | |
| Workday | ✅ | ✅ best-effort (Shadow DOM) |
Lever (jobs.lever.co) |
✅ | ✅ |
Ashby (jobs.ashbyhq.com) |
✅ | ✅ (embed-only sites: tailor + export) |
Requirements: Node.js 20+, Google Chrome
git clone https://github.com/Hum2a/blitz-extension.git
cd blitz-extension
npm run setupLoad unpacked in Chrome:
- Open
chrome://extensions - Enable Developer mode
- Load unpacked → select this repository folder (the folder containing
manifest.json)
Add your API key in Blitz Settings, open a supported job posting, and generate an application.
├── background/ # Service worker (AI, queue, PDF orchestration)
├── content/ # Job board detectors + form fill
├── popup/ # React UI (Vite → popup/dist/)
├── offscreen/ # PDF generation (vendored jsPDF)
├── license-worker/ # Cloudflare Worker for Pro licenses
├── scripts/ # Build, validate, pack, versioning
├── docs/ # Architecture & feature docs
└── chrome-store/ # Web Store submission checklist
See docs/ARCHITECTURE.md for message flows and module boundaries. Recent features (Phases 2–4): docs/WHATS_NEW_H1_2026.md.
| Command | Description |
|---|---|
npm run setup |
Install deps, generate icons, build |
npm run dev |
Watch-build popup UI |
npm run build |
Production build popup |
npm run build:check |
Build + validate required files |
npm run validate |
Check manifest, assets, dist exist |
npm run loc |
Lines-of-code report (console + reports/loc-report.md) |
npm run loc:json |
LOC report as JSON on stdout |
npm run test |
Unit tests + validate + license worker smoke test |
npm run test:unit |
Vitest unit tests (see tests/README.md) |
npm run test:unit:watch |
Vitest watch mode |
npm run test:unit:coverage |
Unit tests with coverage report |
npm run test:ci |
Unit tests + validate (CI) |
npm run clean |
Remove popup/dist and pack output |
npm run rebuild |
Clean + build |
npm run pack |
Build, validate, zip for Chrome Web Store → dist/blitz-extension-v*.zip |
npm run icons |
Regenerate placeholder icons |
npm run version:patch |
Bump patch in package.json + manifest.json |
npm run version:minor |
Bump minor version |
npm run version:major |
Bump major version |
npm run version:set -- 1.3.0 |
Set explicit version |
npm run version:sync |
Copy version from package.json → manifest.json |
npm run changelog:add -- "Fixed X" |
Add entry to CHANGELOG.md |
npm run release:pack |
Bump patch + create store zip |
npm run marketing:dev |
Local marketing site preview (port 3788) |
npm run deploy:marketing |
Build + deploy landing page (blitzai.online) |
npm run deploy:license |
Deploy license API (license.blitzai.online) |
npm run deploy:admin |
Build + deploy admin dashboard (admin.blitzai.online) |
npm run deploy:web |
Build + deploy web workspace (app.blitzai.online) |
npm run deploy:cloudflare |
Deploy license, admin, and web |
npm run deploy:supabase |
Deploy Supabase Edge Functions |
npm run deploy:all |
Extension build check + all Cloudflare deploys |
npm run deploy:worker |
Alias for deploy:license |
npm run license:add -- KEY |
Add license key to KV |
npm run license:test |
Hit license API |
npm run dev # watch build; reload extension after changes
npm run build:check # same checks as CIReload the extension on chrome://extensions after UI or manifest changes.
Pro tier validation runs on a Cloudflare Worker. See license-worker/README.md.
Extension endpoint: popup/src/lib/config.js (LICENSE_ENDPOINT).
See chrome-store/SUBMISSION_CHECKLIST.md.
Tagged releases (v*) trigger GitHub Actions to build a store-ready .zip and attach it to the release.
npm run version:patch
git add package.json manifest.json CHANGELOG.md
git commit -m "chore: release v1.2.1"
git tag v1.2.1
git push && git push --tagsWe welcome issues and pull requests. Please read:
- CONTRIBUTING.md — setup, conventions, PR checklist
- AGENTS.md — guide for AI/automation contributors
- SECURITY.md — responsible disclosure
- CODE_OF_CONDUCT.md
- Bring your own key — API keys are stored locally; requests go only to your chosen AI provider.
- No telemetry of CV content in logs — see development rules in CONTRIBUTING.md.
- Report vulnerabilities privately per SECURITY.md.
MIT — Copyright (c) 2026 Hum2a
See CHANGELOG.md.