0%
AI/ML 2024

TalentMatch AI - Resume Parser

Spacy + Claude + Vector Search

Developed intelligent recruitment tool using NLP and LLMs for resume parsing and job matching. System parses multi-format resumes (PDF, DOCX, HTML) via PyPDF2 and python-docx, extracts skills using fine-tuned Spacy NER model + Claude API for nuanced understanding, matches candidates to jobs via vector similarity (pgvector), provides explainable ranking showing match reasons. Implements bias detection in job descriptions via LLM analysis. FastAPI backend with async processing, React frontend with real-time parsing via WebSocket.

95%
NER Accuracy
88%
Match Relevance
<2s
Response Time
4 supported
Formats
Spacy + Claude
Pipeline
pgvector
Search
01

The Challenge

Manual resume screening time-consuming and inconsistent. Keyword matching misses semantic equivalence ("built scalable systems" = "distributed systems expertise"). Multiple resume formats (PDF, DOCX, HTML) complicate parsing. Need skill extraction understanding context, not just keywords. Job matching requires explainability for hiring decisions.

02

The Solution

Built multi-stage NLP pipeline: document parsing (PyPDF2, python-docx) → Spacy NER for skill extraction → Claude API for nuanced understanding → vector embeddings for semantic matching. Fine-tuned Spacy NER model on tech resumes dataset. pgvector for similarity search. LLM-based bias detection in job descriptions. Explainability layer showing match reasoning.

Technology Stack

Python 3.11+
FastAPI 0.109
Spacy 3.7
Anthropic Claude API
PostgreSQL 16 + pgvector
Redis 7.2
React 18
TypeScript 5.x
Docker 24.0
Celery
RabbitMQ
PyPDF2
python-docx
BeautifulSoup4
03

Architecture

  • Multi-stage pipeline: parse → extract → normalize → match → explain
  • Document parsing: PyPDF2 (PDF), python-docx (DOCX), BeautifulSoup (HTML)
  • Fine-tuned Spacy NER model on tech resumes corpus
  • Claude API for nuanced skill extraction and experience understanding
  • pgvector for semantic job matching via cosine similarity
  • Skill taxonomy normalization with synonym mapping
  • Celery + RabbitMQ async task queue for batch processing
  • Redis caching for parsed resumes and embeddings
  • FastAPI async endpoints with WebSocket support
  • Docker Compose deployment: FastAPI + PostgreSQL + Redis + RabbitMQ
04

Key Features

01
Multi-format parsing: PyPDF2 (PDF), python-docx (DOCX), BeautifulSoup (HTML)
02
Fine-tuned Spacy NER model for tech skill extraction
03
Claude API for nuanced experience understanding and context
04
pgvector semantic job matching with cosine similarity
05
Bias detection via LLM analysis of job description language
06
Explainable ranking showing skill overlap and match reasoning
07
Skill taxonomy normalization (map synonyms: "React.js" → "React")
08
Education and certification extraction with regex patterns
09
Work history timeline parsing with date normalization
10
Celery + RabbitMQ for async batch processing pipeline
11
FastAPI RESTful API with auto-generated OpenAPI docs
12
Real-time parsing via WebSocket with progress updates
05

Results & Impact

  • Multi-format resume parsing: PDF, DOCX, HTML, TXT via PyPDF2 + python-docx
  • Achieved 95% skill extraction accuracy with fine-tuned Spacy NER model
  • Semantic job matching with 88% relevance via pgvector similarity
  • Claude API extracts nuanced experience ("led team of 5" → leadership skill)
  • Bias detection identifies problematic language in job descriptions
  • Explainable ranking: shows why candidate matched (skill overlap, experience)
  • FastAPI async backend with Celery for batch processing
  • Real-time parsing via WebSocket with <2s response time

Explore This Project