Back to Resume Matcher

JD Match Feature

docs/agent/features/jd-match.md

1.2.01.5 KB
Original Source

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

FilePurpose
apps/frontend/lib/utils/keyword-matcher.tsKeyword extraction and matching utilities
apps/frontend/components/builder/jd-comparison-view.tsxMain split-view component
apps/frontend/components/builder/jd-display.tsxRead-only JD display
apps/frontend/components/builder/highlighted-resume-view.tsxResume with keyword highlighting
apps/backend/app/routers/resumes.pyGET /{resume_id}/job-description endpoint

API Endpoint

EndpointDescription
GET /resumes/{resume_id}/job-descriptionFetch JD used to tailor a resume