TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻译准备中
免费、开源的 AI 简历定制软件,您可自行下载并运行。将简历针对任何职位描述进行本地化定制,使用 Ollama 或任何 AI 提供商。
AI 翻译
Free, open-source AI resume tailoring you download and run yourself. Tailor your resume to any job description, locally with Ollama or any AI provider.
效率工具Python · TypeScriptGitHub @srbhr在线运营者未确认
试用过了吗? 点一下就好,无需登录。
The #1 AI Harness for Building Resumes, PDFs, Cover Letters & more, locally with 100+ LLMs support.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗𝙹𝚘𝚒𝚗 𝙳𝚒𝚜𝚌𝚘𝚛𝚍 ✦ 𝚆𝚎𝚋𝚜𝚒𝚝𝚎 ✦ 𝙷𝚘𝚠 𝚝𝚘 𝙸𝚗𝚜𝚝𝚊𝚕𝚕 ✦ 𝙲𝚘𝚗𝚝𝚛𝚒𝚋𝚞𝚝𝚘𝚛𝚜 ✦ 𝚂𝚙𝚘𝚗𝚜𝚘𝚛 ✦ 𝚃𝚠𝚒𝚝𝚝𝚎𝚛/𝚇 ✦ 𝙻𝚒𝚗𝚔𝚎𝚍𝙸𝚗 ✦ 𝙲𝚛𝚎𝚊𝚝𝚘𝚛
English | Español | 简体中文 | 日本語
Free, open-source resume builder that tailors your resume (CV) to each job description. A self-hosted AI harness for Claude, ChatGPT, DeepSeek, Kimi, GLM, Gemma and other LLMs, local or remote.
[!IMPORTANT]
The project needs your help and support. If you can donate a small amount, that will help me to continue developing and improving Resume Matcher.
Sponsoring for a company? Put your logo in front of 27k+ developers → become a sponsor ↓
Resume Matcher works by creating a master resume that you can use to tailor for each job application. Installation instructions here: How to Install
Installing Resume Matcher takes a terminal, so most of the people running it write software. It fits the way you already work:
services/ats.py) and the ATS check (services/ats_parse/) make no LLM call. The ATS check runs your PDF through pdfminer to show what an applicant tracking system would extract.Join our Discord for discussions, feature requests, and community support.
Follow us on LinkedIn for updates.
Star the repo to support development and get notified of new releases.
Resume Matcher is free and open-source, kept alive by its sponsors and backers. If it helps you, please consider supporting its development.
Sponsor at a company tier and your logo + link + blurb lands here — in front of a community of 27k+ stars and 4.9k forks, featured on Trendshift and the Vercel OSS Program.
| Sponsor | Description |
|---|---|
| Apideck | One API to connect your app to 200+ SaaS platforms (accounting, HRIS, CRM, file storage). Build integrations once, not 50 times. 🌐 apideck.com |
| Vercel | Resume Matcher is a part of Vercel OSS // Summer 2025 Program 🌐 vercel.com |
| Cubic.dev | Cubic provides PR reviews for Resume Matcher 🌐 cubic.dev |
| Kilo Code | Kilo Code provides AI code reviews and coding credits to Resume Matcher 🌐 kilo.ai |
| ZanReal | ZanReal is an AI-driven development company building scalable cloud solutions, from strategy and UX to DevOps, helping teams ship faster and turn ideas into production. 🌐 zanreal.com |
| ✦ Your company here | Reach 27k+ developers and 4.9k forks. Become a sponsor → |
Read the Sponsorship Guide for tiers and details. Sponsors get a special thank-you in the README and on our website.
Every bit keeps Resume Matcher free and funds new features — and you'll be thanked in the README and on our website.
| Platform | Link |
|---|---|
| GitHub | |
| Buy Me a Coffee |
Thank you for checking out Resume Matcher. If you want to connect, collaborate, or just say hi, feel free to reach out! ~ Saurabh Rai ✨
You can follow me on:
Master Resume: Create a comprehensive master resume to draw from your existing one.
Paste in a job description and get AI-powered resume tailored for that specific role.
You can:
Generate tailored cover letters based on the job description and your resume.
The default writing approach uses a specific opening hook, two or three relevant experience examples, a company-fit paragraph grounded in the supplied job description, and a confident call to action. Letters aim for 200–300 words and adapt tone and regional conventions when the inputs provide enough context. Names, metrics, company research, and personal motivations must be supported by the supplied information. Existing custom cover-letter prompts in Settings continue to override the default.
This approach is adapted from the jezweb resume-cover-letter skill. Resume Matcher's existing editor, preview, and PDF export remain available.
Generate structured, resume-grounded interview prep for saved tailored resumes. Use the Builder's Interview Prep tab on demand, or enable automatic generation in Settings.
Paste several job descriptions on the Tailoring Queue page and they are tailored from your master resume one after another in the background. Role, company and job ID are detected from the text without an AI call, and you can edit them. An optional cooldown between jobs (0 to 60 seconds) lowers the risk of hitting your provider's rate limits. Queued jobs are kept in the database and resume after a restart.
The JD Match tab shows the job description beside your resume with the shared keywords highlighted, plus an ATS score out of 100: keyword match (40%), skills coverage (20%), job-title match (15%), section completeness (15%) and date consistency (10%). It lists the missing keywords, and the ones your master resume already has, so you can add those without inventing anything.
The ATS Check tab renders your PDF and reads the text back the way an applicant tracking system's text extractor does, then reports parseability, reading order, contact details and section headings. Both run as plain code. What is an ATS score? explains the formulas.
Export your tailored resume and cover letter in PDF.
The templates export text-based PDFs in A4 or US Letter that applicant tracking systems can parse.
| Template Name | Preview | Description |
|---|---|---|
| Single Column | Traditional full-width layout with maximum content density. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | |
| Two Column | Experience-focused main column with sidebar for skills. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | |
| Modern | Colorful accents with customizable theme colors. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | |
| Modern Two Column | Two-column layout with modern colorful accents and themes. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | |
| LaTeX | Classic serif academic layout with ruled section headers. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | |
| Clean | Minimal sans layout with large understated section headers. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | |
| Vivid | Colorful two-column layout with accent headers and arrow bullets. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | |
| Vivid Single Column | Colorful single-column layout with accent headers and arrow bullets. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 |
If you have any suggestions or feature requests, please feel free to open an issue on GitHub or discuss it on our Discord server.
The Resume Matcher blog has writing guides for developers, from a first internship resume to a FAANG application:
For detailed setup instructions, see SETUP.md (English) or: Español, 简体中文, 日本語.
| Tool | Version | Installation |
|---|---|---|
| Python | 3.13+ | python.org |
| Node.js | 24.22.1 (pinned in .nvmrc) | nodejs.org |
| uv | Latest | astral.sh/uv |
Fastest for MacOS, WSL and Ubuntu users:
# Clone the repository
git clone https://github.com/srbhr/Resume-Matcher.git
cd Resume-Matcher
# Backend (Terminal 1)
cd apps/backend
cp .env.example .env # Configure your AI provider
uv sync # Install dependencies
uv run app
# Frontend (Terminal 2)
cd apps/frontend
npm install
npm run dev
Open http://localhost:3000 and configure your AI provider in Settings.
Windows 11: see Windows 11 Setup for PowerShell commands.
| Provider | Local/Cloud | Notes |
|---|---|---|
| Your coding agent | Local | No API key. Open Claude Code, Codex, Cursor or Copilot in this folder and ask it to set up Resume Matcher and tailor your resume: the agent does the AI work in its own app, and Resume Matcher stores, checks and renders the result for you to edit. Choose Coding agent in Settings. See SETUP.md. |
| Ollama | Local | Free, runs on your machine |
| Claude subscription (via Claude Code) | Cloud (via local CLI) | Runs your installed claude CLI, so this app needs no API key and never sees or stores your Claude credentials, but prompts still go to Anthropic through your Claude Code login and count toward your plan's usage limits (Anthropic may draw them from usage credits instead). Anthropic doesn't allow third-party apps to route requests through Claude Free/Pro/Max plans, this option may count as one, and Anthropic can enforce that without notice; Settings asks you to accept that risk first. For guaranteed access, use the Anthropic provider with an API key, or let Claude Code do the work as your coding agent. Set LLM_PROVIDER=claude_cli; pick the model in Settings or with LLM_MODEL (fable, opus, sonnet, haiku or a full claude-… name). Requires Claude Code installed and signed in (claude auth login); not available inside the Docker images. |
| ChatGPT plan (Sign in with ChatGPT) | Cloud | Community-built. Uses OpenAI's official Sign in with ChatGPT for open-source apps (preview, may change) with ChatGPT Plus or Pro: choose ChatGPT plan in Settings and click Continue with ChatGPT; no API key needed. Requests go from your machine to OpenAI's Responses API and count toward your plan's limits (on Plus the five-hour limit is shared with your other apps; Pro has none). Sign in from a browser on the machine running the backend; the default Docker setup can't complete the sign-in (see ). For guaranteed access, use the provider with an API key. Set . |
Official Docker images are published for linux/amd64 and linux/arm64 on:
ghcr.io/srbhr/resume-matchersrbhr/resume-matcherRun on a single public port (3000) with API available at /api:
docker run --name resume-matcher \
-p 3000:3000 \
-v resume-data:/app/backend/data \
ghcr.io/srbhr/resume-matcher:latest
Prefer pinning a version in production, for example ghcr.io/srbhr/resume-matcher:1.4.0 or
ghcr.io/srbhr/resume-matcher:1.4.
Endpoints:
Using Ollama with Docker? Use
http://host.docker.internal:11434as the Ollama URL instead oflocalhost(on Linux, Ollama must also listen beyond127.0.0.1; see SETUP.md). Docker publishes the app on127.0.0.1only; to open it from another device, see SETUP.md.
| Component | Technology |
|---|---|
| Backend | FastAPI, Python 3.13+, LiteLLM |
| Frontend | Next.js 16, React 19, TypeScript |
| Database | SQLite by default, optional PostgreSQL (SQLAlchemy 2.0) |
| Styling | Tailwind CSS 4, Swiss International Style |
| Headless Chromium via Playwright |
We welcome contributions from everyone! Whether you're a developer, designer, or just someone who wants to help out. All the contributors are listed in the about page on our website and on the GitHub Readme here.
Check out the roadmap if you would like to work on the features that are planned for the future. If you have any suggestions or feature requests, please feel free to open an issue on GitHub and discuss it on our Discord server.
| Modern Deedy | Dense one-page layout in Lato with light grey uppercase section headings. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 |
| Deedy | Two-column layout with a hairline name, a narrow left column and light gray headings. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 |
LLM_PROVIDER=chatgpt| OpenAI | Cloud | GPT-5 Nano, GPT-4o |
| Anthropic | Cloud | Claude Haiku 4.5 |
| Google Gemini | Cloud | Gemini 3 Flash |
| OpenRouter | Cloud | Access to multiple models |
| DeepSeek | Cloud | DeepSeek Chat |
| Groq | Cloud | Llama 3.3 70B, GPT-OSS |