Skip to content

thisisdvnsh-thkr/Aequitas_Resume-Parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 

Repository files navigation

⚖️ Aequitas — AI Resume Auditor

Intelligent & Fair Resume Screening System

Python Streamlit NLP Live App License


An intelligent AI system for resume screening — analyses resumes against job descriptions using NLP to provide match scores and skill gap analysis, with a strong focus on reducing hiring bias.




📌 Problem Statement

Traditional resume screening relies on simple keyword matching, which introduces bias based on phrasing, formatting, gender and background — rather than actual skills and competency.

Aequitas solves this by using Cosine Similarity and NLP techniques to calculate a match percentage purely based on technical skills and content, removing human and keyword-based bias from the initial screening process.


✨ Key Features

  • 📄 Multi-Format Support — Accepts PDF and DOCX files for both resumes and job descriptions
  • 🔍 Intelligent Parsing — Extracts and cleans text using Regex and Tokenization
  • 📊 Compatibility Score — Calculates match percentage (0–100%) using vector similarity
  • Matched Skills — Shows skills present in both resume and job description
  • Missing Skills — Highlights critical skills absent from the resume
  • 🎨 Dark / Light Theme — Toggle between themes with a fixed floating button
  • ⚖️ Bias Reduction — Focuses purely on technical skills and content, ignoring demographic signals

🛠️ Tech Stack

Layer Technology
Frontend Streamlit
Backend Python 3.11
NLP & ML Scikit-learn (TF-IDF Vectorizer, Cosine Similarity)
PDF Parsing pdfminer.six
DOCX Parsing docx2txt
Text Processing Regex, Tokenization
Deployment Streamlit Community Cloud

🔄 How It Works

Resume (PDF/DOCX) ──┐
├──► Text Extraction & Cleaning
JD (PDF/DOCX) ─────┘ │
▼
NLP Processing
(Tokenization + Regex Cleaning)
│
▼
TF-IDF Vectorization
(Term Frequency — Inverse Document Frequency)
│
▼
Cosine Similarity Score
│
▼
┌──────────────────────────┐
│ Match Score (0–100%) │
│ + Matched Skills │
│ + Missing Skills │
└──────────────────────────┘

📊 Output

  • Match Score — Percentage compatibility between resume and job description
  • Matched Skills — Common technical keywords found in both documents
  • Missing Skills — Skills present in JD but missing from resume
  • Bias-free Analysis — No demographic, formatting or keyword-phrasing bias

🚀 Run Locally

1. Clone the repository

git clone https://github.com/thisisdvnsh-thkr/aequitas-fair-hiring-nlp.git
cd aequitas-fair-hiring-nlp

2. Install dependencies

pip install -r requirements.txt

3. Run the app

streamlit run app.py

4. Open in browser

http://localhost:8501

📁 Project Structure

Aequitas_Resume-Parser/
│
├── app.py                  # Main Streamlit application
├── requirements.txt        # Python dependencies
├── runtime.txt             # Python version → python-3.11
└── README.md               # Project documentation

👥 Contributors

Devansh Thakur
Lead Architect & Developer
💼 LinkedIn👤 GitHub
Arpit Upadhyay
Co-Developer
👤 GitHub
Aequitas v2.0 © 2026 | Built with Python & Streamlit Powered by TF-IDF Vectorization & Cosine Similarity

⭐ Star this repo if you found it useful!

About

AI resume screening system using NLP - Cosine Similarity match scoring and skill gap analysis | Python + Streamlit

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages