AI-powered job matching and resume customization platform. Upload your resume, search for jobs, get match analysis, and generate tailored resumes — all driven by Claude AI agents.
AI-powered job search with match scoring and one-click resume generation.
Detailed resume health analysis with actionable improvement suggestions.
AI-extracted capabilities with evidence from your resume.
- Resume Parsing — Upload PDF/DOCX resumes and extract structured profile data
- Job Search — Search jobs via Adzuna API or manually input job descriptions
- Match Analysis — AI-powered scoring of how well your profile fits a job
- Resume Generation — Auto-generate customized resumes tailored to specific job postings
- Resume Refinement — Iterative dialogue with AI to refine generated resumes
- Resume Scoring — Detailed scorecard with improvement suggestions
- Recruiter Finder — Discover relevant recruiters via SerpAPI
| Layer | Technology |
|---|---|
| Frontend | Next.js 16, React 19, TypeScript, Tailwind CSS |
| Backend | FastAPI, SQLAlchemy (async), Pydantic |
| AI | Claude CLI (subprocess) for text, Anthropic API for vision |
| Database | SQLite (default, easily swappable) |
| Containerization | Docker Compose |
jobmatch-ai/
├── backend/
│ ├── agents/ # AI agent modules (orchestrator, matcher, analyzer, etc.)
│ ├── models/ # SQLAlchemy database models
│ ├── routers/ # FastAPI route handlers (profiles, jobs, resumes)
│ ├── tools/ # Utilities (resume parser, job search, docx generator)
│ ├── config.py # Environment-based configuration
│ └── main.py # Application entry point
├── frontend/
│ └── src/
│ ├── app/ # Next.js pages (home, jobs, resume, recruiters)
│ ├── components/ # React components
│ └── lib/ # API client
└── docker-compose.yml
- Python 3.11+
- Node.js 18+
- Claude Code CLI installed and authenticated (required — AI features run via
claudesubprocess, requires Claude Pro/Max subscription) - Anthropic API key (optional — only needed for image/screenshot analysis)
- Adzuna API key (optional, for job search)
- SerpAPI key (optional, for recruiter finder)
- Clone the repository
git clone https://github.com/AngYu/jobmatch-ai.git
cd jobmatch-ai- Configure environment variables
cp .env.example .env
# Edit .env and add your API keys- Start the backend
cd backend
pip install -r requirements.txt
uvicorn main:app --reload --port 8002- Start the frontend
cd frontend
npm install
npm run dev- Open the app at http://localhost:3000
docker compose up --build| Method | Endpoint | Description |
|---|---|---|
| GET | /api/health |
Health check |
| POST | /api/profiles/upload |
Upload resume |
| GET | /api/profiles/current |
Get current profile |
| POST | /api/jobs/search |
Search jobs |
| POST | /api/jobs/match |
Analyze job match |
| POST | /api/resumes/generate |
Generate tailored resume |
| POST | /api/resumes/refine |
Refine resume via dialogue |
MIT


