Giter Site home page Giter Site logo

jorgemadson / resume-matcher Goto Github PK

View Code? Open in Web Editor NEW

This project forked from srbhr/resume-matcher

0.0 0.0 0.0 50.81 MB

Open Source Free ATS Tool to compare Resumes with Job Descriptions and create a score to rank them.

Home Page: https://www.resumematcher.fyi/

License: Apache License 2.0

Python 80.17% Jupyter Notebook 19.44% Dockerfile 0.39%

resume-matcher's Introduction

Resume Matcher

Resume Matcher

AI Based Free & Open Source ATS, Resume Matcher to tailor your resume to a job description. Find the best keywords, and gain deep insights into your resume.


Stars Apache 2.0 Issues Forks Powered by Qdrant

Discord Resume Matcher Resume Matcher

Resume Matcher - Free and Open-Source ATS Tool to Match Resumes to Job Desc. | Product Hunt

How does it work?

The Resume Matcher takes your resume and job descriptions as input, parses them using Python, and mimics the functionalities of an ATS, providing you with insights and suggestions to make your resume ATS-friendly.

The process is as follows:

  1. Parsing: The system uses Python to parse both your resume and the provided job description, just like an ATS would. Parsing is critical as it transforms your documents into a format the system can readily analyze.

  2. Keyword Extraction: The tool uses advanced machine learning algorithms to extract the most relevant keywords from the job description. These keywords represent the skills, qualifications, and experiences the employer seeks.

  3. Key Terms Extraction: Beyond keyword extraction, the tool uses textacy to identify the main key terms or themes in the job description. This step helps in understanding the broader context of what the resume is about.

  4. Vector Similarity Using Qdrant: The tool uses Qdrant, a highly efficient vector similarity search tool, to measure how closely your resume matches the job description. This process is done by representing your resume and job description as vectors in a high-dimensional space and calculating their cosine similarity. The more similar they are, the higher the likelihood that your resume will pass the ATS screening.

On top of that, there are various data visualizations that I've added to help you get started.


How to install

Follow these steps to set up the environment and run the application.

  1. Fork the repository here.

  2. Clone the forked repository.

    git clone https://github.com/<YOUR-USERNAME>/Resume-Matcher.git
    cd Resume-Matcher
  3. Create a Python Virtual Environment:

    • Using virtualenv:

      Note: Check how to install virtualenv on your system here link.

      virtualenv env

    OR

    • Create a Python Virtual Environment:

      python -m venv env
  4. Activate the Virtual Environment.

    • On Windows.

      env\Scripts\activate
    • On macOS and Linux.

      source env/bin/activate
  5. Install Dependencies:

    pip install -r requirements.txt
  6. Prepare Data:

    • Resumes: Place your resumes in PDF format in the Data/Resumes folder. Remove any existing contents in this folder.
    • Job Descriptions: Place your job descriptions in PDF format in the Data/JobDescription folder. Remove any existing contents in this folder.
  7. Parse Resumes to JSON:

    python run_first.py
  8. Run the Application:

    streamlit run streamlit_app.py

Note: For local versions, you do not need to run "streamlit_second.py" as it is specifically for deploying to Streamlit servers.

Additional Note: The Vector Similarity part is precomputed to optimize performance due to the resource-intensive nature of sentence encoders that require significant GPU and RAM resources. If you are interested in leveraging this feature in a Google Colab environment for free, refer to the upcoming blog (link to be provided) for further guidance.


Docker

  1. Build the image and start application

        docker-compose up
  2. Open localhost:80 on your browser


Join Us, Contribute!

Pull Requests & Issues are not just welcomed, they're celebrated! Let's create together.

๐ŸŽ‰ Join our lively Discord community and discuss away!

๐Ÿ’ก Spot a problem? Create an issue!

๐Ÿ‘ฉโ€๐Ÿ’ป Dive in and help resolve existing issues.

๐Ÿ”” Share your thoughts in our Discussions & Announcements.

๐Ÿš€ Explore and improve our Landing Page. PRs always welcome!

Tech Stack

Current:

Upcoming:

Python Tailwind CSS React FastAPI JavaScript HTML5 CSS3 & More


Enhance Open-Source Development: Donate and Be Part of Our Journey!

BuyMeACoffee Sponsor on GitHub


Heads Up! ๐Ÿ“

Your support means the world to us ๐Ÿ’™. We're nurturing this project with an open-source community spirit, and we have an ambitious roadmap ahead! Here are some ways you could contribute and make a significant impact:

โœจ Transform our Streamlit dashboard into something more robust.

๐Ÿ“š Enhance our functionality by enabling resume upload and parsing.

๐Ÿณ Simplify usage by adding a Docker image.

๐Ÿ’ก Improve our parsing algorithm, making data more accessible.

๐Ÿ–‹ Share your insights and experiences in a blog post to help others.

๐ŸŽจ Give our landing page a fresh look using React, Vue, or your preferred framework.

Take the leap, contribute, and let's grow together! ๐Ÿš€


Our Contributors โœจ

resume-matcher's People

Contributors

srbhr avatar dependabot[bot] avatar sandipkarmokar avatar ilb-96 avatar himanshu007-creator avatar helloojohn avatar subramanyamchalla24 avatar raditya3 avatar panquesito7 avatar dbhardwaj99 avatar hunnysajid avatar eltociear avatar sahiljani avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.