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.
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.
✅ 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.
Follow these steps to set up SmartHire:
git clone https://github.com/your-username/SmartHire.git
cd SmartHire
conda create --name smarthire-env python=3.13
conda activate smarthire-env
pip install -r requirements.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
- Python 3.13 or higher
- MongoDB (running locally or a cloud instance)
- Required Python libraries (see requirements.txt)
mongod --dbpath /path/to/mongodb/data
On Mac, if you installed MongoDB via Homebrew, you can start it using:
brew services start mongodb-community
streamlit run app.py
The app will be available at http://localhost:8501.
- 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.
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.
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.
- Streamlit for the app UI.
- LangChain + Groq for LLM-driven resume screening.
- MongoDB for candidate storage and retrieval.
- Pydantic for structured data validation.