MadsLorentzen/ai-job-search

The job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.

What it solves

Applying for jobs is often a tedious process of manually tailoring CVs and cover letters for every application. This project provides an automated framework to handle the entire job search pipeline—from finding relevant roles to preparing for interviews—while ensuring that the final documents are professionally formatted and honest.

How it works

Built on Claude Code, the framework transforms the CLI agent into a full-stack job assistant. It uses a structured workflow consisting of several key commands:

  • Profiling: /setup creates a candidate profile from existing documents or an interview.
  • Discovery: /scrape searches job portals (with built-in tools for the Danish market and LinkedIn) and /rank scores them based on fit.
  • ** apply**: /apply uses a "drafter-reviewer" pipeline where one agent drafts tailored LaTeX documents and a second agent critiques them. The system then compiles the PDFs and visually inspects the layout to fix orphans or page overflows before performing an ATS-check on the text layer to ensure parseability.
  • Management: /outcome tracks application results, while /gmail-sync and /notion-sync integrate with external tools to monitor status and organize the pipeline.
  • Preparation: /interview generates a stage-specific prep pack and conducts mock interviews based on the candidate's actual profile and the specific job posting.

Who it’s for

Job seekers who want to automate the repetitive parts of their application process without sacrificing the quality or honesty of their tailored materials, particularly those comfortable using a command-line interface and LaTeX.

Highlights

  • PDF Verification Loop: Automatically compiles and iterates on LaTeX code until the PDF layout is visually perfect (e.g., exactly 2 pages for CVs).
  • ATS Text-Layer Check: Uses pdftotext to verify that the PDF's embedded text is readable by automated parsers, preventing common LaTeX rendering issues.
  • Relevance-Weighted Cutting: Intelligently trims CV content based on relevance to the job posting rather than just removing the oldest experience.
  • Drafter-Reviewer Architecture: Employs two separate agents to ensure drafts are critiqued and refined before finalization.
  • Comprehensive Lifecycle: Covers the entire funnel from scraping and ranking to interview prep and skill-gap analysis via /upskill.