AI-powered resume and job description analyzer to help you optimize your resume for specific job postings.
- Upload your resume (PDF or DOCX)
- Upload or paste a job description
- Get an AI-generated analysis: match score, missing keywords, and improvement suggestions
- Dark mode toggle
- Responsive, modern UI (Tailwind CSS)
- Frontend: Angular 20 (standalone components, signals, reactive forms), Tailwind CSS, ngx-markdown
- Backend: Node.js, Express, Multer, pdf-parse, mammoth, Google Gemini API
- Node.js (v20+ recommended)
- npm
- Angular CLI (
npm install -g @angular/cli) - Google Gemini API key (get one here)
-
cd backend -
npm install -
Create a
.envfile inbackend/with:PORT=5000 GEMINI_API_KEY=your_google_gemini_api_key -
Start the backend:
npm run dev # or npm startThe backend runs on
http://localhost:5000by default.
-
In the project root:
npm install ng serve
-
The app will be available at
http://localhost:4200
- Open the app in your browser.
- Upload your resume (PDF or DOCX).
- Upload a job description file or paste the job description text.
- Click Analyze Resume.
- View the AI-powered analysis, including:
- Match score (0-100)
- Missing keywords
- Suggested improvements
- Endpoint:
POST /api/analyze - Form Data:
resume: Resume file (PDF/DOCX, required)jobDesc: Job description file (optional ifjobDescTextis provided)jobDescText: Job description as text (optional ifjobDescis provided)
- Response:
{ analysis: string }(Markdown)
- 100% Tailwind CSS (no custom CSS)
MIT