Upskill
What is missing from your profile, ranked by the offers it is worth — added only with proof.
Upskill (/upskill in the app, jobhunter/upskill.py) is one ranked learning plan: what the companies you are actually targeting ask for that your resume doesn't show, ordered by how much learning each one would raise your chances. Nothing reaches your profile without proof.
Where the gaps come from#
Not from the job market at large — from your shortlists. For every company the decision brain keeps (Bengaluru, Hyderabad, Remote), the needs briefs of its three best roles are read against your resume. Each skill they name lands in one of two kinds:
- Learn
- Missing from the resume altogether.
- Prove
- On the resume only as a word in the skills list — no shipped project or bullet behind it — so a brief counts it half.
- DSA
- Always its own row: what raising your
decide.me.dsa_levelto 0.5, 0.65 or 0.8 would add, and which parked “after DSA” companies would come back.
How the order is decided#
For each gap, the brain's own arithmetic is re-run as if you had shipped a project with that skill: the best role's skills score rises, which moves the screen and the interview loop, which moves the chance of an offer. Summed over every shortlisted company that asks for it, that is the gap's expected offers gained — the number the list is sorted by.
| Rank | Gap | Kind | Asked for by | Expected offers gained |
|---|---|---|---|---|
| 1 | Observability | learn | 71 companies | +0.31 |
| 2 | Python | prove | 47 companies | +0.11 |
| 3 | JavaScript | prove | 45 companies | +0.11 |
| — | DSA to 0.5 / 0.65 / 0.8 | dsa | the whole list | +2.9 / +5.2 / +6.9 |
Read on 23 Oct 2026 from 248 shortlisted companies, where working the whole list was worth about 12.6 offers.
Using the page#
Each row shows the gap, its kind, how many companies (and what share of your list) ask for it, how often as a must-have, and its payoff bar. Open a row to see who asks, in their words(the posting's own sentence, linked), where it moves your odds most, and your progress.
- Mark it learningSo you can see what is in progress.
- Mark it done — with proofDone needs two things: a proof link (a repo, a demo, a write-up) and a line in your own words about what you built. Without both, “done” is refused.
- Add to my profileOnly a done skill with proof can be added. A dated backup of
profile/profile.jsonis taken first, then the skill is added as a project carrying your line and link. Every stored needs brief is re-checked against the new profile, every role re-scored and the brain run again — a few minutes — so the gain shows up in Best bets. - Update the resume PDF yourselfThe PDF is yours. The page gives the line ready to paste: your words, the skill named, the proof linked.
python scripts/run.py upskill gaps # the plan, best payoff first, and what DSA practice is worth
python scripts/run.py upskill mark Observability learning
python scripts/run.py upskill mark Observability done --proof-url https://github.com/you/thing --note "built …"
python scripts/run.py upskill add Observability # into profile.json (backed up), then re-score everything