1.5 KiB
1.5 KiB
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
- User tailors a resume against a job description
- Opens the tailored resume in the Builder
- "JD MATCH" tab appears (only for tailored resumes)
- 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 |