What is career-ops
career-ops is a free, open-source AI job-search system that runs locally inside the AI CLI you already use — scoring jobs, tailoring your CV, tracking applications.
career-ops is an open-source job-search system that runs inside your AI coding assistant. career-ops is a filter: it helps you apply better to fewer roles, and you make every decision. You give it a job posting URL or raw text and it reads the description, scores the role against your background across five dimensions plus a holistic global score, generates a tailored PDF resume citing specific lines of your CV, and logs everything to a local application tracker — all in one command, without spreadsheets, without an account, and with no backend of ours: your CV goes from your machine to the AI provider you chose, and nowhere else. career-ops was built by Santiago Fernández de Valderrama Aparicio to manage a real AI-era job search in early 2026: 740 listings evaluated against an explicit rubric, one Head of Applied AI role landed. He open-sourced it under MIT once he no longer needed it, so anyone running a structured job search can use the same system for free, on their own machine, with the AI model they already pay for. Six months after landing that role, he left it to focus on building career-ops full time.
Philosophy
Open source, seriously
career-ops has no paid tier, no waitlist, no account, and no telemetry. You clone the repo and run it locally with whichever AI coding CLI you already use. Your CV lives in plain markdown and your config in YAML: files you own and can edit anytime. During setup you don't have to touch them, because you answer in plain language and the agent writes them for you. Your profile and application history live in files on your machine. The AI provider you chose reads what your CLI sends it, and they go nowhere else unless you push them somewhere yourself. The project grows through community contributions reviewed in the open: when someone adds a company portal scraper, improves the scoring rubric, or fixes a bug, that improvement ships to everyone in the next release. That is the whole business model — there is no upsell, no enterprise tier, no data sale planned. The system is MIT-licensed forever; even if the maintainer stops shipping, the rubric, the prompts, and the scrapers stay yours to fork, audit, and run.
Want to contribute?
Read the contributing guide before opening a pull request. The short version: open an issue first for a new feature, a new mode or command, or an architecture change. Bug fixes, new zero-auth scanner providers, docs and translations can go straight to a pull request. The maintainers review quickly.
AI-native and agnostic
career-ops does not ship its own AI model. It runs as a set of slash commands and prompt files inside whichever AI coding CLI you already trust — Claude Code, Codex, OpenCode, Qwen, GitHub Copilot, and more. The AI does the reasoning; career-ops supplies the structure, the scoring rubric, the company-portal scrapers, and the data contract that keeps your files yours. This architecture means you are not locked into one provider's roadmap or pricing — when a better model ships, you switch your CLI and career-ops runs on top of it unchanged. The same rubric — five scoring dimensions plus a holistic global score — produces comparable reasoning whether you point it at a Claude, OpenAI, Gemini, or Qwen model — pick the engine that fits your cost, quality, and privacy profile, and swap freely as the landscape evolves.
When to use career-ops
career-ops is the right tool when you are running an active, structured job search — not casually browsing. It works best for candidates who have a CV they are happy with and want to tailor per application without rewriting it manually each time, who are tracking multiple applications and want a single source of truth instead of a sprawling spreadsheet, who want to apply only to roles that actually fit rather than everything vaguely relevant, and who are comfortable running commands in a terminal even if they do not write code professionally. career-ops is probably not what you need if you are sending one or two applications and are done. The setup — cloning the repo, configuring your profile, adding your CV — takes about fifteen minutes, an investment that only pays off once you are evaluating more than a handful of roles.
What it is not
career-ops does not apply to jobs for you. The system evaluates, scores, generates, and tracks — but every submission is your decision, made with the agent's reasoning visible at each step, and nothing goes anywhere without your explicit approval. career-ops is also not a resume builder or a LinkedIn optimizer; you bring the resume you already have, and the system makes sure each version of it is tuned to the job in front of you. It is a pipeline, not a content factory. The boundary between system code (which updates with each release) and user data (which never gets overwritten) is enforced by the DATA_CONTRACT.md in the repository: your CV, your profile, and your application history are sovereign — career-ops will read them, but it will never silently rewrite or delete what you put there, across any release.
career-ops on Windows
career-ops runs first-class on Windows. The one platform caveat — symlinks — is handled automatically by the installer, with no admin mode, no mklink, and no minimum-OS requirement.
Is this job worth applying to?
Decide before you apply. career-ops scores a job posting from 1 to 5 against your CV and your targets, shows its reasoning, and leaves the call to you.