Skip to content
Mahenoor-MehtabPublic

About

πŸš€ AI-powered resume builder that tailors your resume to any Job Description with ATS optimization, interview prep & AI chatbot β€” built with MERN + Claude AI

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—
β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• 
β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘  β•šβ–ˆβ–ˆβ•”β•  
β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•   β–ˆβ–ˆβ•‘   
β•šβ•β•  β•šβ•β•β•šβ•β•β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•    β•šβ•β•   

πŸš€ AI-Powered Resume Builder & Interview Prep Platform

Paste a Job Description. Get an ATS-Optimized Resume. Ace the Interview.


MongoDB Express React Node.js Claude AI Tailwind CSS JWT License: MIT


πŸš€ Live Demo Β· πŸ“– Documentation Β· πŸ› Report Bug Β· πŸ’‘ Request Feature



πŸ€” What is HireReady?

HireReady is a full-stack MERN application that helps job seekers land their dream job faster.

You paste a Job Description β€” HireReady analyzes it, builds a tailored ATS-optimized resume, gives you an ATS score, prepares interview questions, and even lets you practice with an AI chatbot β€” all in one place.

"Stop applying with generic resumes. Start applying with resumes built for the job."


✨ Features

πŸ”΄ Core Features (MVP)

Feature Description
JD Analyzer Paste any Job Description β€” AI extracts top keywords, skills & priorities
Resume Builder Upload existing resume OR fill a form β€” both paths supported
ATS Resume Generator AI generates a clean, ATS-friendly resume tailored to the JD
ATS Score Checker See how well your resume matches the JD (percentage score)
Interview Prep Get role-specific interview questions with suggested answers
PDF Download Download your generated resume as a clean PDF instantly
User Auth Secure Signup / Login with JWT authentication

🟑 Smart Features

Feature Description
AI Chatbot Context-aware assistant that knows your JD + Resume β€” ask anything
Skills Gap Analysis See exactly which skills from the JD are missing in your resume
Cover Letter Generator Auto-generate a cover letter based on JD + your resume
Resume History All your generated resumes saved β€” revisit anytime

πŸ”₯ Unique Features

Feature Description
Resume Roaster Get brutally honest AI feedback on your resume β€” then fix it
Salary Estimator AI estimates salary range based on JD + your experience + location
JD Comparator Paste multiple JDs β€” AI ranks which one fits your profile best

πŸ› οΈ Tech Stack

Frontend

Technology Purpose
React 18 + Vite Core frontend framework
Tailwind CSS Styling
React Router DOM Client-side routing
React Hook Form Form handling
Zustand Global state management
TanStack Query Server state & data fetching
Axios HTTP requests

Backend

Technology Purpose
Node.js + Express REST API server
MongoDB + Mongoose Database & ODM
JWT + bcryptjs Authentication & password hashing
Multer File uploads (resume PDF/DOCX)
pdf-parse Extract text from uploaded PDFs

AI Layer

Technology Purpose
Claude API (Anthropic) Resume generation, ATS scoring, interview prep, chatbot

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         React 18 Frontend (Vite)        β”‚
β”‚   Zustand Β· React Query Β· Tailwind CSS  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚ REST API (HTTP)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚        Node.js + Express Backend        β”‚
β”‚    JWT Auth Β· Multer Β· pdf-parse        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚              β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Claude AI API β”‚  β”‚  MongoDB Atlas        β”‚
β”‚  (Anthropic)   β”‚  β”‚  Users Β· Resumes      β”‚
β”‚  Resume Gen    β”‚  β”‚  Sessions Β· History   β”‚
β”‚  ATS Score     β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚  Interview Q   β”‚
β”‚  Chatbot       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“ Project Structure

hireready/
β”‚
β”œβ”€β”€ client/                        β†’ React + Vite Frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”‚   β”œβ”€β”€ Login.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Register.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Dashboard.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ JDInput.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ResumeBuilder.jsx
β”‚   β”‚   β”‚   └── InterviewPrep.jsx
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ Chatbot.jsx        β†’ Floating AI chatbot
β”‚   β”‚   β”‚   β”œβ”€β”€ ATSScore.jsx       β†’ Score display
β”‚   β”‚   β”‚   β”œβ”€β”€ Navbar.jsx
β”‚   β”‚   β”‚   └── ProtectedRoute.jsx
β”‚   β”‚   β”œβ”€β”€ services/              β†’ All API call functions
β”‚   β”‚   β”œβ”€β”€ store/                 β†’ Zustand global state
β”‚   β”‚   └── App.jsx
β”‚   β”œβ”€β”€ .env
β”‚   └── package.json
β”‚
└── server/                        β†’ Node + Express Backend
    β”œβ”€β”€ controllers/
    β”‚   β”œβ”€β”€ authController.js
    β”‚   β”œβ”€β”€ resumeController.js
    β”‚   β”œβ”€β”€ jdController.js
    β”‚   β”œβ”€β”€ interviewController.js
    β”‚   └── chatController.js
    β”œβ”€β”€ models/
    β”‚   β”œβ”€β”€ User.js
    β”‚   β”œβ”€β”€ Resume.js
    β”‚   └── Session.js
    β”œβ”€β”€ routes/
    β”‚   β”œβ”€β”€ auth.js
    β”‚   β”œβ”€β”€ resume.js
    β”‚   β”œβ”€β”€ jd.js
    β”‚   β”œβ”€β”€ interview.js
    β”‚   └── chat.js
    β”œβ”€β”€ middleware/
    β”‚   β”œβ”€β”€ authMiddleware.js
    β”‚   └── errorMiddleware.js
    β”œβ”€β”€ services/
    β”‚   └── aiService.js           β†’ All Claude API calls
    β”œβ”€β”€ config/
    β”‚   └── db.js
    β”œβ”€β”€ .env
    └── index.js

πŸ—„οΈ Database Schema (MongoDB)

Users Collection

{
  "_id": "ObjectId",
  "name": "string",
  "email": "string",
  "password": "hashed string",
  "createdAt": "date"
}

Resumes Collection

{
  "_id": "ObjectId",
  "userId": "ObjectId (ref: Users)",
  "originalResume": "string (raw text)",
  "generatedResume": "string (ATS optimized)",
  "atsScore": "number",
  "jdText": "string",
  "createdAt": "date"
}

Sessions Collection

{
  "_id": "ObjectId",
  "userId": "ObjectId (ref: Users)",
  "jdText": "string",
  "resumeText": "string",
  "interviewQuestions": ["array"],
  "chatHistory": ["array"],
  "createdAt": "date"
}

πŸš€ Getting Started

Prerequisites

1. Clone the Repository

git clone https://github.com/yourusername/hireready.git
cd hireready

2. Setup Backend

cd server
npm install

Create server/.env:

PORT=5000
MONGO_URI=your_mongodb_atlas_connection_string
JWT_SECRET=your_super_secret_key
ANTHROPIC_API_KEY=your_claude_api_key

3. Setup Frontend

cd ../client
npm install

Create client/.env:

VITE_API_URL=http://localhost:5000/api

4. Run Development Servers

# Terminal 1 β€” Backend
cd server
npm run dev        # Runs on http://localhost:5000

# Terminal 2 β€” Frontend
cd client
npm run dev        # Runs on http://localhost:5173

πŸ”„ User Flow

1. Signup / Login
       ↓
2. Paste Job Description
       ↓
3. Upload Resume (PDF/DOCX) OR Fill Resume Form
       ↓
4. AI Generates ATS-Optimized Resume
       ↓
5. View ATS Score + Skills Gap
       ↓
6. View Interview Questions + Suggested Answers
       ↓
7. Practice with AI Chatbot
       ↓
8. Download Resume as PDF βœ…

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch β€” git checkout -b feat/AmazingFeature
  3. Commit your changes β€” git commit -m 'feat: add AmazingFeature'
  4. Push to the branch β€” git push origin feat/AmazingFeature
  5. Open a Pull Request

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.


πŸ™ Acknowledgements


Built with ❀️ for every job seeker who deserves better than a generic resume

Agar HireReady ne help ki, toh ⭐ zaroor do GitHub pe!

About

πŸš€ AI-powered resume builder that tailors your resume to any Job Description with ATS optimization, interview prep & AI chatbot β€” built with MERN + Claude AI

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages