pathfinder
two-sided talent matching · personal research project

Match candidates to jobs.
Explain every match.

PathFinder is an intent-aware, explainable hybrid retrieval engine for two-sided talent matching. Search the candidate side ( "Senior Python developer with cloud experience at Competent or higher"), the job side ( "Roles in Bengaluru asking for Selenium + Azure"), or compute candidate ↔ job fit. Queries decompose into structural filters and semantic intent, retrieve through three parallel channels (BM25 + BGE-M3 dense + learned-sparse), fuse with RRF, rerank with a cross-encoder, and traverse a Neo4j knowledge graph (Person → HAS_SKILL → Skill ← REQUIRES_SKILL ← Job, with ESCO-canonicalised skills, locations, and industries) for relational queries. Every result carries citations, matched evidence, and per-stage scores.

1,782

Candidates

skill-tagged profiles · Dreyfus 5-stage proficiency · suggested roles

1,370

Jobs

demand records + LLM-enhanced JDs · industry · location · designation

ESCO

Bridge

13.9 k canonical skills · hierarchy + relatedness · CC-BY

Hybrid retrieval

BM25 + BGE-M3 dense / learned-sparse + ColBERT, fused with RRF (k = 60).

Knowledge graph

Neo4j 5; Text2Cypher with dynamic few-shot for relational sub-queries.

Cross-encoder rerank

bge-reranker-v2-m3 FP16 — top 50 → top 10, p95 < 2 s end-to-end.

Explainable

Per-stage score breakdown, KG path, BM25 term highlights, RAGAS-validated NL.

Targets: Recall@100 ≥ 0.97 · nDCG@10 ≥ 0.55 · RAGAS Faithfulness ≥ 0.95 · p95 < 2 s.