Module matching
Matching is the step that turns your library and a job description into a ranked stack. Here's how the scoring works and how to influence it.
How scoring works
The matching engine compares each module in your library against the extracted JD profile — themes, role type, seniority, and key phrases. Each module receives a match score from 0 to 100. The score reflects how well the module's tags and content align with what the role is looking for.
Anchor modules always receive a score of 100 regardless of tag overlap — they're always in the stack. Strong modules are included when their score is 65 or higher. Supporting modules are included only at 80 or higher.
The recommended stack
After scoring, the engine selects a recommended stack of 6–10 modules ordered by relevance. This is what gets passed to the generation step by default. You can modify the stack before generating — add modules that were ranked out, remove ones that don't feel right for this application.
Improving match quality
If the matching results don't feel right — wrong modules surfacing, key ones being left out — the most effective fixes are:
Fix the module's tags. A module that's clearly relevant but scoring low is usually missing a theme or has the wrong role type. Open the module editor, add the relevant themes, and re-run matching.
Check the JD extraction. If the extracted themes don't match what the role is actually about, the scores will be off across the board. Go back to the JD review screen and correct the themes before re-running.
Adjust weight. If a module is consistently left out of stacks where it belongs, raise it from supporting to strong, or from strong to anchor.
Positioning variant
After reviewing the stack, you'll choose a positioning variant — A, B, or C. These correspond to different opening summary frames for the resume. Variant A leads with scope and scale. Variant B leads with methodology and approach. Variant C leads with domain expertise. Choose whichever angle best fits the specific role and company.
Re-running matching
You can re-run matching against a saved JD at any time from the generation history. This is useful when you've edited modules or updated tags after the initial run. The new stack may differ from the original — review it before generating.