Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSPy Resume-Job Matcher

Scores how well a resume fits a job description, using DSPy instead of a hand-written prompt.

Why DSPy here

Most "AI resume scorer" projects are just a prompt someone tweaked until it looked right. This one is built differently:

  • matcher.py defines a signature (inputs/outputs) instead of a prompt string. DSPy figures out how to prompt the model to hit that signature.
  • optimize.py shows how to give DSPy a small set of labeled examples (job + resume + expected score) and let its optimizer (BootstrapFewShot) build the few-shot prompt automatically, rather than me guessing at wording.

I built this to help sort my own job applications by fit, and as a way to actually learn DSPy's core ideas (signatures, modules, optimizers) instead of just reading about them.

Setup

pip install -r requirements.txt
export OPENAI_API_KEY=your_key_here

Run it

Basic scoring:

python matcher.py

Optimize with labeled examples:

python optimize.py

Project structure

matcher.py     - signature + module definition, run this for a quick test
optimize.py    - trains the matcher on labeled examples using DSPy's optimizer
requirements.txt

What it outputs

For a given job description + resume bullets, it returns:

  • fit_score - 0-100
  • matched_skills - what lined up
  • missing_skills - what's missing
  • reasoning - short explanation of the score

Next steps

  • Grow the labeled training set from real applications
  • Swap BootstrapFewShot for MIPROv2 once there's more training data
  • Hook this into the Airtable/Make job application tracker so scoring happens automatically on new applications

About

Scores resume fit against job descriptions using DSPy instead of hand-tuned prompts

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages