AI / Full Stack
AI Candidate Matching
Semantic search + hard-filter ranking MVP for staffing placement.
FastAPIPython 3.11PostgreSQL + pgvectorsentence-transformersspaCyDocker
Problem
Agencies manually screen resumes; keyword search misses domain nuance and soft preferences.
What I built
A system that ingests resumes (PDF/DOCX/TXT), extracts entities via spaCy NER, encodes with sentence-transformers, ranks via pgvector ANN, applies hard filters in-query, re-ranks in Python with soft scoring, and returns an explained shortlist.
Engineering highlights
all-MiniLM-L6-v2 embeddings; pgvector ANN with oversample-then-rerank; a hard-filter plus soft-rank pipeline; resume ETL and NER; FastAPI + SQLAlchemy 2.0; JWT auth; a pytest suite validating ranking correctness. Sub-500ms match latency over hundreds of candidates.