Roles & scoring
Scraping roles, matching them to the resume, and ranking the odds.
Two different questions get two different scores. Match: does this role fit the resume? Selection odds: if we ask, how likely is it to land? The second decides where the 25 emails go.
Match score#
- A free lexical gate
fit.pymeasures rare-term-weighted vocabulary overlap between the resume and the description — no model, no embeddings. Only roles above the 70th percentile go further.fit-explain JOB_IDshows the reasoning. - A model rubric on the survivorsThe
judgemodel alias scores each survivor against a rubric and returns reasons and skill gaps. - Hard capsA senior title caps the score at 35; stated pay under ₹30 LPA at 40; a description under 200 characters at 60. A score of 65 or more is a high match.
Selection odds#
confidence.py computes a deterministic 0–100 per role from weighted signals, with a separate profile for each market, then applies blocker caps.
India profile#
| Signal | Weight |
|---|---|
| Fresher-friendly | 22 |
| Skills overlap | 16 |
| A referrer exists | 15 |
| Pay | 12 |
| Skill gap | 8 |
| Stage | 8 |
| Recency | 7 |
| City | 6 |
| Hiring proven | 6 |
Remote profile#
Skills 15, remote terms 14, seniority fit 13, referrer 13, timezone 8, gap 8, international hiring 6, stage 6, competition 5, async 4, recency 4, hiring 4.
Blockers#
Some facts cap the score however good the rest is: needs a visa (10), 5+ years required (30), senior title (35), onsite elsewhere (20), hiring not authorised (40), stale posting (40), overrated company (30), below the pay bar (35).
| Band | Score |
|---|---|
| high | ≥ 65 |
| medium | ≥ 48 |
| low | ≥ 30 |
| long shot | < 30 |
Needs briefs#
For the top roles, needs.py writes a brief: what the role actually needs, mapped line by line to the resume — each need either covered by something you did, or marked UNCOVERED. Drafts never claim an uncovered need.
The best role per company rolls up to the company. Every role, by market and band, is the Roles tab of Best bets; on 13 Oct 2026 the first run ranked 1,224 India roles (53 high, 280 medium) and 1,920 remote roles (28 high, 150 medium).
These scores and briefs are what the decision brain reads when it asks whether a role is open and whether the resume passes a screen — and the uncovered needs across the shortlist become Upskill's learning plan.