An AI-powered resume analysis platform that evaluates resumes against job descriptions and generates ATS-optimized resumes.
The system analyzes resumes using keyword matching, ATS scoring, and AI feedback to help job seekers improve their chances of passing Applicant Tracking Systems (ATS) used by companies during hiring.
• Upload resume (PDF or DOCX) • Extract resume text automatically • Analyze resume against job description • Keyword match analysis • Missing keyword detection • ATS compatibility scoring • AI-powered resume feedback • Generate ATS-optimized resume • Download optimized resume (PDF / DOCX) • Send optimized resume to email • Google authentication using Supabase
- User uploads a resume and job description
- Backend extracts text from the uploaded resume
- Job description keywords are extracted using NLP techniques
- Resume is compared against job requirements
- ATS score and keyword match analysis are calculated
- AI generates resume improvement suggestions
- User can generate an ATS-optimized resume
- React
- TypeScript
- Vite
- TailwindCSS
- Axios
- Node.js
- Express.js
- Multer (file upload middleware)
- Mammoth (DOCX parsing)
- PDF.js (PDF parsing)
- Nodemailer (email service)
- Puter AI (AI feedback & resume optimization)
- NLP keyword extraction
- Transformers
- Supabase
- Google OAuth
Frontend: React, TypeScript, TailwindCSS Backend: Node.js, Express AI: Puter AI Authentication: Supabase File Processing: PDF.js, Mammoth Email Service: Nodemailer
The application follows a full-stack architecture where the frontend communicates with a backend API for resume analysis and AI processing.
Frontend (React + TypeScript)
│
│ REST API
▼
Backend (Node.js + Express)
│
├── Resume Parsing
│ ├─ PDF.js
│ └─ Mammoth (DOCX)
│
├── Keyword Matching
│
├── ATS Scoring Algorithm
│
├── AI Resume Optimization
│ └─ Puter AI
│
▼
External Services
├── Supabase (Authentication)
└── Nodemailer (Email Resume Delivery)
- Resume upload interface
- Job description input
- Keyword heatmap visualization
- Display ATS score and AI feedback
- Resume download and email features
- Resume file processing
- ATS scoring algorithm
- Keyword extraction and matching
- AI resume optimization
- Email delivery service
frontend/
│
├── constants/
├── public/
├── services/
├── src/
│ ├── components/
│ ├── pages/
│ ├── steps/
│ └── lib/
├── types/
│
├── index.html
├── package.json
└── vite.config.ts
backend/
│
├── controllers/
├── middlewares/
├── models/
├── routes/
├── services/
├── utils/
│
├── index.js
└── package.json
git clone https://github.com/Chitranshnigam28/aiResumeAnalyzer.git
cd ai-resume-analyzer
cd frontend
npm install
npm run dev
Frontend runs on:
http://localhost:5173
cd backend
npm install
node index.js
Backend runs on:
http://localhost:5001
Create .env inside backend/
Example:
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_app_password
PUTER_API_KEY=your_puter_api_key
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key
(Screenshots will be added after UI improvements and deployment)
Example:
• Resume preview editor • Resume templates • Improved ATS scoring algorithm • LinkedIn profile import • Resume version history • Job matching suggestions
Chitransh Nigam
Full Stack Developer React • TypeScript • Node.js • AI Integration
If you found this project useful, please consider starring the repository.