mrkeyoor.com_
Sun 01 Nov 21:52 UTC
AI Toolsevaluationupdated 30 Sept 2026

career-ops review

Career Ops is a local job-search workspace that uses an AI coding CLI to screen listings against your CV, tailor application documents, and track the roles you pursue. It helps a candidate spend time on stronger matches while keeping the final application and every message under human control.

+1,438stars / 7d
Verdict

Our Career Ops install spent 113 seconds before Playwright rejected Node.js 18.20.8, so the documented Node 18 floor did not produce a usable checkout. Try it with Node 20 or newer if you want a hands-on job-search system inside an AI coding CLI and will verify every CV, field, and message. Choose a conventional resume builder or tracker if maintaining a developer workspace during a job search sounds like extra work.

We ran it

Lab card: what happened when we ran career-opsScreenshot of career-ops (career-ops.org)
Install✗ · 113s
Build—
Repo1634 files~276,321 lines of source · 48.2 MB · 25 CI workflows · Dockerfile · tests dir

Answers from our run

Does career-ops build from source?

The dependency install failed, and the project has no separate build step. We cloned commit fe289aa into a clean Debian container with 3 CPUs and no project-specific setup.

Who should not use career-ops?

Anyone seeking an unattended auto-applier: the README says Career Ops drafts and fills, while the user makes the final submission.

What are the alternatives to career-ops?

ResumeSkills, Reactive Resume, offerPilot. Our Career Ops install spent 113 seconds before Playwright rejected Node.

Setup1/5113-second install failed on Playwright's Node 20 requirement
Docs4/5Workflows are detailed, but the stated Node 18 floor failed our run
Community5/5September 30 push with active issues and pull requests
Maturity3/5v1.34.0 is active, with open CV and scanner correctness gaps

Who it’s for

Technical job seekers who already use Claude Code, Codex, OpenCode, or another supported coding CLI.
Candidates who want to score and reject weak listings before tailoring a CV.
People willing to keep a detailed CV, profile, target-role file, and application tracker.
Users who want editable local files and will inspect every generated claim and attachment.

Who it’s NOT for

Anyone seeking an unattended auto-applier: the README says Career Ops drafts and fills, while the user makes the final submission.
Machines pinned to Node.js 18: the setup guide allows Node 18+, but our install log said Playwright requires Node 20 or higher.
Candidates who will send an AI-tailored CV without reading it: open issues #2677 and #1411 cover unchecked title drift and the missing fail-closed faithfulness gate.
People who need all personal data to remain on device: local files are sent directly to the AI provider selected by the user.
Users expecting a finished browser service: the web interface is described as experimental and alpha.
Job seekers who require scanner deduplication to preserve every distinct requisition: open issue #4612 documents same-title listings being collapsed.

Setup reality

Our npm install of commit fe289aa failed after 113 seconds with exit code 1. The 48.2 MB checkout held 1,634 files and about 276,321 source lines. Playwright's Chromium installer reported Node.js 18.20.8 and required Node.js 20 or higher. The sandbox was provisioned as lab-node:22. the supplied log does not explain why the child command reported Node 18.

The quick path needs git, Node, and a supported AI coding CLI. First-run chat collects your CV, profile, target roles, and scanner choices. Depending on the runner, model access may use an interactive login, OAuth token, API key, or local endpoint. PDF output needs Playwright Chromium, and the terminal dashboard optionally needs Go 1.21 or newer.

The measured repository had 25 CI workflow files, a Dockerfile, a Compose file, and a tests directory. Personal files stay in the workspace or a separate data directory, but their contents go to the chosen model provider. Browser-only sessions need a private repository, and ignored career files do not persist through a fresh cloud checkout.

Career Ops filters jobs before it writes applications

Career Ops takes a job URL or pasted description and produces an A-to-H evaluation against your own CV. Its global score runs from 1 to 5, and the default advice is to skip roles below 4.0. A candidate can override that recommendation. The point is to spend less effort on weak fits, then generate a tailored CV, cover letter, application answers, research notes, and tracker entry for the roles that survive.

What happened when we ran it

Our sandbox cloned commit fe289aa into an unprivileged Debian container with 3 CPUs, 8 GB of RAM, no secrets, and the lab-node:22 image. The checkout contained 1,634 files, about 276,321 lines of source, and occupied 48.2 MB. We found 25 CI workflow files, a Dockerfile, a Compose file, and a tests directory.

The npm install failed after 113 seconds with exit code 1. During the Chromium step, the log said, You are running Node.js 18.20.8, followed by Playwright's requirement for Node.js 20 or higher. The install command attempted the same Playwright Chromium operation again and received the same message. npm then reported that the postinstall command had failed.

The container label and the child command disagree about the Node runtime. The supplied output does not explain that disagreement, so we will not assign a cause. The practical result is plain: commit fe289aa did not finish installing in our run. There is no build result or test result to report after that failure, and the presence of a tests directory does not change it.

Node.js 18 failed while Playwright demanded Node.js 20

The setup guide lists Node.js 18 or newer as the project baseline and calls out Node 20 only for the Gemini CLI integration. Our log shows the general npm install reaching Playwright under Node 18.20.8 and stopping. Until the documented floor and the install path agree, use Node 20 or newer for a first trial and run the project's doctor command before adding personal data.

A new user also needs git and one supported AI coding CLI. First-run chat asks for a CV, profile details, target roles, and scanner choices. PDF generation depends on a Chromium browser managed through Playwright. Model access varies by runner: it may use a subscription login, OAuth token, API key, or local OpenAI-compatible endpoint. Go 1.21 or newer is optional for the terminal dashboard.

You keep the final submit click

The README draws a firm boundary around outward actions. Career Ops can draft application text, prepare form fields, find a contact, and write an email, but it does not send the email or submit the application. The user reviews the material and presses Submit. That makes it a poor fit for people chasing application volume and a better fit for someone who wants an opinionated filter with editable evidence.

CV checks still miss title drift and some rewrites

Career Ops blocks some generated PDFs when numbers or facts cannot be traced to the candidate's sources. Its own FAQ states that the check does not yet cover job titles or judge every rewording. Open issue #2677 asks for a warning when a tailored CV changes a past title. Open issue #1411 proposes a fail-closed faithfulness check for broader drift. Both remained open when we reviewed the project.

That gap matters because the output is designed to be sent to employers. Rephrasing a duty for a listing can be reasonable. changing a historical title or inventing scope can create a background-check problem. Read the source CV beside every tailored version. Do the same for application answers and outreach drafts. The software's human approval step works only when the human compares claims, rather than checking whether the PDF merely looks finished.

The scanner can collapse distinct listings with matching titles

Open issue #4612, filed on September 29, 2026, documents a deduplication path that can keep only the first listing when one employer has the same role title and location on separate requisitions. It also covers translated versions of the same requisition. The proposed fix uses requisition identifiers and language fields that some job-board APIs already return. Until that lands, a scan can omit a viable posting without leaving a tracker row.

Portal scanning depends on systems Career Ops does not control. The --verify option can launch Playwright after an API scan to check whether new postings remain live, and v1.34.0 added more liveness checks through public APIs. Those checks reduce stale results without guaranteeing a complete set. Keep the high-value employer boards you care about visible outside the tool, and follow each portal's terms when automating requests or form preparation.

September 30 activity comes with a 535-item queue

GitHub showed 73,100 stars and 535 open issues and pull requests on September 30, 2026. Search results separated that total into 296 issues and 239 pull requests. The repository was pushed that day, and both queues had same-day updates. Those dates show active maintenance. The queue size says buyers should pin a release and check the issues touching CV accuracy, scanning, and their chosen CLI before updating.

Release v1.34.0 arrived on September 24 with 112 pull requests from 63 people, including 43 first-time contributors. It changed update prompts to follow published releases by default, added scanner sources, and revised liveness handling. That is healthy contribution activity, though it also means behavior is moving quickly. A personal job-search workspace should update on your schedule, after backing up its local data and reviewing the diff.

The 113-second failure sets the trial conditions

Career Ops is worth a controlled trial for a technical candidate who wants fewer, better-researched applications and accepts the final-review work. Start on Node 20 or newer, use one real listing, and compare every generated claim with cv.md before sending anything. Our install failure rules out a clean recommendation for commit fe289aa under the measured setup.

Alternatives

ProjectWhat it isPick it when
ResumeSkillsA smaller set of Claude Code skills for resumes, applications, interviews, and career planning.pick this instead when you want career prompts and skills without a scanner and application data system.
Reactive ResumeA self-hostable resume builder focused on creating and managing the document itself.pick this instead when resume layout and export matter more than job discovery and scoring.
offerPilotA local-first job-search workspace with tracking, interview practice, and offer comparison.pick this instead when you want a Python application with a broader visual workspace and can work with its documentation.

What people are saying

  1. [velocity-scout] career-ops-hq/career-ops

Sources

  1. Career Ops repository and README
  2. Career Ops setup guide
  3. Career Ops v1.34.0 release
  4. Issue 2677: tailored CV title drift
  5. Issue 1411: fail-closed CV faithfulness gate
  6. Issue 4612: scanner deduplication can collapse listings
  7. ResumeSkills repository
  8. Reactive Resume repository

More ai tools reviews

kornia · skills · anarlog · pr-agent · agent-sprite-forge · KiroCrew · the whole board →