Resume-Matcher

The #1 AI Harness for Building Resumes, PDFs, Cover Letters & more, locally with 100+ LLMs support.

28,111 stars TypeScript Markdown Skills API Spec #applicant-tracking-system#ats#hacktoberfest#machine-learning
AI Prompts & Specs

Repository: srbhr/Resume-Matcher


Stars: 26698

README.md

<div align="center">

![Resume Matcher](https://www.resumematcher.fyi)

Resume Matcher

𝙹𝚘𝚒𝚗 𝙳𝚒𝚜𝚌𝚘𝚛𝚍𝚆𝚎𝚋𝚜𝚒𝚝𝚎𝙷𝚘𝚠 𝚝𝚘 𝙸𝚗𝚜𝚝𝚊𝚕𝚕𝙲𝚘𝚗𝚝𝚛𝚒𝚋𝚞𝚝𝚘𝚛𝚜𝚂𝚙𝚘𝚗𝚜𝚘𝚛𝚃𝚠𝚒𝚝𝚝𝚎𝚛/𝚇𝙻𝚒𝚗𝚔𝚎𝚍𝙸𝚗𝙲𝚛𝚎𝚊𝚝𝚘𝚛

English | Español | 简体中文 | 日本語

Create tailored resumes for each job application with AI-powered suggestions. Works locally with Ollama or connect to your favorite LLM provider via API.

!Resume Matcher Demo

</div>

<br>

<div align="center">

!Stars
!Apache 2.0 !Forks !version

![Discord](https://dsc.gg/resume-matcher) ![Website](https://resumematcher.fyi) ![LinkedIn](https://www.linkedin.com/company/resume-matcher/)

<a href="https://trendshift.io/repositories/565" target="_blank"><img src="https://trendshift.io/api/badge/repositories/565" alt="srbhr%2FResume-Matcher | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>

!Vercel OSS Program

</div>

\[!IMPORTANT]

> This project is in active development. New features are being added continuously, and we welcome contributions from the community. If you have any suggestions or feature requests, please feel free to open an issue on GitHub or discuss it on our Discord server.

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

1. Upload your master resume (PDF or DOCX)
2. Paste a job description you're targeting
3. Review AI-generated improvements and tailored content
4. Cover Letter generator for the job application
5. Customize the layout and sections to fit your style
6. Export as a professional PDF with your preferred template

Stay Connected

![Discord](https://dsc.gg/resume-matcher)

Join our Discord for discussions, feature requests, and community support.

![LinkedIn](https://www.linkedin.com/company/resume-matcher/)

Follow us on LinkedIn for updates.

!Star Resume Matcher

Star the repo to support development and get notified of new releases.

Sponsors

!sponsors

We are grateful to our sponsors who help keep this project going. If you find Resume Matcher helpful, please consider sponsoring us to ensure continued development and improvements.

| 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 |

<a id="support-the-development-by-donating"></a>

!donate

Please read our Sponsorship Guide) for details on how your sponsorship helps the project. You will receive a special thank you in the ReadME and on our website.

| Platform | Link |
|-----------|----------------------------------------|
| GitHub | ![GitHub Sponsors](https://github.com/sponsors/srbhr) |
| Buy Me a Coffee | ![BuyMeACoffee](https://www.buymeacoffee.com/srbhr) |

Creators' Note

![srbhr](https://srbhr.com)

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/srbhrai
- GitHub: https://github.com/srbhr

Key Features

!resume_matcher_features

Core Features

Master Resume: Create a comprehensive master resume to draw from your existing one.

!Job Description Input

Resume Builder

!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.

!Cover Letter

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 |
|---------------|---------|-------------|
| Classic Single Column | !Classic Template | A traditional and clean layout suitable for most industries. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅 |
| Modern Single Column | !Modern Template | A contemporary design with a focus on readability and aesthetics. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅|
| Classic Two Column | !Classic Two Column Template | A structured layout that separates sections for clarity. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅|
| Modern Two Column | !Modern Two Column Template | A sleek design that utilizes two columns for better organization. 𝐕𝐢𝐞𝐰 𝐏𝐃𝐅|

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

<a id="how-to-install"></a>

How to Install

!Installation

For detailed setup instructions, see SETUP.md (English) or: Español, 简体中文, 日本語.

Prerequisites

| Tool | Version | Installation |
|------|---------|--------------|
| Python | 3.13+ | python.org |
| Node.js | 22+ | nodejs.org |
| uv | Latest | astral.sh/uv |

Quick Start

Fastest for MacOS, WSL and Ubuntu users:

bash

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 uvicorn app.main:app --reload --port 8000

Frontend (Terminal 2)


cd apps/frontend
npm install
npm run dev

Open <http://localhost:3000> and configure your AI provider in Settings.

Supported AI Providers

| Provider | Local/Cloud | Notes |
|----------|-------------|-------|
| Ollama | Local | Free, runs on your machine |
| 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 |

Docker Deployment

Official Docker images are published for linux/amd64 and linux/arm64 on:

- ghcr.io/srbhr/resume-matcher
- srbhr/resume-matcher

Run on a single public port (3000) with API available at /api:

bash
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.2.0 or
ghcr.io/srbhr/resume-matcher:1.2.

Endpoints:

- App: <http://localhost:3000>
- API health check: <http://localhost:3000/api/v1/health>
- API docs: <http://localhost:3000/docs>

Using Ollama with Docker? Use http://host.docker.internal:11434 as the Ollama URL instead of localhost.

Tech Stack

| Component | Technology |
|-----------|------------|
| Backend | FastAPI, Python 3.13+, LiteLLM |
| Frontend | Next.js 16, React 19, TypeScript |
| Database | TinyDB (JSON file storage) |
| Styling | Tailwind CSS 4, Swiss International Style |
| PDF | Headless Chromium via Playwright |

Join Us and Contribute

!how to 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.

<a id="contributors"></a>

Contributors

!Contributors

<a href="https://github.com/srbhr/Resume-Matcher/graphs/contributors">
<img src="https://contrib.rocks/image?repo=srbhr/Resume-Matcher" />
</a>

<br/>

<details>
<summary><kbd>Star History</kbd></summary>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=srbhr/resume-matcher&theme=dark&type=Date">
<img width="100%" src="https://api.star-history.com/svg?repos=srbhr/resume-matcher&theme=dark&type=Date">
</picture>
</details>

Resume Matcher is a part of Vercel Open Source Program

!Vercel OSS Program