Advance_ATS_System / README.md
MayankGupta06's picture
Upload 3 files
20a6f22 verified

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

  1. Clone or download the project:

    cd /path/to/your/workspace
    # Place the ATS-Resume-Scorer folder here
    
  2. Install dependencies:

    cd ATS-Resume-Scorer
    pip install -r requirements.txt
    
  3. Run the application:

    streamlit run app.py
    
  4. Open your browser and go to http://localhost:8501

☁️ Deploy on Streamlit Cloud

  1. Fork or upload to GitHub: Ensure all files are in a GitHub repository.

  2. Go to Streamlit Cloud: Visit share.streamlit.io

  3. Connect your GitHub repo: Select the repository containing this project.

  4. Deploy: Choose app.py as the main file and click deploy.

  5. Access your app: Once deployed, you'll get a public URL to access the application.

πŸ“ Usage

  1. Upload a PDF resume using the file uploader.
  2. Paste the job description text in the text area.
  3. 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.txt to add or modify the predefined skills for matching.
  • Preprocessing: Modify utils/preprocessing.py to adjust text cleaning steps.
  • Scoring Algorithm: Enhance utils/scoring.py for 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.