Back to projects
4 views

TalentMatch AI – LLM-Powered Recruitment Platform

AI-powered resume screening and semantic job matching platform

TalentMatch AI is an AI engineering platform for resume screening and job matching. It combines NLP, LLMs, embeddings, semantic search, vector databases, and explainable AI to analyze candidate profiles, evaluate job requirements, calculate match scores, identify skill gaps, and provide candidate matching insights.

PythonFlaskReactTypeScriptLangChainOpenAIAnthropicHugging FaceSentence TransformersPostgreSQLChromaDBRedisCeleryDockerGitHub Actions

Problem

Recruiters need to evaluate large numbers of resumes against job requirements, but traditional keyword-based screening can miss semantic relationships between candidate experience, skills, projects, and job requirements.

Solution

I designed an AI-assisted talent matching platform that combines resume parsing, skill extraction, embeddings, vector search, semantic matching, LLM-based analysis, and explainable scoring to evaluate candidate-job compatibility.

What I Built

  • AI-powered resume parsing
  • Candidate profile and skill extraction
  • Job description analysis
  • Semantic job matching
  • Resume and job embeddings
  • Vector search with ChromaDB
  • LLM-assisted candidate analysis
  • Candidate ranking
  • Explainable match scoring
  • Skill gap analysis
  • Resume optimization
  • AI evaluation workflow
  • REST API with Flask
  • React and TypeScript frontend
  • Asynchronous processing with Celery and Redis
  • Docker-based development environment
  • CI workflow with GitHub Actions

Architecture

┌──────────────────────┐
                         │    React Frontend    │
                         │   TypeScript/Vite    │
                         └──────────┬───────────┘
                                    │
                                    ▼
                         ┌──────────────────────┐
                         │     Flask REST API   │
                         │      Python          │
                         └──────────┬───────────┘
                                    │
                  ┌─────────────────┼─────────────────┐
                  │                 │                 │
                  ▼                 ▼                 ▼
          ┌──────────────┐  ┌──────────────┐  ┌──────────────┐
          │ Resume       │  │ Job          │  │ Matching     │
          │ Parser       │  │ Analyzer     │  │ Engine       │
          └──────┬───────┘  └──────┬───────┘  └──────┬───────┘
                 │                 │                 │
                 └─────────────────┼─────────────────┘
                                   ▼
                         ┌──────────────────────┐
                         │ Embedding Pipeline   │
                         │ Sentence Transformers│
                         │ / Hugging Face       │
                         └──────────┬───────────┘
                                    ▼
                         ┌──────────────────────┐
                         │ Semantic Search      │
                         │ ChromaDB             │
                         └──────────┬───────────┘
                                    │
                     ┌──────────────┴──────────────┐
                     ▼                             ▼
             ┌──────────────┐              ┌──────────────┐
             │ LLM Layer    │              │ PostgreSQL   │
             │ OpenAI /     │              │ Application  │
             │ Anthropic    │              │ Data         │
             └──────┬───────┘              └──────────────┘
                    │
                    ▼
             ┌──────────────┐
             │ Explanation  │
             │ & Ranking    │
             └──────────────┘

       Redis + Celery → Asynchronous AI Processing

Capabilities

Full Stack Engineering

ReactTypeScriptViteTailwind CSSFlaskREST APIJWTTanStack Query

Backend & Data

PythonFlaskSQLAlchemyPostgreSQLChromaDBRedisCeleryVector SearchDatabase Design

AI Engineering

LLM IntegrationNLPEmbeddingsSemantic SearchRAG-related RetrievalLangChainOpenAIAnthropicHugging FaceSentence TransformersExplainable AIAI EvaluationCandidate Matching

Delivery & Quality

DockerDocker ComposeGitHub ActionsAPI TestingCIAsynchronous Processing

Engineering Decisions

ProblemDecisionReason
Keyword matching can miss semantic relationshipsImplemented embedding-based semantic matchingAllows candidates and jobs to be compared based on meaning rather than exact keywords
Candidate and job information requires semantic retrievalUsed ChromaDB for vector searchEnables efficient similarity-based retrieval
Different LLM providers may be requiredDesigned the AI layer to support OpenAI and AnthropicProvides flexibility in model selection and provider integration
AI processing can be computationally expensiveUsed Redis and Celery for asynchronous processingPrevents long-running AI operations from blocking API requests
Candidate matching needs explainabilityImplemented weighted matching and explanation generationHelps users understand why a candidate matches a position
Resume processing requires structured candidate informationImplemented resume parsing and skill extractionConverts unstructured resume content into information usable by the matching engine
AI-assisted recruitment requires responsible useDesigned the system as decision support rather than autonomous hiringKeeps human decision-makers involved and avoids using protected attributes

My Contribution

  • Designed the overall AI application architecture
  • Designed the resume-to-job matching workflow
  • Implemented the Flask REST API backend
  • Implemented AI and NLP processing workflows
  • Integrated LLM providers including OpenAI and Anthropic
  • Implemented embedding generation and semantic search
  • Integrated Sentence Transformers and Hugging Face
  • Implemented vector search using ChromaDB
  • Designed the candidate matching and scoring engine
  • Implemented candidate ranking and skill gap analysis
  • Designed the PostgreSQL data model
  • Implemented asynchronous processing using Celery and Redis
  • Developed the React/TypeScript frontend integration
  • Containerized the application using Docker and Docker Compose
  • Configured CI workflows using GitHub Actions
  • Documented system architecture, API specifications, database schema, and AI pipeline

Results

MVP DevelopmentSemantic MatchingVector SearchLLM-powered AnalysisAI-assisted Candidate RankingAutomated Skill Gap Analysis
    TalentMatch AI – LLM-Powered Recruitment Platform | Wyzer's Portfolio