An AI-powered Resume Screening System built using Python, Streamlit, and NLP that automatically compares uploaded resumes against a job description, ranks candidates based on similarity, extracts technical skills, and highlights matched and missing skills.
Future Interns – Machine Learning Task 3
Streamlit App:
https://resume-screening-system-saktron.streamlit.app/
https://github.com/saktronX/FUTURE_ML_03
- Upload one or multiple PDF resumes
- Paste any job description
- Resume text extraction
- NLP text preprocessing
- TF-IDF Vectorization
- Cosine Similarity based candidate ranking
- Automatic skill extraction
- Matched Skills detection
- Missing Skills detection
- Resume preview
- Interactive Streamlit UI
- Python
- Streamlit
- Pandas
- NumPy
- Scikit-learn
- NLTK
- PyMuPDF (fitz)
Resume-Screening-System/
│
├── app.py
├── requirements.txt
├── README.md
│
├── data/
│ ├── Resume.csv
│ └── monster_com-job_sample.csv
│
├── utils/
│ ├── preprocessing.py
│ └── skill_extractor.py
│
├── notebook/
│ └── Resume_Screening.ipynb
│
└── screenshots/
├── home1.png
├── upload.png
├── ranking.png
├── skills.png
└── skills1.png
Clone the repository
git clone https://github.com/saktronX/FUTURE_ML_03.gitGo inside the project
cd FUTURE_ML_03Install dependencies
pip install -r requirements.txtRun the application
streamlit run app.pyUpload one or multiple resumes in PDF format and paste the desired job description.
Candidates are ranked according to their cosine similarity score with the job description.
The application automatically extracts technical skills from resumes.
Displays:
- Detected Skills
- Required Skills
- Matched Skills
- Missing Skills
- Upload Resume(s)
- Paste Job Description
- Extract Text from PDFs
- Clean and Preprocess Text
- Extract Technical Skills
- Convert Text into TF-IDF Vectors
- Compute Cosine Similarity
- Rank Candidates
- Display Matched & Missing Skills
- Resume.csv
- monster_com-job_sample.csv
- Natural Language Processing (NLP)
- TF-IDF Vectorization
- Cosine Similarity
- Text Cleaning
- Tokenization
- Stopword Removal
- Lemmatization
- Skill Extraction using Keyword Matching
- BERT/Sentence Transformers for semantic matching
- Skill weightage
- ATS Resume Score
- Experience matching
- Education matching
- Recruiter Dashboard
- Resume Recommendation System
Saksham Verma
GitHub: https://github.com/saktronX
LinkedIn: https://www.linkedin.com/in/saksham-verma-649922277/
This project was developed as part of the Future Interns Machine Learning Internship (Task 3) to demonstrate resume screening, NLP preprocessing, candidate ranking, and skill matching using Python and Streamlit.




