AI-Powered Technical Resume Score Checker using Python, NLP and Streamlit
An intelligent ATS (Applicant Tracking System) Resume Analyzer that compares a candidate's resume against a job description and provides an ATS compatibility score, skill analysis, personalized improvement suggestions, and application recommendations.
🚀 Features
📄 PDF Resume Parsing
- Extracts text directly from PDF resumes using
pypdf.
- Extracts text directly from PDF resumes using
🎯 ATS Resume Scoring
- Calculates an overall ATS score based on:
- Technical skill matching
- Keyword matching
- Contextual phrase matching
- Semantic similarity analysis
🛠️ Technical Skill Detection
- Detects programming languages, frameworks, databases, cloud platforms, DevOps tools, and data technologies from both resumes and job descriptions.
✅ Matched Skills Analysis
- Displays all technical skills that match the job description.
⚠️ Missing Skills Identification
- Highlights important skills present in the job description but missing from the resume.
💡 Resume Improvement Suggestions
- Provides actionable recommendations to improve resume quality and ATS compatibility.
🎯 Application Recommendation
- Advises candidates whether they should apply for the role based on resume-job alignment.
🤖 NLP-Powered Analysis
- Uses
spaCyfor: - Lemmatization
- Semantic similarity
- Contextual phrase extraction
- Uses
🌐 Interactive Web Interface
- Built using
Streamlitfor a clean and user-friendly experience.
- Built using
🛠️ Tech Stack
- Python
- Streamlit
- spaCy
- pypdf
- Regular Expressions (re)
📂 Supported Skills Categories
The application currently detects skills from the following categories:
- Programming Languages
- Frameworks and Libraries
- Databases
- Cloud Technologies
- DevOps Tools
- Data Science and Machine Learning Technologies
📷 Workflow
- Upload your resume in PDF format.
- Paste the target job description.
- Click Calculate Resume Score.
- View:
- ATS Score
- Matched Skills
- Missing Skills
- Resume Improvement Suggestions
- Application Recommendation
▶️ Installation
Clone the repository:
git clone <repository-url>
cd <repository-folder>
Install dependencies:
pip install -r requirements.txt
Download the spaCy model:
python -m spacy download en_core_web_md
Run the application:
streamlit run app.py
📁 Project Structure
Resume-Score-Checker/
│
├── app.py
├── requirements.txt
├── logo.png
├── README.md
└── sample_resume.pdf
🔮 Future Improvements
- Support for DOCX resumes.
- Resume section detection (Education, Projects, Experience, Skills).
- Experience-level matching.
- Industry-specific resume scoring.
- Report Generation
- Integration with Large Language Models for deeper resume analysis.
📜 License
This project is licensed under the MIT License.
👨💻 Author
Madhu
Built using Python, NLP, and Streamlit to help candidates optimize their resumes and improve their chances of passing ATS screening systems.
Built With
- python
- streamlit

Log in or sign up for Devpost to join the conversation.