Spaces:
Configuration error
Configuration error
ATS Resume Scorer
An AI-powered tool to analyze resume-job description compatibility using ATS (Applicant Tracking System) scoring and skill matching.
π Features
- PDF Resume Upload: Extract text from PDF resumes using pdfplumber
- Job Description Input: Paste job descriptions for comparison
- ATS Match Scoring: Calculate similarity score using TF-IDF vectorization and cosine similarity
- Skill Matching: Identify matched and missing skills from a predefined list
- Interactive UI: Clean Streamlit interface with progress bars and color-coded tags
- Error Handling: Graceful handling of invalid PDFs, empty inputs, and extraction failures
π οΈ Tech Stack
- Frontend/UI: Streamlit
- PDF Processing: pdfplumber
- NLP Processing: NLTK (tokenization, stopwords, lemmatization)
- Machine Learning: scikit-learn (TF-IDF, Cosine Similarity)
- Python: Core language
π Project Structure
ATS-Resume-Scorer/
βββ app.py # Main Streamlit application
βββ utils/
β βββ text_extraction.py # PDF text extraction utilities
β βββ preprocessing.py # Text preprocessing (lowercase, punctuation, stopwords, lemmatization)
β βββ scoring.py # ATS score calculation using TF-IDF and cosine similarity
β βββ skill_matcher.py # Skill matching against predefined list
βββ data/
β βββ skills.txt # Predefined list of skills for matching
βββ requirements.txt # Python dependencies
βββ README.md # Project documentation
πββοΈ How to Run Locally
Clone or download the project:
cd /path/to/your/workspace # Place the ATS-Resume-Scorer folder hereInstall dependencies:
cd ATS-Resume-Scorer pip install -r requirements.txtRun the application:
streamlit run app.pyOpen your browser and go to
http://localhost:8501
βοΈ Deploy on Streamlit Cloud
Fork or upload to GitHub: Ensure all files are in a GitHub repository.
Go to Streamlit Cloud: Visit share.streamlit.io
Connect your GitHub repo: Select the repository containing this project.
Deploy: Choose
app.pyas the main file and click deploy.Access your app: Once deployed, you'll get a public URL to access the application.
π Usage
- Upload a PDF resume using the file uploader.
- Paste the job description text in the text area.
- Click "Analyze" to get:
- ATS match score (0-100%)
- Visual progress bar
- Matched skills (green tags)
- Missing skills (red tags)
π§ Customization
- Skills List: Edit
data/skills.txtto add or modify the predefined skills for matching. - Preprocessing: Modify
utils/preprocessing.pyto adjust text cleaning steps. - Scoring Algorithm: Enhance
utils/scoring.pyfor more advanced similarity measures.
π€ Contributing
Feel free to fork this project and submit pull requests for improvements!
π License
This project is open-source and available under the MIT License.