Skip to content

Build ML-based job matching engine with skill gap analysis and recommendations #81

Description

@anshul23102

Description

Job matching currently uses simple keyword matching (15% accuracy). ML-based similarity scoring with skill gap analysis would enable 75% match accuracy, provide gap-filling recommendations, and significantly improve job-seeker outcomes.

Current Impact: Most matched jobs unsuitable; poor user experience.

Expected Business Value: 75% improvement in match quality, 80% user satisfaction increase, 60% higher job application success rate.

Steps to Reproduce

  1. Load user profile with skills (Python, React, AWS)
  2. Search for matching jobs
  3. Observe: irrelevant jobs (COBOL, Fortran) ranked highly
  4. No skill gap indication or recommendations

Environment Information

  • Python 3.8+
  • scikit-learn/tensorflow available
  • Job database API accessible
  • 10,000+ job listings for testing

Expected Behavior

  • ML model scores job-profile compatibility (0-1 range)
  • Ranks jobs by similarity and relevance
  • For each job, identifies missing skills (gaps)
  • Provides learning recommendations to close gaps
  • Shows required skills, nice-to-have, and candidate's matching

Actual Behavior

  • Simple keyword matching only
  • No similarity scoring
  • No gap analysis
  • No recommendations
  • Many irrelevant results

Screenshots or Recordings

Not applicable - feature missing

Additional Context

Affected Users: Job seekers frustrated with poor recommendations; employers not finding suitable candidates.

Root Cause: No ML model; keyword matching insufficient for skill complexity.

Proposed Solution: Implement skill2vec embeddings, cosine similarity matching, and gap identification.

Implementation Steps:

  1. Create skill embedding model (skip-gram or pre-trained Word2Vec on tech skills)
  2. Implement job-profile vectorization
  3. Calculate cosine similarity scores
  4. Rank jobs by similarity threshold (>0.65)
  5. Implement gap analyzer: identify missing skills for top 5 jobs
  6. Create recommendation engine suggesting learning paths
  7. Expose API: POST /match-jobs with scoring and gaps

Test Cases:

  • Profile: Python, React, AWS matched to job with same skills (expect >0.9 score)
  • Profile: Python, missing job-required: Node.js (expect gap identified, recommendation shown)
  • Profile: 3 skills matched to job with 5 (expect 0.6-0.7 score with gap list)
  • Multiple jobs ranked by relevance correctly
  • Recommendations lead to suitable learning path
  • Performance: match 10,000 jobs <5 seconds

Severity: High - core feature
Expected Points: 550-650 GSSoC points

Suggested Labels

enhancement, ml, job-matching, recommendation-engine, skill-gap, GSSoC26

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions