https://github.com/coding-chemist/smarthire
An AI-powered resume screening system that analyzes candidate profiles, matches them with job criteria, and provides structured justifications. Automates hiring decisions with intelligent ranking and insights. ππ€
https://github.com/coding-chemist/smarthire
groq langchain llm mistral-saba-24b mongodb pydantic pypdf2 python rag
Last synced: about 1 month ago
JSON representation
An AI-powered resume screening system that analyzes candidate profiles, matches them with job criteria, and provides structured justifications. Automates hiring decisions with intelligent ranking and insights. ππ€
- Host: GitHub
- URL: https://github.com/coding-chemist/smarthire
- Owner: coding-chemist
- License: gpl-3.0
- Created: 2025-03-12T10:15:26.000Z (11 months ago)
- Default Branch: rag
- Last Pushed: 2025-03-12T18:32:15.000Z (11 months ago)
- Last Synced: 2025-03-12T18:40:53.318Z (11 months ago)
- Topics: groq, langchain, llm, mistral-saba-24b, mongodb, pydantic, pypdf2, python, rag
- Language: Python
- Homepage:
- Size: 13.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SmartHire
SmartHire is an AI-powered **resume screening and candidate ranking** system designed to streamline the hiring process. Using **LLM-powered justifications**, it analyzes resumes against job requirements and provides structured comparisons to help HR teams make data-driven hiring decisions.

## Form

## Candidate Comparison
Candidature of Isabella Moore, Jack Anderson, Emma Wilson, David Lee are all AI Generated.
Any resemblance to real persons, living or dead, is purely coincidental.


## π Tech Stack
- 
- 
- 
- 
- 
## β¨ Features
β
**AI-Powered Resume Screening**: Compares resumes with job criteria and ranks candidates based on skills, experience, and education.
β
**Structured LLM Justifications**: Uses **Groqβs Gemma 2-9B** to generate structured candidate evaluations, including **Education Match, Experience Match, Skill Fit, Role Fit, and SWOT Analysis**.
β
**Candidate Comparison**: Displays top candidates side by side in **Streamlit columns** for easy evaluation.
β
**Expander for Alternative Matches**: Shows the next-best candidates with justifications.
β
**Resume Storage & Retrieval**: Uses **MongoDB** to store and retrieve structured resume data.
---
## π₯ Installation
Follow these steps to set up **SmartHire**:
### 1οΈβ£ Clone the repository
```bash
git clone https://github.com/your-username/SmartHire.git
cd SmartHire
```
### 2οΈβ£ Set up a virtual environment
```bash
conda create --name smarthire-env python=3.13
conda activate smarthire-env
```
### 3οΈβ£ Install dependencies
```bash
pip install -r requirements.txt
```
### 4οΈβ£ Ensure the following dependencies are in requirements.txt
```txt
streamlit==1.43.1
pymongo==4.6.3
langchain==0.3.20
langchain-groq==0.2.5
langchain-ollama==0.2.3
groq==0.18.0
pydantic==2.7.0
python-dotenv==1.0.1
```
## βοΈ Prerequisites
- Python 3.13 or higher
- MongoDB (running locally or a cloud instance)
- Required Python libraries (see requirements.txt)
## βΆοΈ Running the App
### 1οΈβ£ Start MongoDB (if running locally)
```bash
mongod --dbpath /path/to/mongodb/data
```
On Mac, if you installed MongoDB via Homebrew, you can start it using:
```bash
brew services start mongodb-community
```
### 2οΈβ£ Run the Streamlit app
```bash
streamlit run app.py
```
The app will be available at http://localhost:8501.
## π Usage
- 1οΈβ£ **Upload Resumes:** Upload candidate resumes (structured JSON format).
- 2οΈβ£ **Fill HR Job Criteria:** Enter required skills, experience, and education.
- 3οΈβ£ **AI-Powered Screening:** SmartHire ranks candidates based on the best match.
- 4οΈβ£ **Review Justifications:** Compare candidates side by side with structured LLM-generated justifications.
- 5οΈβ£ **Explore Alternative Matches:** View the next-best candidates under an expander section.
## π€ Contributing
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new feature branch (git checkout -b feature-name).
- Commit your changes and push to your fork.
- Submit a pull request.
## π License
SmartHire is open-source software licensed under the **GNU General Public License v3.0 (GPL-3.0)**.
This means:
- You are free to **use, modify, and distribute** the software.
- Any modifications or derivative works **must also be open-source** under the same GPL-3.0 license.
- For more details, see the full license text in the `LICENSE` file or visit [GNU GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.en.html).
## π Acknowledgements
- **Streamlit** for the app UI.
- **LangChain + Groq** for LLM-driven resume screening.
- **MongoDB** for candidate storage and retrieval.
- **Pydantic** for structured data validation.