Back to Docs
Recipe

Recipe: Resume → JD Matcher

Parse a resume and job description, then score alignment with actionable gap analysis.

Ingredients

  • PDF or DOCX resume upload endpoint
  • Job description text input (pasted or URL-scraped)
  • LLM call with structured JSON output schema
  • Score breakdown: skills, experience, education, keywords

Steps

  1. 1Extract text. Use a server-side parser to pull raw text from the uploaded resume file. Strip formatting, headers, and footers.
  2. 2Normalize both inputs. Trim whitespace, collapse newlines, and truncate each to the model's context window minus the prompt template.
  3. 3Craft the prompt. Instruct the LLM to return a JSON object with an overall match percentage and per-category scores. Ask for missing keywords and a short summary.
  4. 4Render results. Display the overall score as a radial gauge, category breakdowns as horizontal bars, and missing keywords as pill-shaped tags.

Output Schema

{
  "overall_match": 78,
  "skills": 85,
  "experience": 70,
  "education": 90,
  "keywords_matched": ["React", "TypeScript"],
  "keywords_missing": ["GraphQL", "AWS Lambda"],
  "summary": "Strong frontend fit; add backend keywords."
}

Pro Tips

  • • Cache parsed resume text in the session to avoid re-parsing on JD changes.
  • • Use streaming to show category scores as they arrive.
  • • Validate JSON output with a schema guard before rendering.