AI Careers

The Nearly 30K-Star AI Job Search Agent: How Mads Lorentzen Built It

Direct Answer

Mads Lorentzen did not build an auto-apply bot. He built a structured job-search operating system around Claude Code. It turns a candidate's verified history into a reusable evidence base, finds and ranks openings, evaluates fit before drafting, creates tailored documents, asks a separate reviewer agent to challenge them, compiles and inspects the PDFs, prepares interview material, and tracks outcomes. The candidate still decides where to apply and presses Submit.

That human boundary is the project's strongest design choice. It converts AI from a volume machine into a preparation and quality-control layer. Mads says he built the system after a layoff, used it during his own search, and later accepted an AI engineering role. The repository reports 69 tailored applications, 20 first interviews, and one signed contract. As of 3 August 2026, GitHub displayed about 29.4K stars and 9.9K forks, making the video's "30K" headline a fair rounded description rather than an exact count.

The useful pattern: profile once, score fit before writing, draft only from evidence, review in fresh context, verify the final files, and keep the consequential action human-controlled.

Watch the Interview and Demo

Credits: interview and demonstration by Andrew Warner and The Next New Thing; project and workflow by Mads Lorentzen. Watch the original video on YouTube and inspect the open-source repository before installing it.

What the Project Actually Proves

ClaimEvidenceResponsible interpretation
The repository has 30K starsGitHub showed 29.4K stars and 9.9K forks on 3 August 2026"Nearly 30K" is accurate today; star counts change and measure attention, not effectiveness.
Mads used it in a successful searchThe README reports 69 applications, 20 first interviews, and one signed contract; Mads describes the same journey in the interviewA strong founder case study, not a controlled comparison or employment guarantee.
The workflow is reusableMIT license, documented commands, portal skills, templates, tracking, and community forksThe core can travel, but portals, language, employment norms, and document formats need local adaptation.
The system protects accuracyEvidence-first profile, explicit no-fabrication rule, independent review, PDF inspection, and manual submissionThese controls reduce errors; the user still owns every claim and must inspect every output.
It automates job searchResearch, ranking, drafting, review, preparation, and tracking are assistedIt does not replace judgment, networking, interviews, consent, or the final application action.

The result statistics are unusually transparent, but they do not isolate the software's effect. Mads also brought his own experience, market timing, network, interview skills, and role selection. The better question is not "Will this get me hired?" It is "Does this improve the truthfulness, relevance, consistency, and learning rate of my search?"

The End-to-End Workflow

The repository is organized as commands and reusable skills rather than one enormous prompt. That matters because each stage has a different job, context, and failure mode.

StageCommandWhat the agent doesWhat the candidate decides
Evidence base/setupInterviews the candidate and structures experience, skills, preferences, examples, and templatesCorrect every fact, remove sensitive material, and decide what may be used.
Discovery/scrapeCollects roles through configured portal skills and normalizes job dataChoose lawful sources, geography, seniority, and search boundaries.
Prioritization/rankScores and sorts open roles against the candidate profileChallenge the score and reject superficially attractive mismatches.
Application preparation/apply <job URL>Parses the role, evaluates fit, drafts documents, invokes a reviewer, revises, compiles, and checks outputApprove every factual claim, rewrite weak language, and choose whether to apply.
Interview work/interviewBuilds stage-specific preparation from the role and candidate evidencePractice aloud, add personal judgment, and prepare honest questions.
Learning loop/outcomeRecords the result and keeps the tracker currentLog the real outcome and identify what to change next.
Reporting/html-reportProduces an offline dashboard across applications and stagesReview conversion quality instead of chasing application volume.

A minimal setup path

The official setup requires Claude Code, Python 3.10 or newer, Bun for portal tools, and a LaTeX engine such as lualatex or xelatex. Optional PDF text extraction helps with ATS checks. Follow the repository's current setup guide rather than an old copied command list.

gh repo fork MadsLorentzen/ai-job-search --clone
cd ai-job-search
claude
/setup

Forking is useful when you plan to adapt portal skills or templates. Before committing anything, inspect Git status and confirm that your profile, salary notes, tracker, CVs, and application archive remain ignored. Never push personal documents into a public fork.

Fit Before Volume

The project deliberately scores an opening before spending tokens and human attention on documents. The interview demonstrates dimensions such as technical skills, experience, behavioral fit, location, and career alignment. A score is not a verdict. It is a forcing function for reflection: which requirements are supported by evidence, which are learnable gaps, and which make the role a poor use of time?

This is where the workflow differs from generic resume generators. The system can retrieve examples already collected during setup and connect them to specific job requirements. A good output says, in effect, "This role asks for stakeholder alignment; here is the real project that demonstrates it." A bad output merely copies keywords into enthusiastic prose.

Reject false precision. A 73/100 fit score is a structured opinion, not an objective hiring probability. Keep the rationale beside the number and override it when the evidence or your priorities disagree.

Why the Drafter-Reviewer Pattern Matters

During /apply, one agent drafts from the candidate profile and job description. A separate reviewer receives fresh context and looks for unsupported claims, weak evidence, generic language, missing requirements, and document problems. Its critique returns to the drafting process for revision.

Fresh context is useful because the second agent is less invested in the first draft's logic. It resembles an editor who did not sit beside the writer. The pattern still needs explicit acceptance criteria:

  1. Truth: every skill, result, date, title, and responsibility must trace to candidate-provided evidence.
  2. Relevance: the strongest evidence should map to the role's highest-value requirements.
  3. Specificity: remove claims that could describe any candidate.
  4. Voice: preserve language the candidate can comfortably defend in an interview.
  5. Document quality: inspect layout, page breaks, links, text extraction, and filename hygiene.

The repository's compile-and-inspect step is more important than it sounds. A polished source file can still produce a broken PDF, clipped text, a missing text layer, or a two-page cover letter. Verification belongs inside the workflow, not after the application deadline.

Why the Agent Stops Before Submit

Mads explicitly chose not to automate the final application action. That decision protects both sides of the labor market. Employers receive fewer indiscriminate submissions, while candidates keep responsibility for consent, accuracy, tone, and destination.

It also creates a clean accountability boundary. Before sending, the candidate can ask:

  • Can I defend every sentence in a live interview?
  • Did the system invent a metric, responsibility, tool, or level of fluency?
  • Does this application explain why this role, rather than merely mirroring its keywords?
  • Am I comfortable sharing every included personal detail with this employer?
  • Does the application channel permit the way the job data was collected?

The submission pause is not unfinished automation. It is a product control. High-consequence workflows should make the final irreversible action obvious, reviewable, and attributable to a person.

The Funnel Mads Reported

StageReported countSimple conversionWhat it can tell you
Tailored applications69100%The denominator for this individual search.
First interviews20About 29%The documents and role selection produced a meaningful response rate in this case.
Signed contract1About 1.4% of applicationsThe search ended in employment; it does not reveal the software's isolated causal contribution.

Track more than these three numbers in your own search. Useful diagnostics include high-fit roles rejected before drafting, applications corrected for unsupported claims, time per accepted application, interviews per ten high-fit applications, stage-specific rejection patterns, and networking conversations. A workflow that sends fewer but better applications can be successful even before the final offer arrives.

GitHub Skills as Executable Knowledge

The project's broader lesson is about publishing expertise. A traditional tutorial explains a process. A repository can package the instructions, file structure, templates, validation steps, and extension points so another person can run and adapt it.

That does not make written explanation obsolete. Executable knowledge needs more documentation, not less: assumptions, inputs, permissions, failure cases, verification criteria, and boundaries must be visible. AI Job Search became useful because contributors could inspect the workflow, add portals, improve the dashboard, and adapt it to different markets without turning the core into a private black box.

The repository is MIT-licensed and independent of Anthropic. Its core is described as language- and country-agnostic, while many included portal integrations reflect Mads's Danish search. Expect to replace or build portal skills for your market and to localize employment language, CV conventions, privacy expectations, and application norms.

Privacy, Security, and Job-Board Rules

1. Local files do not mean fully offline

The project stores working files on the user's machine and excludes common personal artifacts from Git. Claude Code still communicates with a hosted model service. Review the applicable account, retention, training, and organizational controls before loading identity documents, salary history, addresses, private references, or confidential employer material.

2. Job descriptions are untrusted input

A fetched page can contain instructions aimed at the model, not the candidate. The project's security policy says posting text is treated as data, body links are not fetched, permissions are narrowed, and CI guards watch the allowlist. It also says clearly that these defenses are not a sandbox. Prompt injection remains a live risk whenever an agent reads untrusted web content beside personal files.

Review proposed commands, keep write access narrow, avoid shell pipelines from untrusted pages, inspect created files, and use an isolated environment when testing new portal scripts. Anthropic's own Claude Code security guidance recommends the same posture.

3. Technical access is not legal permission

The repository can be extended with job-board search skills. Every portal has different terms and technical controls. LinkedIn's current User Agreement, for example, prohibits unauthorized scraping and bot access. Prefer approved APIs, permitted exports, alerts, saved searches, or manual collection. Do not assume an open-source connector makes a data source permissible to automate.

4. Keep consequential judgment visible

Do not use fit scores to exclude yourself automatically, and do not let the system infer protected traits or make decisions for employers. This is a candidate-side preparation tool. Human review, truthful representation, and reversible steps are core requirements, not optional polish.

A Seven-Day Pilot

  1. Day 1: secure the environment. Fork or clone the repository, read SETUP.md and SECURITY.md, confirm ignored files, and use a separate test directory.
  2. Day 2: build a narrow profile. Add only the evidence needed for one target role family. Verify dates, achievements, tools, and writing samples line by line.
  3. Day 3: choose lawful discovery sources. Configure one permitted portal, feed, alert, or manual job list. Collect no more than 20 roles.
  4. Day 4: challenge ranking. Score the roles, then independently review the top ten. Record where the rationale is useful, vague, or wrong.
  5. Day 5: prepare two applications. Run the drafter-reviewer pipeline. Mark every unsupported, exaggerated, generic, or off-voice sentence.
  6. Day 6: verify files and practice. Check PDF rendering and text extraction, then use the interview workflow for one role. Keep the final submission manual.
  7. Day 7: decide with evidence. Measure preparation time, factual corrections, fit quality, document quality, and cognitive load. Keep the system only if it improves quality without weakening judgment.
Acceptance test: across five reviewed roles, the workflow should produce zero invented claims, a visible reason for every fit score, readable and extractable PDFs, and a meaningful reduction in preparation time. One fabricated fact is a release-blocking failure.

Video Chapters

TimeTopicWhat to notice
00:00Job-search automationThe system assists the process rather than applying blindly.
00:55DashboardApplications, interviews, offers, rejections, and closed roles stay visible.
01:50Job discoveryPortal selection must match the candidate's market and the source's rules.
03:50Reusable skillsThe project packages a workflow, not just a one-off prompt.
04:50Fit analysisThe rationale behind the score matters more than the number.
06:27CV and cover letterDrafting is followed by a separate reviewer agent and revision.
08:34Human in the loopMads explains why he avoids one-click auto-application.
10:50Application trackingThe feedback loop becomes more useful than raw output volume.
11:45Open-source growthCommunity contributions broadened the workflow and dashboard.
13:42Publishing workflowsRepositories can distribute repeatable expertise as executable knowledge.
16:04Layoff to AI engineerMads connects the personal search, public project, and new role.

Bottom Line

AI Job Search is compelling because it automates the tedious middle without automating away responsibility. It remembers the candidate's real evidence, filters opportunities, challenges drafts, verifies files, and keeps the funnel visible. The user still chooses the opportunity, owns the claims, and sends the application.

Its nearly 30K stars show that the problem resonates. Its real contribution is the workflow architecture: evidence before generation, fit before volume, critique before approval, verification before delivery, and outcomes fed back into the next decision. That pattern travels well beyond job search.

Sources and Further Reading

Common questions

What is Mads Lorentzen's AI Job Search project?
It is an MIT-licensed Claude Code workflow that helps a candidate build a truthful evidence base, find and rank roles, evaluate fit, draft tailored application documents, review them with a separate agent, prepare for interviews, and track outcomes. It intentionally does not submit applications for the user.
Did the AI job search agent help Mads Lorentzen get hired?
Mads says he used the workflow during the search that led to an AI engineering role. The repository reports 69 tailored applications, 20 first interviews, and one signed contract. This is a creator case study, not proof that the software guarantees interviews or employment.
Does the project automatically apply to jobs?
No. It prepares and tracks an application, but the candidate reviews the claims, edits the documents, and submits the final application. That boundary reduces spam, catches hallucinations, and preserves the candidate's accountability.
Is the AI Job Search workflow fully private and offline?
The repository stores profile and application files locally and ignores personal working files in Git, but Claude Code uses a hosted model service. Local file storage is not the same as fully offline processing. Review Claude's account and data controls before adding sensitive information.
Can the workflow scrape LinkedIn and other job boards?
The repository includes portal-specific search skills, but technical capability does not grant permission. LinkedIn's User Agreement prohibits unauthorized scraping and bot access, and other portals have their own terms. Use approved APIs or permitted exports and check each source before automating collection.
What is the best way to test this project?
Run a small seven-day pilot with five roles. Compare fit decisions, factual accuracy, document quality, preparation time, and human corrections against your current process. Keep submission manual and stop if the workflow encourages invented claims or indiscriminate volume.
Share
X LinkedIn Reddit
Build Yours

Want a system
like this one?

Book a free 30-minute call. We map your situation, identify the highest-impact automation, and figure out if we are a fit.

Book Free 30-min Call