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

Share this project:

Updates