Skip to content
fetching.[)esign_
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.