SkillPath-AI: Turning a Resume Into a Roadmap

A look at the gap-analysis engine that converts scattered skills into a specific learning plan, target roles, and a job-fit score.

8 min read • View on GitHub • More from deshnashivhare

A resume sits on a desk as drafting tools redraw it into a route map. One side is dense with text, while the other becomes a sequence of stepping stones leading toward roles, courses, and skill gaps. It explains the article’s core idea: the project is strongest when it turns absence into direction.
SkillPath-AI is less interested in what a resume contains than in what it still lacks.
Key Takeaways

Most resume tools tell you what you already are. SkillPath-AI is more interesting because it starts with what you are not yet. That shift, from inventory to absence, is what makes the project feel closer to a career coach than a parser.

A hedcut-style portrait of Deshna Shivhare, the project creator, rendered in black ink on white. The image anchors the article with a verified likeness and connects the product to its maker.

The smartest part is what it removes

SkillPath-AI starts with a blunt move: it subtracts. The central logic, visible in functions like analyze_gap, compares required skills against user skills and treats the missing set as the real product. That is a good editorial choice and a good product choice, because people do not need another flattering summary of their resume.

The repo’s core trick is deceptively small. Normalize the messy input, map it to a canonical skill list, then compute the gap. Once you do that, the output stops feeling like generic advice and starts feeling like a plan.

A close-up of scattered skill labels being compressed into one clean canonical tag. The scene shows messy variants converging into a single token before feeding a ledger of gaps. It explains why normalization matters more than fancy modeling when the input data is inconsistent.
Canonicalization is the quiet superpower of the system.

How the pipeline turns a resume into a career hypothesis

Under the hood, the repo is modular. PDF parsing, resume validation, skill extraction, domain confidence scoring, job probability prediction, and recommendations all live in separate utilities, which makes the system easier to reason about than a monolith. The flow is simple enough to debug, but opinionated enough to matter.

The system is more legible than a typical AI career tool because each step narrows uncertainty in the open.

def normalize(skill):
    return skill.lower().replace('.', '').replace(' ', '')

That tiny function does more work than it looks like it should. By collapsing Node.js, Nodejs, and node js into the same form, the system improves recall before the recommender or predictor ever sees the data. In a messy resume world, that is often more valuable than a heavier model.

Why normalization does more than it looks like it should

This is where the project becomes practical. The skill database and fallback keyword list act like guardrails for real-world language, where users write React, react.js, and ReactJS as if the same thing were not three different strings. The normalization step is the bridge between human inconsistency and machine consistency.

The recommendation layer is the product

Once the gaps are known, SkillPath-AI becomes prescriptive. The course recommender maps missing skills to curated learning resources, while the company recommender maps inferred strengths to possible employers. That is the point where the repo stops being diagnostic and starts acting like a decision support tool.

SystemApproachTransparencySpecificityOutput
SkillPath-AIResume plus job gap analysisHigh, because the pipeline is modularNarrow and user-specificRoadmap, company suggestions, PDF report
Docebo or DegreedEnterprise learning recommendationsLower, because logic is usually productizedBroad and organization-wideLearning paths and dashboards
Draft and ArcGoal-based course generationMediumFocused on a topic or goalCustom lessons or courses
Generic resume matcherKeyword overlap onlyLowShallowSimilarity score or pass-fail result

Compared with enterprise LMS and LXP platforms, SkillPath-AI is narrower but clearer. It is not trying to manage corporate learning at scale. It is trying to answer one hard question well: what should I learn next to become hireable for this role?

The PDF report is the proof of concept becoming a tool

The pdfkit integration matters because it changes the unit of value. A browser session disappears. A PDF can be saved, sent, revisited, and treated like a deliverable. For students and job seekers, that is the difference between a demo and something reusable.

job_probability = model.predict_proba(X)[0][1]

The logistic regression model is modest, but it gives the app a useful shape. By combining skill match, test score, projects, and experience, it turns a resume review into a probability estimate instead of a vague encouragement.

What it is, and what it is not yet

This is still a prototype in the important sense. The dataset is small, the credentials are hardcoded in development-oriented places, and the deployment path is not hardened for production. None of that makes the idea weak, but it does mean the article should treat the model as a proof of workflow, not proof of statistical maturity.

QuestionCurrent answerWhat that means
Is it useful?YesThe workflow is concrete and understandable.
Is it production-ready?Not yetHardcoded values and small training data limit robustness.
Is the AI the main story?NoThe orchestration and normalization are doing most of the work.
Is it differentiated?YesIt focuses on the gap between current skills and target roles.

How it compares to the rest of the market

The open-source niche here is specific: transparent, customizable, and centered on immediate career gap analysis. Commercial platforms win on scale and integration. SkillPath-AI wins on clarity and on making the next action obvious.