Prerequisites
- Node.js 22+ - Download
- Python 3.13+ - Download
- uv - Python package manager. Install:
curl -LsSf https://astral.sh/uv/install.sh | sh - Git - Download
- Npm - Comes with Node.js
Quick Start
Terminal 1 — Backend:
cd apps/backend
python -m venv .venv
source .venv/bin/activate
uv sync
playwright install # IMPORTANT Required for PDF rendering
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
That’s it. Open http://localhost:3000 in your browser.
What npm install Does
The install script handles both stacks:
- Frontend - Installs Next.js dependencies in
apps/frontend/ - Backend - Creates Python virtual environment via
uvinapps/backend/
Environment Setup
Copy the example environment files:
# Backend config
cp apps/backend/.env.example apps/backend/.env
# Frontend config (optional)
cp apps/frontend/.env.local.example apps/frontend/.env.local
Edit apps/backend/.env to add your AI provider credentials:
LLM_PROVIDER=openai
LLM_MODEL=gpt-4o-mini
LLM_API_KEY=sk-your-key-here
Or skip this step and configure via the Settings page after starting the app. (⚠️ Experimental right now)
Development Commands
| Command | Description |
|---|---|
npm run dev | Start both frontend (:3000) and backend (:8000) |
npm run dev:frontend | Frontend only |
npm run dev:backend | Backend only |
npm run build | Production build |
npm run lint | Run linter |
Verify Installation
- Open
http://localhost:3000 - Go to Settings and configure your AI provider
- Click “Test Connection” to verify it works
- Upload a resume and try tailoring it
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
Backend won’t start?
Check .env file exists in apps/backend/
Getting Help
Next Steps
- Docker Setup - Containerized deployment
- Features - Explore capabilities
- Contributing - Help improve the project