JDmatcher 📄

A powerful AI-powered tool that analyzes your resume against job descriptions to provide match scores, detailed analysis, and personalized recommendations to help you improve your job applications.

Python Streamlit Groq AI Llama 3.3 70B PDF Processing

Features

Smart Analysis

Uses Groq's Llama 3.3 70B model to analyze resume-job description compatibility with advanced AI.

Match Scoring

Get a precise percentage match score between your resume and target job requirements.

Skills Gap Analysis

Identify missing skills and qualifications needed for the role with detailed recommendations.

Resume Enhancement

Receive personalized recommendations to improve your application and increase match score.

Downloadable Reports

Export analysis in Markdown or plain text formats for future reference and tracking.

Session Caching

Results are cached to provide consistent scores and reduce API calls for efficiency.

Requirements

Python 3.8+

Latest Python version for optimal performance

Streamlit 1.32.0+

Modern web framework for the user interface

PyPDF2 3.0.1+

PDF processing library for resume parsing

Requests 2.31.0+

HTTP library for API communications

Asyncio 3.4.3+

Asynchronous programming support

Groq API Key

Free API key from groq.com for AI analysis

Installation

Clone the Repository

git clone https://github.com/lakshya1410/jdmatcher.git cd jdmatcher

Install Dependencies

pip install -r requirements.txt

Run the Application

streamlit run app.py

How to Use

1

Get your API Key

Sign up for a free Groq API key at groq.com

2

Launch the App

Run the application using Streamlit

3

Enter your API Key

Input your Groq API key in the sidebar

4

Upload Resume

Upload your resume in PDF format

5

Add Job Description

Copy and paste the job description text into the sidebar

6

Analyze

Click "Analyze Match" and wait for the results

7

Review Report

Check your match score, strengths, and improvement areas

8

Download Report

Save your analysis as either Markdown or Text format

How It Works

JDmatcher follows a sophisticated 4-step analysis process:

Resume Analysis

The AI extracts key information from your PDF resume including skills, experience, and qualifications.

Job Description Analysis

The AI parses essential requirements from the job posting to understand what employers are looking for.

Match Calculation

A detailed comparison generates a precise match percentage based on skills, experience, and requirements.

Improvement Suggestions

Personalized recommendations to enhance your application and bridge identified gaps.

All processing is done with deterministic settings to ensure consistent, reliable results.

Example Analysis

Match Score: 78%

Key Matching Points:

  • 5 years of Python development experience (Requirement: 3+ years)
  • Strong background in data science and machine learning
  • Experience with cloud deployment on AWS
  • Project management and team leadership experience

Areas for Improvement:

  • Missing experience with Kubernetes (mentioned as preferred)
  • Consider highlighting database optimization skills more prominently
  • Add examples of CI/CD implementation in previous roles

Configuration

The application uses Groq's Llama 3.3 70B model by default. The key parameters are:

temperature: 0

For deterministic outputs and consistent results

seed: 42

For reproducible analysis across sessions

max_tokens: 2048

For comprehensive and detailed responses

model: llama-3.3-70b

Groq's most advanced language model

License

MIT License

This project is licensed under the MIT License - see the LICENSE file for details. Free to use, modify, and distribute.

Acknowledgements

Streamlit

For the intuitive UI framework that makes data apps beautiful

Groq

For the powerful AI API and lightning-fast inference

PyPDF2

For reliable PDF processing capabilities

Open Source Community

For the amazing tools and libraries that make this possible

Made with ❤️ by Lakshya Tripathi

Happy job hunting!