Skip to content

Repository files navigation

AI Powered Resume Score Evaluator

A Streamlit application that evaluates how well a candidate's profile matches a job description by analyzing their resume and GitHub profile. This tool uses natural language processing (NLP) and semantic similarity to provide a comprehensive score based on the candidate's skills, experience, and projects.

Features

  • Resume Analysis: Extracts skills, education, experience, and projects from PDF resumes using NLP
  • GitHub Profile Analysis: Analyzes repositories, programming languages, stars, and activity level
  • Job Description Matching: Compares extracted data to job requirements using semantic similarity
  • Scoring System: Provides three scores:
    • Resume Score: Relevance of resume to job description
    • GitHub Score: Relevance and quality of GitHub projects
    • Final Fit Score: Combined evaluation of the candidate's fit
  • Skills Gap Analysis: Identifies missing or weak areas in the candidate's profile

Installation

Prerequisites

  • Python 3.11 or higher
  • pip or uv package manager
  • Git (for cloning the repository)
  • A PDF resume file
  • GitHub profile URL
  • Job description text
  • Internet connection (for GitHub API access)

Setup

  1. Clone the repository:

    git clone https://github.com/muhammad-fiaz/resume-score.git
    cd resume-score
    
  2. Create and activate a virtual environment:

    python -m venv .venv
    .venv\Scripts\activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    

    Or if using uv:

    uv pip install -e .
    
  4. Download the spaCy model:

    python -m spacy download en_core_web_md
    

Usage

Run the Streamlit application:

streamlit run main.py

Dependencies

  • streamlit: Web interface
  • PyPDF2: PDF parsing
  • spaCy: Natural language processing
  • sentence-transformers: Semantic similarity
  • PyGithub: GitHub API integration
  • requests: HTTP requests

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Resume-Score: Streamlit tool for automating resume parsing using NLP models to extract key data.

Topics

Resources

Code of conduct

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages