Local web app that uses AI to align your resume and interview prep with a specific job posting—so you see gaps, scores, and exports before you apply.
Job seekers paste a real job description, upload a resume, and get structured feedback (match score, missing keywords, tailored copy, practice questions). Everything runs on your machine with your own OpenAI key.
| Area | Capability |
|---|---|
| Job | Paste a JD; extract skills, keywords, and requirements |
| Resume | Upload PDF/text; parse, score vs job, see gaps |
| Optimization | Generate a resume version tuned to the posting |
| Cover letter | Draft tailored to that role |
| Prep | Interview questions with feedback; coding problems with review |
| Learning | Study roadmap when you’re missing skills |
| Export | Download resume, cover letter, interview pack, or a ZIP bundle |
Try without your data: use Start demo on the home page.
| Layer | Tech |
|---|---|
| UI | Next.js, React, TypeScript, Tailwind CSS |
| API | Python, FastAPI, Uvicorn |
| AI | OpenAI API (configurable model; see ai/openai_provider.py) |
| Data | SQLite, SQLAlchemy |
| Files | PDF parsing (e.g. pypdf), PDF generation (ReportLab) |
Prerequisites: Python 3.11+, Node.js 18+, an OpenAI API key.
-
Clone the repo and open a terminal at the project root.
-
Environment — create
.envin the project root (same folder as this README):OPENAI_API_KEY=sk-...
See
.env.examplefor optional variables. -
Install dependencies
pip install -r requirements.txt -r backend/requirements.txt cd frontend && npm install && cd ..
-
Run — two terminals:
# Terminal 1 — API cd backend python -m uvicorn main:app --reload
# Terminal 2 — UI cd frontend npm run dev
-
Open http://localhost:3000 in the browser.
Data on disk: path_to_offer.db (database), uploads/ (resumes), exports/ (generated PDFs)—all under the project root.