A powerful tool that analyzes resumes against job descriptions to provide matching scores and detailed feedback. Built with FastAPI and Streamlit, this application helps job seekers and recruiters evaluate resume-job description compatibility.
- Support for PDF and DOCX resume formats
- Advanced text extraction and analysis
- Matching score computation
- Detailed feedback and suggestions
- Job description parsing
- Fast and responsive UI
- Secure file handling
- Automatic temporary file cleanup
- Python 3.8 or higher
- pip (Python package installer)
-
Clone the repository:
git clone https://github.com/yourusername/resume-analyzer.git cd resume-analyzer
-
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Start the application:
python run.py
-
Open your web browser and navigate to:
http://localhost:8501
-
Upload your resume (PDF or DOCX format)
-
Enter the job description
-
Click "Analyze" to get your results
resume-analyzer/
├── ai/
│ ├── source/
│ │ ├── main.py # FastAPI backend
│ │ ├── streamlit_app.py # Streamlit frontend
│ │ └── ...
│ ├── extractors/ # Text extraction modules
│ └── scoring/ # Scoring algorithms
├── run.py # Application runner
└── requirements.txt # Project dependencies
- Resume Upload: Users upload their resume in PDF or DOCX format
- Text Extraction: The system extracts text from the resume
- Job Description Analysis: The job description is parsed for key requirements
- Matching Analysis: The system compares the resume against job requirements
- Score Generation: A matching score is computed
- Feedback Generation: Detailed feedback is provided based on the analysis
We welcome contributions! Please see our Contributing Guidelines for details.
Please read our Code of Conduct to keep our community approachable and respectable.
This project is licensed under the MIT License - see the LICENSE file for details.
- FastAPI for the backend framework
- Streamlit for the frontend interface
- All contributors who have helped shape this project
If you encounter any issues or have questions, please:
- Check the FAQ section
- Search through existing Issues
- Create a new issue if your problem isn't already addressed
Currently, the application supports PDF and DOCX formats.
The matching score is based on various factors including keyword matching, skill alignment, and experience relevance. However, it should be used as a guide rather than an absolute measure.
Currently, the application processes one resume at a time.
Yes, all uploaded files are processed locally and automatically deleted after analysis.
- Support for more file formats
- Batch processing capability
- Enhanced feedback system
- Resume improvement suggestions
- Integration with job boards
- Custom scoring criteria
For any queries or support, please reach out to:
- Email: [your-email@example.com]
- GitHub: [your-github-profile]
Made with ❤️ by [Your Name]