https://github.com/seekai-786/resume-analyzer
Resume Analyzer is a prototype web application that allows users to upload multiple resumes and compare them against a job description using vectorization and cosine similarity. The project is built using Python, Flask, and scikit-learn.
https://github.com/seekai-786/resume-analyzer
backend-development css document-vectorization flask flask-app html javascript job-matching machine-learning ml nlp nlp-project osine-similarity python pythonanywhere resume-analyzer resume-matching resume-screening-app sckiit-learn tfidf
Last synced: about 1 month ago
JSON representation
Resume Analyzer is a prototype web application that allows users to upload multiple resumes and compare them against a job description using vectorization and cosine similarity. The project is built using Python, Flask, and scikit-learn.
- Host: GitHub
- URL: https://github.com/seekai-786/resume-analyzer
- Owner: SeekAI-786
- License: apache-2.0
- Created: 2025-04-12T09:15:40.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-04-12T10:38:02.000Z (about 1 month ago)
- Last Synced: 2025-04-12T11:26:26.995Z (about 1 month ago)
- Topics: backend-development, css, document-vectorization, flask, flask-app, html, javascript, job-matching, machine-learning, ml, nlp, nlp-project, osine-similarity, python, pythonanywhere, resume-analyzer, resume-matching, resume-screening-app, sckiit-learn, tfidf
- Language: HTML
- Homepage:
- Size: 1.96 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Resume Analyzer
**Resume Analyzer** is a prototype web application that allows users to upload multiple resumes and compare them against a job description using vectorization and cosine similarity. The project is built using Python, Flask, and scikit-learn. It can also be enhanced using machine learning models for better efficiency and accuracy — work on this is in progress.
---
## Features
- Supports multiple resume formats: `.pdf`, `.docx`, `.txt`
- Uses TF-IDF vectorization and cosine similarity for scoring
- Ranks resumes based on relevance to the provided job description
- Allows users to upload and store resumes in a custom local path
- HTML/CSS templates can be customized as per your needs
- Can be deployed on the web using services like PythonAnywhere---
## APP Interface

---

---
## How It Works1. Users input a job description and upload up to 10 resumes.
2. The application extracts text from all resumes:
- PDF: extracted using PyPDF2
- DOCX: extracted using docx2txt
- TXT: extracted via standard file read
3. Text data is vectorized using `TfidfVectorizer` from scikit-learn.
4. Cosine similarity is calculated between the job description and each resume.
5. The top 3 matching resumes are displayed along with their similarity scores.---
## Running the App Locally
### Requirements
- Python 3.7 or higher
- Required Python packages (Check Requirements.txt)### Installation
```bash
git clone https://github.com/your-username/resume-analyzer.git
cd resume-analyzer
pip install -r requirements.txt
```### Launch the Application
```bash
python main.py
```Resume files will be stored in the `uploads/` directory. You can change this path in the `main.py` file as needed.
---
## Deployment
This app can be deployed to web platforms such as:
- PythonAnywhere
- Render
- Railway
- Heroku (with appropriate setup like a `Procfile`)---
## Collaboration and Development
Work is ongoing to enhance the application using machine learning for smarter resume-job matching. Planned features include:
- Deep learning-based similarity scoring
- Better handling of resume formatting and structure
- Filter options for specific qualifications, skills, or keywords
- User accounts and dashboardContributions are welcome.
---
## Tech Stack
- **Frontend**: HTML, CSS (with customization options)
- **Backend**: Python Flask
- **Text Processing**: TF-IDF, Cosine Similarity
- **File Parsing**: PyPDF2, docx2txt---
## Notes
This is a prototype and may not handle every edge case. It serves as a proof-of-concept for resume screening and ranking based on textual similarity. For production use, improvements in model robustness and user interface are recommended.
---
## License
MIT License