ResuMatch is an intelligent application that evaluates the alignment between a candidate's CV (resume) and a job description, providing detailed feedback and generating a professional email response.
resume_matcher_demo.mp4
- CV-Job Alignment Analysis: Evaluates how well a candidate's CV matches a job description
- Detailed Feedback: Provides specific reasons for match/mismatch
- Professional Email Generation: Creates a ready-to-send email response to the candidate
- Multiple Input Methods: Upload files (TXT, PDF) or paste text directly
- Sample Data: Try with included example data
- Streamlit: Web interface
- LangGraph: Orchestration of the evaluation workflow
- Mistral AI: Powers the evaluation and email generation
- PyPDF2: PDF parsing (optional)
- Python 3.8+
- Mistral AI API key
-
Clone the repository:
git clone https://github.com/Nawap1/ResuMatch.git
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.envfile in the project root and add your Mistral AI API key:MISTRAL_API_KEY=your_api_key_here -
(Optional) Install PyPDF2 for PDF support:
pip install PyPDF2
Start the Streamlit application:
streamlit run app.pyThen open your web browser and navigate to the provided URL (typically http://localhost:8501).
-
Upload or Enter Information:
- Use the "Upload Files" tab to upload CV and job description files (TXT or PDF)
- Or use the "Text Input" tab to paste the content directly
-
Process the Data:
- Click "Evaluate CV" to start the analysis
-
Review Results:
- View the detailed evaluation of the CV-job match
- Read the generated email response
- Download the results as text files
-
Try with Sample Data:
- Click "Use Sample Data" in the sidebar to test with example CV and job description
ResuMatch/
├── app.py # Main application file
├── data/ # Sample data
│ ├── cv.txt # Example CV
│ └── job_description.txt # Example job description
├── .env # Environment variables (API keys)
└── requirements.txt # Project dependencies