Skip to content

Latest commit

Β 

History

22 Commits

Folders and files

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

Repository files navigation

πŸš€ JobHunt

An AI-powered interview preparation platform that analyzes your resume against a job description, identifies skill gaps, generates interview-ready insights, and creates an AI-enhanced resume.

React Vite Tailwind CSS Node.js Express.js MongoDB JWT Google Gemini License


🌐 Live Demo

πŸ”— https://job-hunt-ochre-phi.vercel.app/


✨ Features

πŸ” Authentication

  • User registration and login
  • JWT-based authentication
  • Secure HTTP-only cookies
  • Protected routes

πŸ“„ Resume Analysis

  • Upload resume in PDF format
  • Automatic resume text extraction
  • AI-powered resume analysis

πŸ€– AI Interview Report

Generate a comprehensive interview preparation report using:

  • Resume
  • Job Description
  • Self Description

The generated report includes:

  • 🎯 Match score for the target role
  • πŸ“ˆ Skill gap analysis with severity levels
  • πŸ’» Technical interview questions
  • πŸ—£οΈ Behavioral interview questions
  • 🧠 Interviewer's intent behind each question
  • πŸ’‘ Answer guidance
  • πŸ—“οΈ Personalized day-wise preparation roadmap

πŸ“š Interview History

  • Save interview reports
  • View previous reports anytime

πŸ“„ AI Resume Generator

  • Generate an AI-enhanced resume
  • Download resume as PDF

πŸ›  Tech Stack

Frontend

  • React
  • Vite
  • React Router
  • Tailwind CSS
  • Axios

Backend

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • JWT
  • bcryptjs
  • Multer
  • pdf-parse
  • Puppeteer
  • Google GenAI

πŸ“‚ Project Structure

JobHunt/
β”‚
β”œβ”€β”€ Backend/
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ package.json
β”‚   └── src/
β”‚       β”œβ”€β”€ app.js
β”‚       β”œβ”€β”€ config/
β”‚       β”œβ”€β”€ controllers/
β”‚       β”œβ”€β”€ middlewares/
β”‚       β”œβ”€β”€ models/
β”‚       β”œβ”€β”€ routes/
β”‚       β”œβ”€β”€ services/
β”‚       └── utils/
β”‚
└── Frontend/
    β”œβ”€β”€ package.json
    β”œβ”€β”€ vite.config.js
    └── src/
        β”œβ”€β”€ features/
        β”‚   β”œβ”€β”€ auth/
        β”‚   └── interview/
        β”œβ”€β”€ components/
        β”œβ”€β”€ pages/
        β”œβ”€β”€ App.jsx
        β”œβ”€β”€ app.routes.jsx
        └── main.jsx

βš™οΈ Environment Variables

Backend

Create a .env file inside the Backend folder.

MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
GOOGLE_GENAI_API_KEY=your_google_genai_api_key
CLIENT_URL=http://localhost:5173

Frontend

Create a .env file inside the Frontend folder.

VITE_API_BASE_URL=http://localhost:3000

πŸš€ Getting Started

1. Clone the Repository

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

2. Install Backend Dependencies

cd Backend
npm install

3. Install Frontend Dependencies

cd ../Frontend
npm install

4. Start the Backend

cd ../Backend
npm run dev

Backend will run on:

http://localhost:3000

5. Start the Frontend

cd ../Frontend
npm run dev

Frontend will run on:

http://localhost:5173

πŸ“Œ API Routes

Authentication

Method Endpoint Description
POST /api/auth/register Register a new user
POST /api/auth/login Login
GET /api/auth/logout Logout
GET /api/auth/get-me Get current user

Interview

Method Endpoint Description
POST /api/interview/ Generate interview report
GET /api/interview/ Get all reports
GET /api/interview/report/:interviewId Get report by ID
POST /api/interview/resume/pdf/:interviewReportId Generate AI resume PDF

πŸ”„ How It Works

  1. User signs up or logs in.
  2. Uploads a resume in PDF format.
  3. Enters a Job Description and Self Description.
  4. Resume text is extracted automatically.
  5. The combined input is sent to Google GenAI.
  6. AI generates a personalized interview report.
  7. The report is stored in MongoDB.
  8. Users can revisit previous reports anytime.
  9. Users can generate and download an AI-enhanced resume.

πŸš€ Deployment

Frontend

Hosted on Vercel

πŸ”— https://job-hunt-ochre-phi.vercel.app/

Deployment Checklist

  • Configure VITE_API_BASE_URL to point to the deployed backend.
  • Set CLIENT_URL to the deployed frontend URL.
  • Enable CORS with credentials.
  • Configure production cookie settings.

⚠️ Important Note

Resume PDF generation currently uses Puppeteer with a fixed Chrome executable path:

C:\Program Files\Google\Chrome\Application\chrome.exe

If Chrome is installed elsewhere, update the executable path in the Puppeteer configuration.


🚧 Future Improvements

  • Better UI validation
  • Improved error handling
  • Better loading and empty states
  • Unit and integration testing
  • Docker support
  • Root workspace scripts
  • Cloud storage for uploaded resumes
  • Email notifications
  • Resume version history
  • Support for multiple AI models

πŸ‘¨β€πŸ’» Author

Devam Pandey

Built with ❀️ using React, Node.js, MongoDB, and Google GenAI.


⭐ Support

If you found this project helpful, consider giving it a ⭐ on GitHub!

About

An AI-powered interview preparation platform that analyzes your resume against a job description, identifies skill gaps, generates interview-ready insights, and creates an AI-enhanced resume.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages