Skip to content

Repository files navigation

Resume Analyzer

AI-powered resume analysis tool that scores how well a candidate matches a job description using Google Gemini API.

Features

  • Upload resume (PDF or TXT)
  • Paste or upload job description (TXT)
  • AI-powered analysis with a match score (1-100)
  • Detailed breakdown: matched skills, missing skills, strengths, weaknesses
  • Dashboard with charts to compare multiple analyses

Tech Stack

  • Frontend: React, Vite, Tailwind CSS, Chart.js
  • Backend: Node.js, Express, Multer, pdf-parse
  • AI: Google Gemini API (@google/genai)

Setup

Prerequisites

Installation

# Clone the repo
git clone "git@github.com:Kite-Bite/Resume-Analyzer.git"
cd Resume-Analyzer

# Install backend dependencies
cd backend
npm install

# Install frontend dependencies
cd ../frontend
npm install

Configuration

Create backend/.env:

GEMINI_API_KEY=your_api_key_here
PORT=5000

Running

Open two terminals:

# Terminal 1 - Backend (port 5000)
cd backend
npm run dev

# Terminal 2 - Frontend (port 3000)
cd frontend
npm run dev

Then open http://localhost:3000.

Project Structure

Resume-Analyzer/
├── backend/
│   ├── server.js              # Express server
│   ├── routes/analyze.js      # API routes
│   ├── services/gemini.js     # Gemini API integration
│   ├── uploads/               # Temp file storage
│   └── .env                   # API key config
├── frontend/
│   ├── src/
│   │   ├── App.jsx            # Main app
│   │   ├── components/
│   │   │   ├── Header.jsx
│   │   │   ├── ResumeUpload.jsx
│   │   │   ├── JobDescription.jsx
│   │   │   ├── ScoreCard.jsx
│   │   │   ├── AnalysisDetails.jsx
│   │   │   └── Dashboard.jsx
│   │   └── index.css
│   └── vite.config.js
├── .gitignore
└── README.md

API Endpoints

Method Endpoint Description
POST /api/analyze Upload resume + job description, get analysis
GET /api/history Get all past analyses
DELETE /api/history/:id Delete an analysis

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages