An AI-powered career copilot that help candidates personalise their resume for every job. Upload your PDF résumé, paste the target job description, and receive a premium analysis with a regenerated, ATS-friendly résumé that reflects the feedback.
- Premium Analysis Dashboard – Executive summary, strengths, keyword gaps, and ATS guidance rendered in rich cards with Markdown highlighting.
- Dynamic Fit Score – Visual gauge backed by AI scoring to show your alignment with the role.
- markdown-native Resume Builder – Generate, copy, and download a professional Markdown resume that renders perfectly in the app and in exported PDFs.
- Template-aware Optimisation – Switch between classic, modern, and functional layouts; regenerate with one click.
- One-click Exports – Save analysis as Markdown/PDF and download the optimised résumé as a polished PDF instantly.
- Resilient UX – Graceful loading states, rate-limit handling, and contextual callouts to guide the user journey.
- Frontend: React, Vite, Framer Motion, Tailwind utilities, Sonner toasts
- Backend: Node.js, Express.js
- Data: MongoDB
- AI Provider: OpenRouter
git clone https://github.com/mahmud-r-farhan/resume-analiser.git
cd resume-analiserInstall dependencies inside both workspaces:
# Backend
cd backend
npm install
# Frontend
cd ../frontend
npm install# Server Configuration
NODE_ENV=development
PORT=5000
FRONTEND_URL=http://localhost:5173
APP_URL=http://localhost:5173
# OpenRouter AI
OPENROUTER_API_KEY=your_openrouter_api_key_here
# MongoDB (Optional - remove if not using)
MONGO_URI=mongodb://localhost:27017/cv-optimizer
# Security
RATE_LIMIT_WINDOW=15
RATE_LIMIT_MAX_REQUESTS=100
JWT_SECRET=
# Mailing
SMTP_USER=
SMTP_PASS=
MONGO_URIis optional. When provided the service stores analysis logs for later insights.
VITE_API_ENDPOINT=http://localhost:5005/api
# In backend/
npm run dev # or npm start
# In frontend/
npm run devOpen the app at http://localhost:5173.
- Upload a PDF résumé (max 5 MB, text-based).
- Paste the job description (≥ 50 words recommended).
- Choose an OpenRouter model (several free presets provided).
- Review the premium analysis dashboard and fit score.
- Regenerate the résumé using your preferred template and download or copy the Markdown.
- Free OpenRouter models may throttle heavy usage; the UI surfaces friendly errors and retry messaging.
- Scanned or image-based PDFs are not yet supported (OCR pipeline is on the roadmap).