AI-Powered Bias-Free Resume Matcher
Inspiration
Hiring often contains unconscious bias — candidates may be judged by gender, name, photo, or background instead of skills. We wanted to build an AI tool that evaluates everyone fairly and focuses only on capabilities, not identity.
What It Does
The system compares resumes with job descriptions using Sentence Transformer embeddings and cosine similarity:
[ \text{Similarity}(A,B)=\frac{A \cdot B}{|A||B|} ]
It processes multiple resumes in parallel, extracts key matching skills, ranks candidates, and sends automated interview emails. It ignores demographic cues like gender terms, names, and photos to ensure fairness.
How We Built It
- Extracted text from PDFs using PyPDF2
- Encoded resumes/JDs using
all-MiniLM-L6-v2 - Fine-tuned using
CosineSimilarityLoss - Multi-agent parallel processing using
ThreadPoolExecutor - Streamlit interface for uploads + automated SMTP email system
Challenges
- Cleaning inconsistent PDF formats
- Ensuring no demographic bias impacted ranking
- Gmail SMTP security restrictions
- Lack of labeled data for model fine-tuning
What We Learned
- NLP embeddings, cosine similarity, and model fine-tuning
- Ethical AI techniques to remove bias
- Multi-agent concurrent processing
- Practical UI + automation workflow design
What's Next
- Add OCR for scanned resumes
- Bias detection for job descriptions
- Explainable AI dashboard
- GitHub/portfolio scoring
- Deploy as a SaaS platform
Built With
- fine
- ml
- natural-language-processing
- python
- pytorch
- streamlit
- tune
Log in or sign up for Devpost to join the conversation.