Resume Matcher: AI-powered Resume Optimization
Resume Matcher is an AI Based Free & Open Source Tool. To tailor your resume to a job description. Find the matching keywords, improve the readability and gain deep insights into your resume.
Land Your Dream Job with AI-powered Resume Optimization
Transform your resume into a powerful tool that opens doors to your future. With Resume Matcher you can gain instant insights on how your resume aligns with the jobs you're passionate about.
- See Your Resume Through Employers’ Eyes: Gain instant feedback on how your resume is perceived, highlighting strengths and areas for improvement to capture employers’ attention.
- Highlight What Matters Most: Identify the key skills and terms employers seek, ensuring your resume resonates with hiring managers and stands out as the perfect fit.
- Straightforward Steps to Elevate Your Resume: Receive a personalized score and specific recommendations to enhance your resume’s impact, guiding you toward a standout application.
Turn Experience into Opportunities
Why are you still manually crafting your resume in the age of AI?
Creating a standout resume shouldn't be a tedious, time-consuming task. With Resume Matcher, you harness the power of AI to streamline the process, ensuring your resume is accurate and optimized to highlight your true potential.
- Speed: Quickly tune your resume to meet job requirements without the hassle of manual edits
- Automation: Let our intelligent tools handle the heavy lifting, from keyword optimization to formatting
- Accuracy: Ensure every detail aligns perfectly with what employers are seeking, increasing your chances of landing interviews
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:
- Parsing: The system uses Python to parse both your resume and the provided job description, just like an ATS would.
- 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.
- 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.
- Vector Similarity Using FastEmbed: The tool uses FastEmbed, a highly efficient embedding system, to measure how closely your resume matches the job description. The more similar they are, the higher the likelihood that your resume will pass the ATS screening.
How to install
Follow these steps to set up the environment and run the application.
Fork the repository here.
Clone the forked repository.
git clone https://github.com/<YOUR-USERNAME>/Resume-Matcher.git
cd Resume-Matcher
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
Activate the Virtual Environment.
- On Windows.
env\Scripts\activate
- On macOS and Linux.
source env/bin/activate
OPTIONAL (For pyenv users): Run the application with pyenv (Refer this article)
Install Dependencies:
pip install -r requirements.txt
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.
Parse Resumes to JSON:
python run_first.py
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
Build the image and start application
docker-compose up
Open localhost:80 on your browser
Running the Web Application
The full stack Next.js (React and FastAPI) web application allows users to interact with the Resume Matcher tool interactively via a web browser.
Warning: The results returned from through the web app are currently entirely mocked / faked. This means that the results returned are not real and are just for demonstration purposes. This will be implemented with real data results in a future release.
To run the full stack web application (frontend client and backend api servers), follow the instructions over on the webapp README file.
Google Colab
Create an account in ngrok and get you token
Go to archive/resume_matcher_colab.ipynb and run the notebook.
Enter your ngrok token and run the notebook.
Copy the url and open it in your browser.