career-ops web (alpha)
An experimental, opt-in web UI for career-ops. It is a local-first view over
the exact same files the CLI reads and writes (data/pipeline.md,
data/applications.md, reports/, config/): no parallel engine, no separate
database, no server. If you never run it, nothing about your CLI workflow changes.
Status: alpha. Expect rough edges. Feedback → Discussion #1142 · roadmap context → Discussion #156.
Quick start
Requires Node 20+.
cd web
npm ci
npm run dev
Open http://localhost:3000. The app reads the career-ops checkout it lives in (the parent directory) — your existing CV, pipeline and reports appear as-is.
What works today
- Pipeline — your tracker as a sortable, filterable table; status changes write back through the core's own scripts.
- Explore — the free reverse-ATS scan with an honest partial-dataset indicator, plus AI-assisted discovery (bring your own CLI/keys).
- Apply — assisted form prefill with a hard rule inherited from the core: it never submits for you — you always press the button.
- Today / Analytics / CV / Config — action queue, funnel, CV editing with preview, settings.
Safety
- Local-first: the local web app runs entirely on your machine — no cloud, no account needed. Your CV and data stay in your own files.
- Never auto-submits: the apply flow drafts and prefills; submitting is always a human action.
- Additive: the web is isolated from the core's packaging, CI and release automation. The CLI works exactly the same without it.
Development
npm run dev # dev server (Turbopack)
npx tsc --noEmit # typecheck
npm run build # production build
Set CAREER_OPS_ROOT=/path/to/checkout in web/.env.local to point the app at
a different career-ops directory (useful for testing against sample data).