Resume Matcher
𝙹𝚘𝚒𝚗 𝙳𝚒𝚜𝚌𝚘𝚛𝚍 ✦ 𝚆𝚎𝚋𝚜𝚒𝚝𝚎 ✦ 𝙷𝚘𝚠 𝚝𝚘 𝙸𝚗𝚜𝚝𝚊𝚕𝚕 ✦ 𝙲𝚘𝚗𝚝𝚛𝚒𝚋𝚞𝚝𝚘𝚛𝚜 ✦ 𝚂𝚙𝚘𝚗𝚜𝚘𝚛 ✦ 𝚃𝚠𝚒𝚝𝚝𝚎𝚛/𝚇 ✦ 𝙻𝚒𝚗𝚔𝚎𝚍𝙸𝚗 ✦ 𝙲𝚛𝚎𝚊𝚝𝚘𝚛
English | Español | 简体中文 | 日本語
The AI harness to build tailored resumes for each job application with Claude, ChatGPT, DeepSeek, Kimi, GLM, Gemma, and other LLMs. Supports both local and remote LLMs.
\[!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 ↓
Getting Started
Resume Matcher works by creating a master resume that you can use to tailor for each job application. Installation instructions here: How to Install
How It Works
- Upload your master resume (PDF or DOCX)
- Paste a job description you're targeting
- Review AI-generated improvements and tailored content
- Cover Letter and optional interview preparation for the job application
- Customize the layout and sections to fit your style
- Export as a professional PDF with your preferred template
Stay Connected
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.
Sponsors
Resume Matcher is free and open-source, kept alive by its sponsors and backers. If it helps you, please consider supporting its development.
Companies backing Resume Matcher
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.
Support as an individual
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 |
|
Creators' Note
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:
- Website: https://srbhr.com
- Linkedin: https://www.linkedin.com/in/srbhr/
- Twitter: https://twitter.com/srbhr_r
- GitHub: https://github.com/srbhr
Key Features
Core Features
Master Resume: Create a comprehensive master resume to draw from your existing one.
Resume Builder
Paste in a job description and get AI-powered resume tailored for that specific role.
You can:
- Modify suggested content
- Add/remove sections
- Rearrange sections via drag-and-drop
- Choose from multiple resume templates
Cover Letter Generator
Generate tailored cover letters based on the job description and your resume.
Interview Preparation
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.
Tailoring Queue
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.
Resume Scoring & Keyword Highlighting
Analyze your resume against the job description with a match score, keyword highlighting, and suggestions for improvement.
!Resume Scoring and Keyword Highlight
PDF Export
Export your tailored resume and cover letter in PDF.
Templates
| Template Name | Preview | Description | |---------------|---------|-------------| | Single Column | !Single Column | Traditional full-width layout with maximum content density. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | | Two Column | !Two Column | Experience-focused main column with sidebar for skills. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | | Modern | !Modern | Colorful accents with customizable theme colors. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | | Modern Two Column | !Modern Two Column | Two-column layout with modern colorful accents and themes. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | | LaTeX | !LaTeX | Classic serif academic layout with ruled section headers. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | | Clean | !Clean | Minimal sans layout with large understated section headers. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | | Vivid | !Vivid | Colorful two-column layout with accent headers and arrow bullets. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | | Vivid Single Column | !Vivid Single Column | Colorful single-column layout with accent headers and arrow bullets. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | | Modern Deedy | !Modern Deedy | Dense one-page layout in Lato with light grey uppercase section headings. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 | | Deedy | !Deedy | Two-column layout with a hairline name, a narrow left column and light gray headings. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 |
Internationalization
- Multi-Language UI: Interface available in English, Spanish, Chinese, Japanese, and Portuguese (Brazilian)
- Multi-Language Content: Generate resumes and cover letters in your preferred language
Roadmap
If you have any suggestions or feature requests, please feel free to open an issue on GitHub or discuss it on our Discord server.
- AI Canvas for crafting impactful, metric-driven resume content
- Email template generator for job applications
- Multi-job description optimization
How to Install
For detailed setup instructions, see SETUP.md (English) or: Español, 简体中文, 日本語.
Prerequisites
| Tool | Version | Installation | |------|---------|--------------| | Python | 3.13+ | python.org | | Node.js | 24+ | nodejs.org | | uv | Latest | astral.sh/uv |
Quick Start
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
Windows 11: see Windows 11 Setup for PowerShell commands.
Supported AI Providers
| Provider | Local/Cloud | Notes |
|----------|-------------|-------|
| 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 does not officially support third-party apps using Claude Pro/Max subscriptions, so this may stop working if its policy changes; for guaranteed access, use the Anthropic provider with an API key. Set LLM_PROVIDER=claude_cli. 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 SETUP.md). For guaranteed access, use the OpenAI provider with an API key. Set 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 |
Docker Deployment
Official Docker images are published for linux/amd64 and linux/arm64 on:
ghcr.io/srbhr/resume-matchersrbhr/resume-matcher
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.3.0 or
ghcr.io/srbhr/resume-matcher:1.3.
Endpoints:
- App:
- API health check:
- API docs:
Using Ollama with Docker? Usehttp://host.docker.internal:11434as the Ollama URL instead oflocalhost.
Tech Stack
| 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 | | PDF | Headless Chromium via Playwright |
Join Us and Contribute
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.
Contributors
Star History