Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Resume Analyzer

An AI-powered resume analysis platform that automatically extracts structured information from resumes and evaluates candidate profiles against job descriptions using Natural Language Processing (NLP) and text similarity techniques.


Overview

AI Resume Analyzer is a Python-based application designed to streamline the resume screening process by converting unstructured resumes into structured candidate profiles and comparing them with job descriptions.

The application combines Natural Language Processing (NLP), text preprocessing, and similarity scoring techniques to identify relevant technical skills, education, work experience, and keywords before calculating an overall match score.

This project demonstrates practical applications of artificial intelligence, NLP, backend development, and data processing for recruitment and hiring workflows.


Features

  • Resume Parsing
  • PDF Resume Processing
  • Skill Extraction
  • Education Extraction
  • Experience Extraction
  • Job Description Analysis
  • Keyword Matching
  • Resume Scoring
  • Candidate Ranking
  • REST API Support

Technology Stack

Programming Language

  • Python

Artificial Intelligence & NLP

  • spaCy
  • NLTK
  • Regular Expressions (Regex)
  • TF-IDF Vectorization
  • Cosine Similarity

Backend

  • Flask

Database

  • PostgreSQL

Libraries

  • scikit-learn
  • PyMuPDF
  • pdfminer.six
  • psycopg2

Project Workflow

Resume (PDF)
        │
        ▼
Text Extraction
        │
        ▼
Text Cleaning & Preprocessing
        │
        ▼
NLP Processing
        │
        ├── Skill Extraction
        ├── Education Extraction
        ├── Experience Extraction
        │
        ▼
Job Description Processing
        │
        ▼
TF-IDF Vectorization
        │
        ▼
Cosine Similarity
        │
        ▼
Resume Match Score

Project Structure

AI-Resume-Analyzer
│
├── app.py
├── config.py
├── job_matcher.py
├── resume_parser.py
├── test_request.py
├── requirements.txt
└── uploads/

Installation

Clone the repository

git clone https://github.com/PritPanchani/AI-Resume-Analyzer.git

Navigate into the project

cd AI-Resume-Analyzer

Create a virtual environment

python -m venv venv

Activate the virtual environment

Windows

venv\Scripts\activate

macOS / Linux

source venv/bin/activate

Install dependencies

pip install -r requirements.txt

Configure PostgreSQL

Update the database configuration inside:

config.py

Create a PostgreSQL database named:

resume_analyzer

Run the application

python app.py

Software Engineering Concepts Demonstrated

  • Natural Language Processing
  • Information Extraction
  • Text Similarity
  • REST API Development
  • Backend Development
  • Database Integration
  • Data Processing Pipelines
  • Software Design
  • Error Handling
  • Modular Programming

Future Improvements

  • Transformer-based Resume Embeddings
  • LLM-powered Resume Analysis
  • Multi-language Resume Support
  • Resume Recommendation Engine
  • Skill Gap Analysis
  • Interview Readiness Scoring
  • Recruiter Dashboard
  • Candidate Analytics
  • Resume Ranking using Semantic Search

Screenshots

Screenshots demonstrating the application workflow and analysis results will be added in a future update.


About This Project

This project was developed as a personal software engineering project to explore how Natural Language Processing and machine learning techniques can improve resume screening and candidate evaluation.

The project focuses on building practical AI solutions by combining backend development, NLP, and data-driven decision-making into a single application.


License

This project is licensed under the MIT License.

About

AI-powered resume analysis platform using NLP, TF-IDF, and job matching techniques.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages