Latest commit

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Blitz

CILicense: MITChrome MV3Version

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.

Features

  • 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 / developer roles) — docs/ADMIN_DASHBOARD.md · Deploy commands
  • Dashboard — full-tab workspace (DASHBOARD.md)

Supported platforms

PlatformScrapeAuto-fill
Greenhouse
LinkedIn Easy Apply
Indeed (native)
Indeed (company site)⚠️ detect only
Workday✅ best-effort (Shadow DOM)
Lever (jobs.lever.co)
Ashby (jobs.ashbyhq.com)✅ (embed-only sites: tailor + export)

Quick start

Requirements: Node.js 20+, Google Chrome

git clone https://github.com/Hum2a/blitz-extension.git
cd blitz-extension
npm run setup

Load unpacked in Chrome:

  1. Open chrome://extensions
  2. Enable Developer mode
  3. 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.

Project structure

├── 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.

npm scripts

CommandDescription
npm run setupInstall deps, generate icons, build
npm run devWatch-build popup UI
npm run buildProduction build popup
npm run build:checkBuild + validate required files
npm run validateCheck manifest, assets, dist exist
npm run locLines-of-code report (console + reports/loc-report.md)
npm run loc:jsonLOC report as JSON on stdout
npm run testUnit tests + validate + license worker smoke test
npm run test:unitVitest unit tests (see tests/README.md)
npm run test:unit:watchVitest watch mode
npm run test:unit:coverageUnit tests with coverage report
npm run test:ciUnit tests + validate (CI)
npm run cleanRemove popup/dist and pack output
npm run rebuildClean + build
npm run packBuild, validate, zip for Chrome Web Store → dist/blitz-extension-v*.zip
npm run iconsRegenerate placeholder icons
npm run version:patchBump patch in package.json + manifest.json
npm run version:minorBump minor version
npm run version:majorBump major version
npm run version:set -- 1.3.0Set explicit version
npm run version:syncCopy version from package.jsonmanifest.json
npm run changelog:add -- "Fixed X"Add entry to CHANGELOG.md
npm run release:packBump patch + create store zip
npm run marketing:devLocal marketing site preview (port 3788)
npm run deploy:marketingBuild + deploy landing page (blitzai.online)
npm run deploy:licenseDeploy license API (license.blitzai.online)
npm run deploy:adminBuild + deploy admin dashboard (admin.blitzai.online)
npm run deploy:webBuild + deploy web workspace (app.blitzai.online)
npm run deploy:cloudflareDeploy license, admin, and web
npm run deploy:supabaseDeploy Supabase Edge Functions
npm run deploy:allExtension build check + all Cloudflare deploys
npm run deploy:workerAlias for deploy:license
npm run license:add -- KEYAdd license key to KV
npm run license:testHit license API

Development

npm run dev # watch build; reload extension after changes
npm run build:check # same checks as CI

Reload the extension on chrome://extensions after UI or manifest changes.

License server

Pro tier validation runs on a Cloudflare Worker. See license-worker/README.md.

Extension endpoint: popup/src/lib/config.js (LICENSE_ENDPOINT).

Chrome Web Store

See chrome-store/SUBMISSION_CHECKLIST.md.

Releases

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 --tags

Contributing

We welcome issues and pull requests. Please read:

Privacy & security

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

License

MIT — Copyright (c) 2026 Hum2a

Changelog

See CHANGELOG.md.

About

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.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Blitz

CILicense: MITChrome MV3Version

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.

Features

  • 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 / developer roles) — docs/ADMIN_DASHBOARD.md · Deploy commands
  • Dashboard — full-tab workspace (DASHBOARD.md)

Supported platforms

PlatformScrapeAuto-fill
Greenhouse
LinkedIn Easy Apply
Indeed (native)
Indeed (company site)⚠️ detect only
Workday✅ best-effort (Shadow DOM)
Lever (jobs.lever.co)
Ashby (jobs.ashbyhq.com)✅ (embed-only sites: tailor + export)

Quick start

Requirements: Node.js 20+, Google Chrome

git clone https://github.com/Hum2a/blitz-extension.git
cd blitz-extension
npm run setup

Load unpacked in Chrome:

  1. Open chrome://extensions
  2. Enable Developer mode
  3. 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.

Project structure

├── 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.

npm scripts

CommandDescription
npm run setupInstall deps, generate icons, build
npm run devWatch-build popup UI
npm run buildProduction build popup
npm run build:checkBuild + validate required files
npm run validateCheck manifest, assets, dist exist
npm run locLines-of-code report (console + reports/loc-report.md)
npm run loc:jsonLOC report as JSON on stdout
npm run testUnit tests + validate + license worker smoke test
npm run test:unitVitest unit tests (see tests/README.md)
npm run test:unit:watchVitest watch mode
npm run test:unit:coverageUnit tests with coverage report
npm run test:ciUnit tests + validate (CI)
npm run cleanRemove popup/dist and pack output
npm run rebuildClean + build
npm run packBuild, validate, zip for Chrome Web Store → dist/blitz-extension-v*.zip
npm run iconsRegenerate placeholder icons
npm run version:patchBump patch in package.json + manifest.json
npm run version:minorBump minor version
npm run version:majorBump major version
npm run version:set -- 1.3.0Set explicit version
npm run version:syncCopy version from package.jsonmanifest.json
npm run changelog:add -- "Fixed X"Add entry to CHANGELOG.md
npm run release:packBump patch + create store zip
npm run marketing:devLocal marketing site preview (port 3788)
npm run deploy:marketingBuild + deploy landing page (blitzai.online)
npm run deploy:licenseDeploy license API (license.blitzai.online)
npm run deploy:adminBuild + deploy admin dashboard (admin.blitzai.online)
npm run deploy:webBuild + deploy web workspace (app.blitzai.online)
npm run deploy:cloudflareDeploy license, admin, and web
npm run deploy:supabaseDeploy Supabase Edge Functions
npm run deploy:allExtension build check + all Cloudflare deploys
npm run deploy:workerAlias for deploy:license
npm run license:add -- KEYAdd license key to KV
npm run license:testHit license API

Development

npm run dev # watch build; reload extension after changes
npm run build:check # same checks as CI

Reload the extension on chrome://extensions after UI or manifest changes.

License server

Pro tier validation runs on a Cloudflare Worker. See license-worker/README.md.

Extension endpoint: popup/src/lib/config.js (LICENSE_ENDPOINT).

Chrome Web Store

See chrome-store/SUBMISSION_CHECKLIST.md.

Releases

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 --tags

Contributing

We welcome issues and pull requests. Please read:

Privacy & security

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

License

MIT — Copyright (c) 2026 Hum2a

Changelog

See CHANGELOG.md.

About

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.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Blitz

CILicense: MITChrome MV3Version

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.

Features

  • 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 / developer roles) — docs/ADMIN_DASHBOARD.md · Deploy commands
  • Dashboard — full-tab workspace (DASHBOARD.md)

Supported platforms

PlatformScrapeAuto-fill
Greenhouse
LinkedIn Easy Apply
Indeed (native)
Indeed (company site)⚠️ detect only
Workday✅ best-effort (Shadow DOM)
Lever (jobs.lever.co)
Ashby (jobs.ashbyhq.com)✅ (embed-only sites: tailor + export)

Quick start

Requirements: Node.js 20+, Google Chrome

git clone https://github.com/Hum2a/blitz-extension.git
cd blitz-extension
npm run setup

Load unpacked in Chrome:

  1. Open chrome://extensions
  2. Enable Developer mode
  3. 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.

Project structure

├── 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.

npm scripts

CommandDescription
npm run setupInstall deps, generate icons, build
npm run devWatch-build popup UI
npm run buildProduction build popup
npm run build:checkBuild + validate required files
npm run validateCheck manifest, assets, dist exist
npm run locLines-of-code report (console + reports/loc-report.md)
npm run loc:jsonLOC report as JSON on stdout
npm run testUnit tests + validate + license worker smoke test
npm run test:unitVitest unit tests (see tests/README.md)
npm run test:unit:watchVitest watch mode
npm run test:unit:coverageUnit tests with coverage report
npm run test:ciUnit tests + validate (CI)
npm run cleanRemove popup/dist and pack output
npm run rebuildClean + build
npm run packBuild, validate, zip for Chrome Web Store → dist/blitz-extension-v*.zip
npm run iconsRegenerate placeholder icons
npm run version:patchBump patch in package.json + manifest.json
npm run version:minorBump minor version
npm run version:majorBump major version
npm run version:set -- 1.3.0Set explicit version
npm run version:syncCopy version from package.jsonmanifest.json
npm run changelog:add -- "Fixed X"Add entry to CHANGELOG.md
npm run release:packBump patch + create store zip
npm run marketing:devLocal marketing site preview (port 3788)
npm run deploy:marketingBuild + deploy landing page (blitzai.online)
npm run deploy:licenseDeploy license API (license.blitzai.online)
npm run deploy:adminBuild + deploy admin dashboard (admin.blitzai.online)
npm run deploy:webBuild + deploy web workspace (app.blitzai.online)
npm run deploy:cloudflareDeploy license, admin, and web
npm run deploy:supabaseDeploy Supabase Edge Functions
npm run deploy:allExtension build check + all Cloudflare deploys
npm run deploy:workerAlias for deploy:license
npm run license:add -- KEYAdd license key to KV
npm run license:testHit license API

Development

npm run dev # watch build; reload extension after changes
npm run build:check # same checks as CI

Reload the extension on chrome://extensions after UI or manifest changes.

License server

Pro tier validation runs on a Cloudflare Worker. See license-worker/README.md.

Extension endpoint: popup/src/lib/config.js (LICENSE_ENDPOINT).

Chrome Web Store

See chrome-store/SUBMISSION_CHECKLIST.md.

Releases

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 --tags

Contributing

We welcome issues and pull requests. Please read:

Privacy & security

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

License

MIT — Copyright (c) 2026 Hum2a

Changelog

See CHANGELOG.md.

About

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.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Blitz

CILicense: MITChrome MV3Version

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.

Features

  • 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 / developer roles) — docs/ADMIN_DASHBOARD.md · Deploy commands
  • Dashboard — full-tab workspace (DASHBOARD.md)

Supported platforms

PlatformScrapeAuto-fill
Greenhouse
LinkedIn Easy Apply
Indeed (native)
Indeed (company site)⚠️ detect only
Workday✅ best-effort (Shadow DOM)
Lever (jobs.lever.co)
Ashby (jobs.ashbyhq.com)✅ (embed-only sites: tailor + export)

Quick start

Requirements: Node.js 20+, Google Chrome

git clone https://github.com/Hum2a/blitz-extension.git
cd blitz-extension
npm run setup

Load unpacked in Chrome:

  1. Open chrome://extensions
  2. Enable Developer mode
  3. 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.

Project structure

├── 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.

npm scripts

CommandDescription
npm run setupInstall deps, generate icons, build
npm run devWatch-build popup UI
npm run buildProduction build popup
npm run build:checkBuild + validate required files
npm run validateCheck manifest, assets, dist exist
npm run locLines-of-code report (console + reports/loc-report.md)
npm run loc:jsonLOC report as JSON on stdout
npm run testUnit tests + validate + license worker smoke test
npm run test:unitVitest unit tests (see tests/README.md)
npm run test:unit:watchVitest watch mode
npm run test:unit:coverageUnit tests with coverage report
npm run test:ciUnit tests + validate (CI)
npm run cleanRemove popup/dist and pack output
npm run rebuildClean + build
npm run packBuild, validate, zip for Chrome Web Store → dist/blitz-extension-v*.zip
npm run iconsRegenerate placeholder icons
npm run version:patchBump patch in package.json + manifest.json
npm run version:minorBump minor version
npm run version:majorBump major version
npm run version:set -- 1.3.0Set explicit version
npm run version:syncCopy version from package.jsonmanifest.json
npm run changelog:add -- "Fixed X"Add entry to CHANGELOG.md
npm run release:packBump patch + create store zip
npm run marketing:devLocal marketing site preview (port 3788)
npm run deploy:marketingBuild + deploy landing page (blitzai.online)
npm run deploy:licenseDeploy license API (license.blitzai.online)
npm run deploy:adminBuild + deploy admin dashboard (admin.blitzai.online)
npm run deploy:webBuild + deploy web workspace (app.blitzai.online)
npm run deploy:cloudflareDeploy license, admin, and web
npm run deploy:supabaseDeploy Supabase Edge Functions
npm run deploy:allExtension build check + all Cloudflare deploys
npm run deploy:workerAlias for deploy:license
npm run license:add -- KEYAdd license key to KV
npm run license:testHit license API

Development

npm run dev # watch build; reload extension after changes
npm run build:check # same checks as CI

Reload the extension on chrome://extensions after UI or manifest changes.

License server

Pro tier validation runs on a Cloudflare Worker. See license-worker/README.md.

Extension endpoint: popup/src/lib/config.js (LICENSE_ENDPOINT).

Chrome Web Store

See chrome-store/SUBMISSION_CHECKLIST.md.

Releases

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 --tags

Contributing

We welcome issues and pull requests. Please read:

Privacy & security

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

License

MIT — Copyright (c) 2026 Hum2a

Changelog

See CHANGELOG.md.

About

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.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Blitz

CILicense: MITChrome MV3Version

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.

Features

  • 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 / developer roles) — docs/ADMIN_DASHBOARD.md · Deploy commands
  • Dashboard — full-tab workspace (DASHBOARD.md)

Supported platforms

PlatformScrapeAuto-fill
Greenhouse
LinkedIn Easy Apply
Indeed (native)
Indeed (company site)⚠️ detect only
Workday✅ best-effort (Shadow DOM)
Lever (jobs.lever.co)
Ashby (jobs.ashbyhq.com)✅ (embed-only sites: tailor + export)

Quick start

Requirements: Node.js 20+, Google Chrome

git clone https://github.com/Hum2a/blitz-extension.git
cd blitz-extension
npm run setup

Load unpacked in Chrome:

  1. Open chrome://extensions
  2. Enable Developer mode
  3. 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.

Project structure

├── 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.

npm scripts

CommandDescription
npm run setupInstall deps, generate icons, build
npm run devWatch-build popup UI
npm run buildProduction build popup
npm run build:checkBuild + validate required files
npm run validateCheck manifest, assets, dist exist
npm run locLines-of-code report (console + reports/loc-report.md)
npm run loc:jsonLOC report as JSON on stdout
npm run testUnit tests + validate + license worker smoke test
npm run test:unitVitest unit tests (see tests/README.md)
npm run test:unit:watchVitest watch mode
npm run test:unit:coverageUnit tests with coverage report
npm run test:ciUnit tests + validate (CI)
npm run cleanRemove popup/dist and pack output
npm run rebuildClean + build
npm run packBuild, validate, zip for Chrome Web Store → dist/blitz-extension-v*.zip
npm run iconsRegenerate placeholder icons
npm run version:patchBump patch in package.json + manifest.json
npm run version:minorBump minor version
npm run version:majorBump major version
npm run version:set -- 1.3.0Set explicit version
npm run version:syncCopy version from package.jsonmanifest.json
npm run changelog:add -- "Fixed X"Add entry to CHANGELOG.md
npm run release:packBump patch + create store zip
npm run marketing:devLocal marketing site preview (port 3788)
npm run deploy:marketingBuild + deploy landing page (blitzai.online)
npm run deploy:licenseDeploy license API (license.blitzai.online)
npm run deploy:adminBuild + deploy admin dashboard (admin.blitzai.online)
npm run deploy:webBuild + deploy web workspace (app.blitzai.online)
npm run deploy:cloudflareDeploy license, admin, and web
npm run deploy:supabaseDeploy Supabase Edge Functions
npm run deploy:allExtension build check + all Cloudflare deploys
npm run deploy:workerAlias for deploy:license
npm run license:add -- KEYAdd license key to KV
npm run license:testHit license API

Development

npm run dev # watch build; reload extension after changes
npm run build:check # same checks as CI

Reload the extension on chrome://extensions after UI or manifest changes.

License server

Pro tier validation runs on a Cloudflare Worker. See license-worker/README.md.

Extension endpoint: popup/src/lib/config.js (LICENSE_ENDPOINT).

Chrome Web Store

See chrome-store/SUBMISSION_CHECKLIST.md.

Releases

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 --tags

Contributing

We welcome issues and pull requests. Please read:

Privacy & security

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

License

MIT — Copyright (c) 2026 Hum2a

Changelog

See CHANGELOG.md.

About

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.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Blitz

CILicense: MITChrome MV3Version

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.

Features

  • 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 / developer roles) — docs/ADMIN_DASHBOARD.md · Deploy commands
  • Dashboard — full-tab workspace (DASHBOARD.md)

Supported platforms

PlatformScrapeAuto-fill
Greenhouse
LinkedIn Easy Apply
Indeed (native)
Indeed (company site)⚠️ detect only
Workday✅ best-effort (Shadow DOM)
Lever (jobs.lever.co)
Ashby (jobs.ashbyhq.com)✅ (embed-only sites: tailor + export)

Quick start

Requirements: Node.js 20+, Google Chrome

git clone https://github.com/Hum2a/blitz-extension.git
cd blitz-extension
npm run setup

Load unpacked in Chrome:

  1. Open chrome://extensions
  2. Enable Developer mode
  3. 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.

Project structure

├── 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.

npm scripts

CommandDescription
npm run setupInstall deps, generate icons, build
npm run devWatch-build popup UI
npm run buildProduction build popup
npm run build:checkBuild + validate required files
npm run validateCheck manifest, assets, dist exist
npm run locLines-of-code report (console + reports/loc-report.md)
npm run loc:jsonLOC report as JSON on stdout
npm run testUnit tests + validate + license worker smoke test
npm run test:unitVitest unit tests (see tests/README.md)
npm run test:unit:watchVitest watch mode
npm run test:unit:coverageUnit tests with coverage report
npm run test:ciUnit tests + validate (CI)
npm run cleanRemove popup/dist and pack output
npm run rebuildClean + build
npm run packBuild, validate, zip for Chrome Web Store → dist/blitz-extension-v*.zip
npm run iconsRegenerate placeholder icons
npm run version:patchBump patch in package.json + manifest.json
npm run version:minorBump minor version
npm run version:majorBump major version
npm run version:set -- 1.3.0Set explicit version
npm run version:syncCopy version from package.jsonmanifest.json
npm run changelog:add -- "Fixed X"Add entry to CHANGELOG.md
npm run release:packBump patch + create store zip
npm run marketing:devLocal marketing site preview (port 3788)
npm run deploy:marketingBuild + deploy landing page (blitzai.online)
npm run deploy:licenseDeploy license API (license.blitzai.online)
npm run deploy:adminBuild + deploy admin dashboard (admin.blitzai.online)
npm run deploy:webBuild + deploy web workspace (app.blitzai.online)
npm run deploy:cloudflareDeploy license, admin, and web
npm run deploy:supabaseDeploy Supabase Edge Functions
npm run deploy:allExtension build check + all Cloudflare deploys
npm run deploy:workerAlias for deploy:license
npm run license:add -- KEYAdd license key to KV
npm run license:testHit license API

Development

npm run dev # watch build; reload extension after changes
npm run build:check # same checks as CI

Reload the extension on chrome://extensions after UI or manifest changes.

License server

Pro tier validation runs on a Cloudflare Worker. See license-worker/README.md.

Extension endpoint: popup/src/lib/config.js (LICENSE_ENDPOINT).

Chrome Web Store

See chrome-store/SUBMISSION_CHECKLIST.md.

Releases

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 --tags

Contributing

We welcome issues and pull requests. Please read:

Privacy & security

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

License

MIT — Copyright (c) 2026 Hum2a

Changelog

See CHANGELOG.md.

About

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.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Blitz

CILicense: MITChrome MV3Version

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.

Features

  • 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 / developer roles) — docs/ADMIN_DASHBOARD.md · Deploy commands
  • Dashboard — full-tab workspace (DASHBOARD.md)

Supported platforms

PlatformScrapeAuto-fill
Greenhouse
LinkedIn Easy Apply
Indeed (native)
Indeed (company site)⚠️ detect only
Workday✅ best-effort (Shadow DOM)
Lever (jobs.lever.co)
Ashby (jobs.ashbyhq.com)✅ (embed-only sites: tailor + export)

Quick start

Requirements: Node.js 20+, Google Chrome

git clone https://github.com/Hum2a/blitz-extension.git
cd blitz-extension
npm run setup

Load unpacked in Chrome:

  1. Open chrome://extensions
  2. Enable Developer mode
  3. 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.

Project structure

├── 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.

npm scripts

CommandDescription
npm run setupInstall deps, generate icons, build
npm run devWatch-build popup UI
npm run buildProduction build popup
npm run build:checkBuild + validate required files
npm run validateCheck manifest, assets, dist exist
npm run locLines-of-code report (console + reports/loc-report.md)
npm run loc:jsonLOC report as JSON on stdout
npm run testUnit tests + validate + license worker smoke test
npm run test:unitVitest unit tests (see tests/README.md)
npm run test:unit:watchVitest watch mode
npm run test:unit:coverageUnit tests with coverage report
npm run test:ciUnit tests + validate (CI)
npm run cleanRemove popup/dist and pack output
npm run rebuildClean + build
npm run packBuild, validate, zip for Chrome Web Store → dist/blitz-extension-v*.zip
npm run iconsRegenerate placeholder icons
npm run version:patchBump patch in package.json + manifest.json
npm run version:minorBump minor version
npm run version:majorBump major version
npm run version:set -- 1.3.0Set explicit version
npm run version:syncCopy version from package.jsonmanifest.json
npm run changelog:add -- "Fixed X"Add entry to CHANGELOG.md
npm run release:packBump patch + create store zip
npm run marketing:devLocal marketing site preview (port 3788)
npm run deploy:marketingBuild + deploy landing page (blitzai.online)
npm run deploy:licenseDeploy license API (license.blitzai.online)
npm run deploy:adminBuild + deploy admin dashboard (admin.blitzai.online)
npm run deploy:webBuild + deploy web workspace (app.blitzai.online)
npm run deploy:cloudflareDeploy license, admin, and web
npm run deploy:supabaseDeploy Supabase Edge Functions
npm run deploy:allExtension build check + all Cloudflare deploys
npm run deploy:workerAlias for deploy:license
npm run license:add -- KEYAdd license key to KV
npm run license:testHit license API

Development

npm run dev # watch build; reload extension after changes
npm run build:check # same checks as CI

Reload the extension on chrome://extensions after UI or manifest changes.

License server

Pro tier validation runs on a Cloudflare Worker. See license-worker/README.md.

Extension endpoint: popup/src/lib/config.js (LICENSE_ENDPOINT).

Chrome Web Store

See chrome-store/SUBMISSION_CHECKLIST.md.

Releases

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 --tags

Contributing

We welcome issues and pull requests. Please read:

Privacy & security

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

License

MIT — Copyright (c) 2026 Hum2a

Changelog

See CHANGELOG.md.

About

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.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Blitz

CILicense: MITChrome MV3Version

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.

Features

  • 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 / developer roles) — docs/ADMIN_DASHBOARD.md · Deploy commands
  • Dashboard — full-tab workspace (DASHBOARD.md)

Supported platforms

PlatformScrapeAuto-fill
Greenhouse
LinkedIn Easy Apply
Indeed (native)
Indeed (company site)⚠️ detect only
Workday✅ best-effort (Shadow DOM)
Lever (jobs.lever.co)
Ashby (jobs.ashbyhq.com)✅ (embed-only sites: tailor + export)

Quick start

Requirements: Node.js 20+, Google Chrome

git clone https://github.com/Hum2a/blitz-extension.git
cd blitz-extension
npm run setup

Load unpacked in Chrome:

  1. Open chrome://extensions
  2. Enable Developer mode
  3. 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.

Project structure

├── 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.

npm scripts

CommandDescription
npm run setupInstall deps, generate icons, build
npm run devWatch-build popup UI
npm run buildProduction build popup
npm run build:checkBuild + validate required files
npm run validateCheck manifest, assets, dist exist
npm run locLines-of-code report (console + reports/loc-report.md)
npm run loc:jsonLOC report as JSON on stdout
npm run testUnit tests + validate + license worker smoke test
npm run test:unitVitest unit tests (see tests/README.md)
npm run test:unit:watchVitest watch mode
npm run test:unit:coverageUnit tests with coverage report
npm run test:ciUnit tests + validate (CI)
npm run cleanRemove popup/dist and pack output
npm run rebuildClean + build
npm run packBuild, validate, zip for Chrome Web Store → dist/blitz-extension-v*.zip
npm run iconsRegenerate placeholder icons
npm run version:patchBump patch in package.json + manifest.json
npm run version:minorBump minor version
npm run version:majorBump major version
npm run version:set -- 1.3.0Set explicit version
npm run version:syncCopy version from package.jsonmanifest.json
npm run changelog:add -- "Fixed X"Add entry to CHANGELOG.md
npm run release:packBump patch + create store zip
npm run marketing:devLocal marketing site preview (port 3788)
npm run deploy:marketingBuild + deploy landing page (blitzai.online)
npm run deploy:licenseDeploy license API (license.blitzai.online)
npm run deploy:adminBuild + deploy admin dashboard (admin.blitzai.online)
npm run deploy:webBuild + deploy web workspace (app.blitzai.online)
npm run deploy:cloudflareDeploy license, admin, and web
npm run deploy:supabaseDeploy Supabase Edge Functions
npm run deploy:allExtension build check + all Cloudflare deploys
npm run deploy:workerAlias for deploy:license
npm run license:add -- KEYAdd license key to KV
npm run license:testHit license API

Development

npm run dev # watch build; reload extension after changes
npm run build:check # same checks as CI

Reload the extension on chrome://extensions after UI or manifest changes.

License server

Pro tier validation runs on a Cloudflare Worker. See license-worker/README.md.

Extension endpoint: popup/src/lib/config.js (LICENSE_ENDPOINT).

Chrome Web Store

See chrome-store/SUBMISSION_CHECKLIST.md.

Releases

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 --tags

Contributing

We welcome issues and pull requests. Please read:

Privacy & security

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

License

MIT — Copyright (c) 2026 Hum2a

Changelog

See CHANGELOG.md.

About

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.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages