A Python web application that analyzes resumes against job descriptions to help job seekers and recruiters identify the best match.
- Upload a resume (PDF) and paste a job description
- Extracts and compares key skills and keywords
- Calculates a match/similarity score between the resume and job posting
- Stores analysis results in a local database
- View previously analyzed results via a database viewer
- Clean HTML frontend served through Python
Resume-Job-Analyzer/
├── resume_analyzer.py # Main application — analysis logic and web server
├── tempCodeRunnerFile.py # Auto-generated temp file (can be ignored)
├── templates/ # HTML templates for the web interface
└── README.md
| Layer | Technology |
|---|---|
| Backend | Python |
| Frontend | HTML / CSS |
| Web Server | Flask (or http.server) |
| Storage | SQLite / local DB |
| NLP/ML | NLTK / scikit-learn |
- Python 3.8+
- pip
-
Clone the repository
git clone https://github.com/Prriiiyankaaa/Resume-Job-Analyzer.git cd Resume-Job-Analyzer -
Install dependencies
pip install -r requirements.txt
If a
requirements.txtis not present, install common dependencies manually:pip install flask nltk scikit-learn PyMuPDF
-
Run the application
python resume_analyzer.py
-
Open in your browser
http://localhost:5000
- Navigate to the app in your browser.
- Upload your resume (PDF format).
- Paste or enter the job description into the text field.
- Click Analyze to generate your match score and keyword breakdown.
- Resume Parsing — Extracts raw text from the uploaded PDF resume.
- Keyword Extraction — Identifies relevant skills and terms from both the resume and job description using NLP techniques.
- Similarity Scoring — Computes a cosine similarity score using TF-IDF vectorization to quantify how well the resume matches the job posting.
- Storage — Saves results (score, keywords, timestamp) to a local database for later review.