Skip to content

sualehalam/Resume-Matcher-ATS-Scanner

Repository files navigation

Applicant Tracking System (ATS) Resume Scanner

FrontEnd Dashboard

Introduction

A full-stack AI-driven ATS Resume Scanning Analysis Platform using Python, Flask, and NLP techniques to simulate intelligent candidate screening. Developed powerful information extraction pipelines to identify skills, quantify experience, and compute semantic match scores using custom scoring algorithms. Integrated dynamic Tableau dashboards and PDF reporting to visualize candidate-job alignment. Implemented advanced features like dark mode UI, skill tag rendering, and intelligent resume scoring logic.

Prerequisites

Installing

Run the following commands on command prompt (as administrator) .

pip install pandas
pip install PyPDF2
pip install Flask
pip install scikit-learn
pip install dateparser
pip install reportlab
pip install Werkzeug

Database Schema (Column Descriptions)

1. id: A unique identifier assigned to each entry in the database, representing an individual resume scanned by the ATS system.

2. name The resumes file name of the candidate whose resume has been scanned by the system.

3. email The candidate’s email address, extracted automatically from the resume document.

4. phone The candidate’s phone number, parsed and extracted from the resume content.

5. skills A collection of skills identified in the resume, as extracted by the ATS scanner

6. score The ATS matching score indicating how closely the candidate’s resume aligns with a given job description.

7. experience_level The candidate’s experience classification, derived from experience_years:
Senior: ≥ 7 years
Mid-level: ≥ 3 and < 7 years
Junior: > 0 and < 3 years

8. report The full, unstructured text extracted from the candidate’s resume.

9. experience_years The total number of professional experience years of candidate identified from the resume content.

10. skills_matched Represents the count of skills from the candidate’s resume that matched the required skills in the job description.

Features of ATS Scanner

  • Resume Parsing and Keyword extraction
  • Skill & Experience extraction
  • Match Scoring Calculation
  • Tag-style skill visualization
  • Dark mode UI toggle
  • Tableau Dashboard integration
  • Downloadable ATS PDF Report

Resume Score Calculation

Summary of ATS scoring calculation

Tableau Dashboard Preview

Live Tableau Dashboard


Tableau Dashboard

Results of Resume ATS Scanner

Resume Report

Statistical Results Summary

Multiple Linear Regression Summary

AIC Value of Final Model: -152.3 The lower the AIC value is the better is the models performance.

$R^2$= 46.5%

$R^2_{adj}$ = 44.58%

An R-squared of 44.58% means that ~ 45% of the variation in the outcome variable can be attributed to the model’s predictor(s).

Logistic Regression Summary

AUC (0.79): AUC (Area Under the ROC Curve) of 0.79 indicates strong and acceptable performance for a machine learning classification model.

Overall Accuracy (70.2%): Decent — the model is correct ~70% of the time.

Sensitivity (45.5%): This is low and problematic as it’s only correctly identifying 45.5% of the actual 1s (positives) that are hired for the job.

Specificity (85.7%): Pretty good as it’s doing well at predicting 0s roughly 85% of the time.

Final Thoughts and Recommendations

Feature Engineering: Since resume data can be sparse, more sophisticated feature engineering might help improve performance. Consider extracting more meaningful features from the text (e.g. sentiment analysis) or exploring the potential impact of other factors such as education level or job title.

Model Comparison: While the linear models and logistic regression perform well, it might be worth comparing the results with machine learning models like Decision Trees, Random Forests, or Gradient Boosting (e.g., XGBoost) to see if they offer a significant improvement in predictive accuracy, especially for complex datasets like resumes.

Future Work

  1. Job Recommendation System
  2. Use Pretrained LLM Embeddings Sentence-Transformers (BERT-based)
  3. Integrate AI (GPT-4/BERT)
  4. Add Multi-Resume Support
  5. Soft Skill Detection
  6. Multilingual Resume Support
  7. Integration with Multi-Industry Keyword Database

Authors

About

ATS Resume Scanning Analysis Platform

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors