Case study deliverable โ CV โ 0โ100 seniority score + salary range + +30% growth plan
Python pipeline that takes a CV (PDF or DOCX), extracts and redacts PII, classifies the candidate to an ISCO-08 occupation code, computes a hybrid score (deterministic + LLM-bounded), looks up Czech ISPV salary deciles, and produces a +30% growth plan with three-way branching (skill up, stretch, or change role family).
๐ Run it live โ upload your own CV โ Streamlit app ยท upload PDF/DOCX, see live score + salary + growth plan
The pipeline run end-to-end on five synthetic CVs spanning junior, mid, senior, career-changer (nurse โ developer), and a buzzword-heavy fake. Side-by-side scores, salary ranges, branch decisions, LLM-quoted evidence, and recommended actions per CV.
Walks through every step, every formula, and every design decision. Mermaid diagrams of the pipeline and growth-plan branching, an SVG chart contrasting the anchored interpolation against a (wrong) linear mapping, and a step-by-step worked example.
| CV | Score | Band | Salary point | +30% branch | ISCO |
|---|---|---|---|---|---|
junior_dev_1y |
42 | Mid | 81,884 CZK | skill_up_within_role | 2512 |
mid_dev_4y |
64 | Senior | 119,487 CZK | skill_up_within_role | 2512 |
senior_dev_8y |
79 | Senior | 122,534 CZK | role_family_change | 251 |
nurse_to_dev_5y_2y |
50 | Mid | 93,711 CZK | skill_up_within_role | 2512 |
buzzword_no_evidence |
38 | Junior | 77,206 CZK | skill_up_within_role | 112 |
Rank order holds (junior < mid < senior). Career-changer correctly anchors to Software developer ISCO
(2512), not nurse ISCO. Senior dev gets role_family_change because a +30% increase
exceeds the top decile of their current ISCO group โ the system correctly recommends pivoting role family
rather than skilling up further.