Setup

Installation

Set up Resume Matcher locally in 5 minutes

Prerequisites

  • Node.js 22+ - Download
  • Python 3.13+ - Download
  • uv - Python package manager. Install: curl -LsSf https://astral.sh/uv/install.sh | sh
  • npm - Comes with Node.js

Quick Start

Terminal 1 — Backend:

cd apps/backend
python -m venv .venv
source .venv/bin/activate
uv sync
uv run uvicorn app.main:app --reload --port 6799

Terminal 2 — Frontend:

cd apps/frontend
npm install
npm run dev         # Development
npm run build && npm run start  # Production

Open http://localhost:3000 in your browser.

Installing Playwright

Playwright is required for PDF rendering. After setting up the backend virtual environment, run:

playwright install

This downloads the browser binaries needed for PDF generation. Without this step, PDF export will fail.

What npm install Does

The install script handles both stacks:

  1. Frontend - Installs Next.js dependencies in apps/frontend/
  2. Backend - Creates Python virtual environment via uv in apps/backend/

Development Commands

CommandDescription
npm run devStart both frontend (:3000) and backend (:8000)
npm run dev:frontendFrontend only
npm run dev:backendBackend only
npm run buildProduction build

Troubleshooting

Port already in use? Kill existing processes: lsof -ti:3000 | xargs kill -9

Python version error? Check version: python --version (needs 3.11+)

uv not found? Install it: curl -LsSf https://astral.sh/uv/install.sh | sh

Getting Help

Next Steps