AI Job Search: Open-Source Local Job Application Framework Built on Claude Code
Explore AI Job Search, an open-source framework built on Claude Code CLI that automates job scraping, fit ranking, LaTeX CV and cover letter drafting, and inter
Open-source developer Mads Lorentzen has released 'ai-job-search', an open-source (MIT licensed) job search automation framework designed to run entirely on the job seeker's local machine using Anthropic's Claude Code CLI. Instead of sending resumes, career history, and personally identifiable information to third-party cloud services, the project provides a self-contained local environment that manages the entire job application lifecycle from job posting discovery to document compilation and interview preparation.

Image source: MadsLorentzen/ai-job-search via GitHub
Commercial job portals and online AI resume builders routinely require job seekers to upload sensitive personal details, including compensation expectations, contact information, and detailed employment histories, to remote cloud servers. Furthermore, standard conversational AI workflows force users to repeatedly paste identical career context whenever evaluating new job openings. ai-job-search addresses these pain points by structuring career profiles and application histories directly on the user's local filesystem, using a dedicated slash-command interface to streamline every stage of the search pipeline.
End-to-End Slash Command Pipeline Built on Claude Code CLI
Operated directly within the Claude Code terminal interface, ai-job-search provides specialized slash commands that guide applicants through each sequential phase of their search.
- /setup (Profile and Criteria Configuration): Initializes and structures the candidate's core profile on the local machine, capturing work experience, portfolio highlights, target job roles, and minimum compensation criteria into structured data.
- /scrape (Job Listing Ingestion): Queries and scrapes matching job postings across multiple job portals, saving full job specifications into the local repository. While the bundled scrapers default to Danish job sites, the modular CLI architecture allows users to extend coverage to other regional job portals.
- /rank (Fit Scoring and Prioritization): Compares scraped job postings against the stored candidate profile, evaluating tech stack alignment, requirement coverage, and seniority fit to generate a ranked list of high-priority openings.
- /apply (Tailored Application Generation): Automatically authors and typesets tailored CVs and cover letters specifically calibrated to highlight relevant strengths for each selected position.
- /interview (Mock Interview Simulation): Synthesizes expected technical and behavioral interview questions derived from the target job posting and generated application materials, running interactive interview prep sessions.
- /outcome (Pipeline Tracking and Feedback): Logs submission dates, recruitment stages, screening outcomes, and interview feedback, providing centralized visibility across active applications.
Drafter-Reviewer Two-Agent Verification Loop and LaTeX Typesetting
A key architectural advantage of ai-job-search is its multi-agent refinement process, moving beyond single-pass text generation to ensure rigorous quality control and professional document layout.
- Drafter & Reviewer Collaborative Loop: The Drafter agent creates an initial application draft tailored to the posting's specific requirements. Subsequently, an independent Reviewer agent audits the draft against the original job specification, checking for missing keywords, logical consistency, ungrounded claims, and awkward phrasing. This iterative loop reduces generic AI filler and mitigates hallucination risks before compiling final documents.
- Dedicated LuaLaTeX and XeLaTeX Compilation: Rather than relying on generic Word templates or raw Markdown, the framework leverages LaTeX typesetting engines for publication-grade typography. Curricula Vitae (CVs) are compiled via LuaLaTeX, while cover letters are processed through XeLaTeX, delivering clean font rendering and professional PDF formatting.
- Isolated Per-Application Versioning: Both the LaTeX source code and the resulting compiled PDF files are stored in dedicated local directories for each application, enabling candidates to review the exact submitted materials prior to interviews.
Runtime Requirements, Private Repository Setup, and Operational Caveats
Deploying ai-job-search locally requires several prerequisites and operational safeguards to protect personal data and ensure smooth execution.
- Runtime and Toolchain Prerequisites: The host system must have Python 3.10+ and the Bun runtime installed. Compiling PDF documents additionally requires a functional TeX distribution (such as TeX Live, MacTeX, or TinyTeX) with LuaLaTeX and XeLaTeX binaries available in the system PATH.
- Claude Code CLI Subscriptions and API Credits: Claude Code CLI does not provide a free tier. Operating the CLI requires an active Claude Pro, Max, or Team subscription or sufficient prepaid Anthropic API credits.
- Mandatory Private Repository Cloning: When deploying the framework from GitHub, creating a public fork poses a significant privacy risk, as the
/setupcommand stores real names, contact numbers, detailed work histories, and salary goals in version-controlled local files. Users must duplicate the codebase into a private repository with upstream remotes rather than making public commits. - Prompt Defense and Manual Pre-Submission Review: While the framework implements prompt-level defenses against untrusted text extracted from external job listings, it does not provide OS-level sandbox isolation. Applicants must manually review all generated documents before submitting them to prospective employers.
Sources
- GitHub Repository: MadsLorentzen/ai-job-search