mrkeyoor.com_
Fri 16 Oct 18:56 UTC
Automationevaluationupdated 04 Oct 2026

ai-job-search review

AI Job Search turns a local repository into a Claude Code workspace for finding openings, judging fit, tailoring a CV and cover letter, and preparing for interviews. It keeps the working files under your control and includes portal tools for Denmark plus broader LinkedIn and FreeHire searches.

+1,772stars / 7d
Verdict

Our run installed 35 packages in 15 seconds and pytest reported 494 passed with 0 failures, so AI Job Search has unusually credible engineering underneath its prompt files. Use it if you already pay for Claude Code and want a careful, local application process you can inspect. Skip it if you want a browser service, automatic submission, or a setup that avoids LaTeX and private-repository housekeeping.

We ran it

Lab card: what happened when we ran ai-job-searchScreenshot of ai-job-search (github.com/MadsLorentzen/ai-job-search)
Install✓ · 15s35 packages · 37 MB
Build✓ · 19s
Tests✓ · 43s494 passed · 0 failed · 9 skipped of 494 (pytest)
Known vulns0(pip-audit)
Repo241 files~19,938 lines of source · 3.2 MB · 2 CI workflows · tests dir

Answers from our run

Does ai-job-search build from source?

Dependencies installed in 15 seconds (35 packages), and the build succeeded in 19 seconds. We cloned commit d7287ec into a clean Debian container with 3 CPUs and no project-specific setup.

Do ai-job-search's tests pass?

Yes: 494 of 494 passed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

Does ai-job-search have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use ai-job-search?

People seeking unattended mass submission: the workflow drafts and reviews materials, then leaves the actual application to the candidate.

What are the alternatives to ai-job-search?

JobSync, Job Apply Plugin, Reactive Resume. Our run installed 35 packages in 15 seconds and pytest reported 494 passed with 0 failures, so AI Job Search has unusually credible engineering underneath its prompt files.

Setup3/5Fast install, but Claude Code, Bun, LaTeX, and private setup remain
Docs5/5Setup, privacy, portals, updates, and threat limits are explicit
Community5/544,872 stars, an October 3 push, and current issue work
Maturity4/5494 tests passed; personalized-fork test behavior needs work

Who it’s for

Claude Code users who want one repeatable process for search, ranking, applications, interviews, and outcomes.
Applicants willing to check every generated claim and compiled PDF before sending it.
Danish job seekers who can use the included portal tools without first writing an adapter.
Developers prepared to add a portal skill, template, or evaluation rule for their own market.
Candidates who prefer local files and versioned instructions over a hosted career dashboard.

Who it’s NOT for

People seeking unattended mass submission: the workflow drafts and reviews materials, then leaves the actual application to the candidate.
Users who do not want a paid Claude Code account or API credits: the full workflow is built around Claude Code, while other agents get only the portable portal skills without a community adaptation.
Anyone avoiding Python, Bun, and LaTeX: the documented path needs Python 3.10+, Bun, lualatex, and xelatex.
Applicants planning to push a personalized public fork: /setup writes contact details, employment history, and salary expectations into tracked files.
Teams requiring untrusted job text to run inside a hard sandbox: the security policy says its prompt-injection defenses are instruction-level.
Personalized forks that require a green local suite without environment adjustments: open issue #496 says placeholder guards still run when GITHUB_REPOSITORY is unset.

Setup reality

Our run of commit d7287ec installed 35 packages in 15 seconds and used 37 MB on disk. The build passed in 19 seconds. The test step passed in 43 seconds: pytest reported 494 passed, 0 failed, and 9 skipped in the supplied 494-test summary. Pip-audit found 0 known vulnerabilities.

The complete workflow needs Claude Code with a paid subscription or Anthropic API credits, Python 3.10+, Bun for portal tools, and LaTeX with both lualatex and xelatex. Your profile, search rules, templates, and portal choices still need personal configuration.

Use a private repository with this project set as upstream. A public fork can expose the tracked profile files written by /setup. Live portal searches need network access, non-Danish boards may need a new skill, and posting defenses do not provide process isolation.

It runs the application process from a local repository

/setup builds a candidate profile from documents, a pasted CV, or an interview. /scrape finds listings, /rank compares them with the profile, and /apply drafts a tailored CV and cover letter. A separate reviewer agent checks those drafts before the workflow compiles them. Later commands record outcomes and prepare interview material from the application the employer actually saw. Submission stays with the candidate.

That breadth is real code and instructions, not a tiny prompt pack. Our checkout at commit d7287ec contained 241 files, roughly 19,938 lines of source, and occupied 3.2 MB. The repository also includes six portal tools, local state for search results, PDF verification utilities, and commands for reports and profile updates. You are adopting a working folder that will accumulate personal history, not installing a disposable command.

The 15-second install is only the first setup layer

The Python environment is modest, but the working system asks more of your machine. Claude Code requires a paid subscription or Anthropic API credits. Portal tools run on Bun. The stock CV compiles with lualatex, while the cover letter uses xelatex. Python 3.10 or newer supports the utility scripts. You also need to fill the profile, decide which portals may run, and keep the repository private.

In our sandbox, 35 packages installed in 15 seconds and occupied 37 MB. The build then passed in 19 seconds. Those figures make the codebase easy to inspect and test, but they do not include Claude usage, a TeX installation, portal downloads, or time spent correcting your career record. The README explains those pieces well. It simply cannot make them disappear.

What happened when we ran it

Our run used commit d7287ec in a fresh Debian container with 3 CPUs, 8 GB of RAM, Python 3.12, no secrets, and no elevated privileges. Installation succeeded in 15 seconds, the build succeeded in 19 seconds, and the test step succeeded in 43 seconds. Pytest reported 494 passed, 0 failed, and 9 skipped in the supplied 494-test summary.

Pip-audit found 0 known vulnerabilities in the installed environment. The 241-file checkout had 2 CI workflow files and a tests directory, but no Dockerfile. That absence fits a tool meant to live beside one person's documents rather than a packaged web service. Our results cover repository mechanics only. We did not judge generated prose, live job matches, PDF appearance, or whether a model scored a particular career move sensibly.

PDF inspection is the strongest application feature

The /apply flow does more than ask a model for a resume. It compiles the CV and cover letter, reads the rendered pages, checks the PDF text layer, and revises layout problems. The default target is a 2-page CV and a 1-page letter. Supported profile evidence can become a keyword; an unsupported skill remains a gap. That is the right bias for a document an employer may question line by line.

Release v1.7.2 made those checks more concrete by adding layout measurements and tighter text verification. Our 43-second test step finished with 494 passes and 0 failures, which supports confidence in the underlying utilities at d7287ec. It does not prove that every generated sentence is accurate. You still need to compare each claim with your source documents and open both PDFs before applying.

Personal files and job posts share one trust boundary

The setup warning deserves attention. GitHub forks of public repositories are public, while /setup writes identifying and employment data into tracked files. The recommended arrangement is a private repository with this project added as an upstream remote. Documents, the tracker, salary data, and application archives have ignore rules, but the populated profile itself needs a private home if you push it anywhere.

Job postings create the other risk. An agent with file access reads untrusted listing text beside your profile. The security policy tells the agent to treat posting text as data and limits approved shell commands, yet it plainly says these measures are not a sandbox. A 3.2 MB checkout does not create isolation. Review what the agent fetched and wrote, especially after adding a community portal skill or using an unfamiliar board.

October activity is healthy, with four open issues

GitHub showed 44,872 stars and a last push on October 3, 2026. Release v1.7.2 shipped on September 29. The current queue contained 4 open issues and 3 open pull requests, rather than 7 bugs. Recent reports cover mixed-script job keys, raw HTML from one Danish portal, a host-check test gap, and local test guards in personalized forks. The paired pull requests on two reports show maintainers working in public.

The remaining rough edge is ownership cost. You must reconcile upstream changes with customized files, audit copied portal code, and keep the profile out of a public fork. Our 37 MB environment and clean 494-pass result make that effort easier to justify. Issue #496 still matters, though: a personalized fork can trigger placeholder tests locally when GITHUB_REPOSITORY is unset, even when the untouched template passed cleanly for us.

Alternatives

ProjectWhat it isPick it when
JobSyncA private job tracker with resume review, matching, tasks, and application analytics.pick this instead when tracking and analysis matter more than LaTeX document generation and Claude Code commands.
Job Apply PluginA Claude Code and Codex plugin that fills forms on several common application systems.pick this instead when browser form filling is the missing step and you already have your application materials.
Reactive ResumeA self-hostable resume builder focused on editing, design, and export.pick this instead when you need a visual resume editor without an agent-driven job-search workflow.

What people are saying

  1. [github-trending] MadsLorentzen/ai-job-search

Sources

  1. AI Job Search repository and README
  2. AI Job Search v1.7.2 release
  3. Project security policy
  4. Detailed setup guide
  5. Personalized fork local-test issue
  6. Posting host-check test issue

More automation reviews

supersidian · genspark-claw · orc-claude-plugin · tiktok-views-bot · Ydisks-Xianyu-Helper · jev-gui-delegate · the whole board →