Professional Case Study · AI Search

Semantic Candidate-Job Matching

A company-owned matching system that converts resumes and job descriptions into embeddings, stores searchable candidate vectors, applies organization-safe metadata filters, and ranks candidates by semantic fit.

Confidentiality: Source code and internal implementation details are private. This case study describes my contribution and general engineering decisions without disclosing proprietary information.

C#/.NETEmbeddingsVector SearchMetadata FilteringREST APIs

Problem

Keyword search misses candidates whose experience is relevant but phrased differently. A backend matching service needs semantic retrieval while still enforcing tenant isolation, filters, and explainable ranking signals.

Candidate resume → text extraction → embedding
Candidate vector stored with tenant, skills, seniority, and location metadata
Job description → embedding
Similarity search + metadata filters → ranked candidates

Key Decisions

  • Store vectors with metadata so semantic search and business filters run together.
  • Keep tenant or organization identifiers mandatory in every query path.
  • Rank by vector similarity first, then adjust with structured signals such as skill overlap and recency.
  • Return reason snippets so results are easier to inspect than a raw score.

Failure Handling

  • Embedding generation failures are queued for retry without losing source records.
  • Records with missing or stale vectors are excluded from semantic ranking until repaired.
  • Filters are applied before ranking to prevent cross-organization leakage.
  • API responses include empty-result states rather than falling back to unsafe broad searches.

Trade-offs

  • Embeddings improve recall, but exact filters are still required for recruiter workflows.
  • Similarity scores are useful for ordering, not as absolute truth.
  • Precomputing candidate vectors adds ingestion work but keeps query latency predictable.

Results

The system applies embeddings, vector storage, metadata constraints, ranking, and guardrails to practical recruiter workflows.