Chrome MV3 extension: job posting analysis, tailored CV/cover letter generation via OpenAI, form autofill.
Popup (Vue 3) Content scripts (job page)
├─ Home ├─ extractJobText.ts — auto JD / manual picker
│ ├─ Evaluate match └─ autoFillForm.ts — fill empty inputs
│ ├─ Generate CV + cover letter
│ ├─ Auto-fill form
│ └─ PDF / MD export
├─ Profile — CV upload, avatar, contacts
└─ Settings — API key, models, prompts
↕ chrome.storage + tabs.sendMessage
- Profile — upload CV (PDF/DOCX) → AI builds
cvContextand fills contact fields. - Settings — OpenAI API key (BYOK), model, prompts.
- Open a job posting → popup reads the JD (auto-detect or Select block on page).
- Evaluate match — score 0–10. Generate CV — CV + cover letter + fit notes. Auto-fill — empty form fields from profile.
Match and generation use cvContext only; raw CV text is not stored after analysis.
pnpm install
pnpm dev # HMR, outputs to dist/
pnpm build # production → dist/pnpm test # vitest
pnpm check # tsc + tests + buildpnpm build(orpnpm devwhile developing)chrome://extensions→ Developer mode → Load unpacked- Select the
dist/folder in the repo root - Click the CV Match toolbar icon to open the popup
Reload the job page after content script changes.
Open the popup via the extension icon only — otherwisechrome.storageis unavailable.
Only manual flow at the moment