Skip to content

Latest commit

 

History

History
39 lines (28 loc) · 1.52 KB

File metadata and controls

39 lines (28 loc) · 1.52 KB

JD Match Feature

Shows how well a tailored resume matches the original job description.

Overview

The Resume Builder includes a "JD Match" tab that shows how well a tailored resume matches the original job description.

How It Works

  1. User tailors a resume against a job description
  2. Opens the tailored resume in the Builder
  3. "JD MATCH" tab appears (only for tailored resumes)
  4. Shows side-by-side comparison:
    • Left panel: Original job description (read-only)
    • Right panel: Resume with matching keywords highlighted in yellow

Features

  • Keyword extraction: Extracts significant keywords from JD (filters common stop words)
  • Case-insensitive matching: Matches keywords regardless of case
  • Match statistics: Shows total keywords, matches found, and match percentage
  • Color-coded percentage: Green (≥50%), yellow (≥30%), red (<30%)

Key Files

File Purpose
apps/frontend/lib/utils/keyword-matcher.ts Keyword extraction and matching utilities
apps/frontend/components/builder/jd-comparison-view.tsx Main split-view component
apps/frontend/components/builder/jd-display.tsx Read-only JD display
apps/frontend/components/builder/highlighted-resume-view.tsx Resume with keyword highlighting
apps/backend/app/routers/resumes.py GET /{resume_id}/job-description endpoint

API Endpoint

Endpoint Description
GET /resumes/{resume_id}/job-description Fetch JD used to tailor a resume