Browse docs

Installation

Run Resume Matcher from source without Docker: Python 3.13+ and uv for the backend, Node.js 22+ and npm for the frontend, each in its own terminal.

Prerequisites

  • Python 3.13+
  • Node.js 22+
  • uv
  • npm

Install uv with:

curl -LsSf https://astral.sh/uv/install.sh | sh

Local Development Setup

Clone the main Resume Matcher app repo, then start the backend and frontend in separate terminals.

git clone https://github.com/srbhr/Resume-Matcher.git
cd Resume-Matcher

# Terminal 1
cd apps/backend
cp .env.example .env
uv sync
uv run app

# Terminal 2
cd apps/frontend
npm install
npm run dev

Default Local URLs

  • Frontend: http://localhost:3000
  • Backend: http://127.0.0.1:8000

The frontend expects the backend at http://127.0.0.1:8000 by default.

Resume Matcher runs on donations.

More than 200,000 job seekers have used it, free, with no ads and no paywall. If it saved you time or helped you land an interview, sponsoring or buying a coffee keeps it that way.

Playwright Requirement for PDF Export

PDF generation uses Playwright and Chromium. After backend dependencies are installed, run:

cd apps/backend
uv run playwright install chromium

Without this step, PDF export works only if Chrome or Edge is installed on the machine, which the app falls back to.

PDF export also needs the frontend running, because Chromium prints the frontend’s print page.

Notes

  • npm install in apps/frontend installs frontend dependencies only.
  • Local development starts the frontend and backend separately.
  • Configure your AI provider at http://localhost:3000/settings after both servers are running.
  • Your data goes into an SQLite database in apps/backend/data/, which needs no setup. To use PostgreSQL instead, see Use PostgreSQL Instead of SQLite.
  • Supported providers include OpenAI, Anthropic, OpenRouter, Google Gemini, DeepSeek, Groq, Azure AI Foundry, Ollama and OpenAI-compatible servers, plus your ChatGPT or Claude plan. See Bring Your Own AI Key.

Troubleshooting

uv not found

Install it with:

curl -LsSf https://astral.sh/uv/install.sh | sh

Wrong Python version

Check:

python --version

Resume Matcher local development requires Python 3.13+.

Frontend cannot reach the API

Make sure the backend is running at http://127.0.0.1:8000.

PDF export fails

Make sure the frontend is running, then re-run from apps/backend:

uv run playwright install chromium

Next Steps