Logo Lanfrica

CosmusMutuku/AI-Powered-Job-Recommender---LangGraph-Project

Domain:

socioeconomic

Record type:

software
Creator:
Cos
Host:
An intelligent job recommendation system that analyzes a candidate's CV and automatically discovers, matches, and ranks relevant job opportunities from MyJobMag Kenya. # AI-Powered-Job-Recommender---LangGraph-Project An intelligent job recommendation system that analyzes a candidate's CV and automatically discovers, matches, and ranks relevant job opportunities from MyJobMag Kenya. Built with LangGraph for workflow orchestration, AI for intelligent analysis, and Playwright for real-time web scraping. # Features -Automated CV Parsing: Extract skills, roles, and experience from PDF resumes -Real-time Job Scraping: Dynamic scraping from MyJobMag Kenya using Playwright -Multi-factor Matching: Intelligent scoring algorithm (60% skills + 30% role + 10% semantic) -AI Quality Control: LLM-powered verification to filter false positives -Gradio-based web interface -Smart Insights: Skill gap analysis and match explanations # Architecture The system uses LangGraph to orchestrate a 6-node workflow: _START → Parse CV → Scrape Jobs → Match Jobs → Filter → Quality Control → Summaries → END_ # Workflow Nodes 1. **Parse CV** **Purpose**: Extract structured information from unstructured CV text **Process**: Uses LLM to identify skills, roles, experience, education, and location **Output**: Structured candidate profile 2. **Scrape Jobs** **Purpose:** Discover relevant job listings from MyJobMag Kenya **Process:** -Builds search queries from CV profile (roles + technical skills) -Uses Playwright for headless browser scraping -Visits job detail pages for full descriptions -Extracts required skills using LLM **Output:** List of 30-50 job postings with metadata 3. **Match Jobs** **Purpose**: Score each job against candidate profile **Algorithm**: Total Score = Skill Score (60%) + Role Score (30%) + Semantic Score (10%) **Output:** Ranked jobs with scores, reasons, skill overlaps, and gaps 4. **Rank & Filter** **Purpose:** Apply dynamic thresholds and diversify results **Process:** Dynamic Threshold Strategy: -High scores (≥0.5) → threshold = 0.15 -Moderate (≥0.3) → threshold = 0.12 -Low scores → threshold = 0.05 **Ou …