Skip to content

deepak-05dktopG/SkillMatch-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🧠 SkillMatch AI

AI-powered resume analyzer that evaluates candidate resumes against job roles — providing match scores, missing keywords, and feedback using Google Gemini AI.

🌍 Live Demo 🚀 The project is live here: 👉 SkillMatch AI

☁️ Frontend & Backend are deployed on :

Frontend on Netlify   Backend on Render


✨ Features

✅ Upload resumes (.pdf / .docx)
✅ Choose or type a custom job role
✅ AI-powered ATS Match Score (%)
✅ Highlights missing keywords / skills
✅ Generates AI summary feedback
✅ Modern, responsive UI with animations
✅ Deployed on Render + Netlify (Zero-cost)


🧠 How It Works

User Uploads Resume + Enters Job Role
                 ↓
Backend extracts text using pdfplumber / python-docx
                 ↓
LangChain builds structured prompt schema for Gemini
                 ↓
Gemini AI analyzes & returns structured JSON
                 ↓
React displays Match %, Missing Keywords & Feedback


🛠️ Tech Stack

  • ⚛️ React + Vite — Fast, modern frontend
  • 💅 Bootstrap 5 + Framer Motion — Responsive UI and smooth animations
  • ⚙️ FastAPI — High-performance backend
  • 🧠 Google Gemini 2.5 Flash — AI model for structured reasoning
  • 🔗 LangChain — LLM orchestration with structured output
  • 📄 pdfplumber / python-docx — File text extraction
  • 🧾 Pydantic — Reliable data validation

📂 Project Structure

SkillMatch-AI/
├── backend/
│   ├── main.py                # FastAPI entry point
│   ├── models/                # Pydantic schemas
│   ├── utils/                 # Resume parsing functions
│   ├── requirements.txt
│   └── ...
│
├── frontend/
│   ├── src/                   # React components
│   ├── public/                # Static assets
│   ├── .env                   # API URL config
│   ├── vite.config.js
│   └── package.json
│
└── README.md

🚀 Backend Setup (FastAPI)

cd backend
python -m venv venv
venv\Scripts\activate  # (or source venv/bin/activate for Mac/Linux)
pip install -r requirements.txt
uvicorn main:app --reload
🧩 Dependencies
fastapi
uvicorn
langchain
langchain-google-genai
pydantic
pdfplumber
python-docx
🌐 Environment Variables (Render)
GEMINI_API_KEY=your_api_key_here
⚙️ API Endpoints
POST /api/match   → Upload resume & get match analysis
GET  /health      → Server status check

🎨 Frontend Setup (React + Vite)

cd frontend
npm install
🧾 Create .env file in frontend:
VITE_API_URL= your backend api
▶️ Run the app:
nom run dev
⚙️ Dependencies
react, react-dom, axios, bootstrap, framer-motion


🌐 Deployment

| Platform       | Purpose  | URL                                                                              |
| -------------- | -------- | -------------------------------------------------------------------------------- |
| 💻 **Netlify** | Frontend | [https://skillmatch-ai.netlify.app](https://skillmatch-ai.netlify.app)           |
| ⚙️ **Render**  | Backend  |                                                                                  |


📦 Requirement

Before running the project, make sure you have:
Node.js v18+
Python v3.9+
npm
Git

🧩 Future Vision (v2.0)

  • 🚀 B2B SaaS Dashboard for HR teams to:
  • Upload multiple job descriptions
  • Bulk analyze candidate resumes
  • Export ATS reports and ranking lists

🙋 About Me

Hi, I'm Deepak Kumar 👋
💻 Passionate about Full-Stack Developmen & AI Agents
🚀 Skilled in Langchain ,MERN Stack, Express.js, TypeScript, SQLite, React, and AI Tools
🎯 Focused on building clean, beginner-friendly, and interview-ready projects

⭐ If you found this project helpful, don’t forget to **star the repo** and support my journey!

About

SkillMatch AI is a smart resume analyzer that rates how well your resume matches a job role using Google Gemini AI and LangChain. It delivers an ATS score, finds missing skills, and gives AI-powered feedback instantly.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors