Utkrusht · Recruiter · Design

Résumé Fit — the recruiter flow

From a position to a ranked shortlist. Live = the actual product today (real screenshots); New = the proposed additions for the Fit Score, which runs before the assessment. No confirmation screen — we infer the evaluation context, rank, and only then ask if you want to change anything.

1 · Create & publish 2 · Add résumés 3 · Processing (infer + rank) 4 · Position page — ranked cards 5 · Fit signals on the profile card 6 · "What we assumed" — adjust

STEP 1Create & publish the position Live

The existing wizard (name → skills → details → review) captures band, skills & priorities, and the JD. Then Publish.

Review your position screen

Actual screen — "Review your Senior QA Engineer position" → Publish.

Your assessment is ready confirmation

Actual screen — the "Your assessment is ready!" confirmation, with Upload candidates database.

STEP 2Add résumés — no preferences screen Live Changed

The existing Add candidate → Upload Resumes modal (PDF · up to 10 · 10MB each). No "Rank" button — and no confirmation screen. Uploading auto-starts the ranking.

We no longer ask the recruiter to confirm the evaluation signals. The old "Confirm your preferences" screen (min years · environment · candidate type) is gone. We infer the whole evaluation context — seniority band, environment lens, domain, min-years — from the JD plus a website crawl, and rank straight away. If we got something wrong, the recruiter fixes it after seeing the results (STEP 6), not before.

Add candidate — Upload Resumes modal

Actual screen — the Upload Resumes modal.

STEP 3Processing — infer context, then rank New

The moment résumés are uploaded, we silently build the evaluation context (band · environment · domain · min-years, from the JD + site crawl) and start ranking. A small widget appears fixed at the bottom-right and stays there while it runs — the recruiter keeps working anywhere in the app, no waiting screen, no questions asked up front.

⟳  Ranking résumés — Senior QA Engineer
14 of 24 scored · ~40s left

While running — persistent, bottom-right, updates live.

When it finishes

✓  24 résumés ranked
7 Strong · 9 Potential · 8 Weak
View ranked candidates →

Done — the widget shows the result and a button that opens the position page, where the ranked cards live.

STEP 4The position page — ranked cards Live + Fit

The button lands on the existing position page. Every candidate is already a card with a circular Score gauge, a status, Select / Reject, and a View Assessment button. For Fit, the gauge shows the Fit Score (colored by bucket), the list is sorted Strong → Weak, and each card gains a bucket pill + the high-confidence signal chips — the same chip shape as the network / location chips already on the report.

Position page — each ranked card shows a Fit bucket pill and high-confidence chips

Proposed on the real cardsRohan Mehta leads with a green ● Strong fit pill + Playwright ✓ · 6 yrs QA (and the existing Location differs from profile chip sits right alongside); Ananya Iyer shows an amber ◐ Potential fit + Selenium ✓ · 4 yrs QA. Only high-confidence signals appear; each opens the details. (Candidate names shown are placeholders.)

STEP 5Fit signals live on the profile card New

No separate Fit report and no click-through modal. The résumé signals surface right on the task-report profile card — in the same tag row that shows the Location differs from profile chip. We lead with a bucket pill and show only the high-confidence signals (never all 14). Hovering any chip explains that one signal — what we found, how confident we are, and the evidence behind it; the bucket pill's hover gives the overall verdict. Silent when we aren't sure.

Task report profile card with Fit signal pills in the tag row (redacted)

Proposed on the real card — the green ● Strong fit pill plus high-confidence chips (Playwright ✓, 6 yrs QA automation, Built a framework) in the tag row beside the location chip; a warning-tone ⚠ Mobile / Appium gap flags a risk. Hovering a chip pops that signal's detail + Confidence + evidence (drawn here on the 6 yrs QA automation chip).

Every chip explains itself on hover — no modal

Each popover is drawn straight from the stored signal record: its detail, confidence, and the evidence rows (source → quote). Here is the hover for every chip on the card above.

● Strong fit — overall
Fit Score 88 · Strong fit
Recommendation: Shortlist → invite · Confidence: High
Clears the senior bar on skills, experience and ownership; one preferred-skill gap.
Playwright ✓ — Required skill match
5 / 6 required skills matched
Confidence: High · core signal · +21 pts
resume · skillsPlaywright, Selenium, Cypress & REST API across 3 roles
6 yrs QA automation — Relevant experience
6.1 yrs QA automation — above the senior bar
Confidence: High · core signal · +18 pts
resume · experienceSDET at last company; 3 QA roles 2019–2025
Built a framework — Ownership
Built & owned an automation framework
Confidence: High · core signal · +11 pts
resume · projectDesigned a Playwright POM framework adopted team-wide
⚠ Mobile / Appium gap — Risk
No Appium / mobile testing
Confidence: High · preferred skill, not mandatory · trims fit
resume · absenceWeb-only automation; no mobile evidence anywhere

Every chip's hover is one signal from the stored signals[]detail + confidence + evidence. The bucket pill's hover carries the aggregate (fit_score · bucket · recommendation). No click, no second screen.

Only what we're sure about shows. A chip appears only at High confidence; anything thinner (Medium / Low / Unknown) stays silent rather than inventing a weak signal — the same discipline the network-signal chips use (a null check never earns a chip). The evaluation context we assumed (band · environment · domain · min-years) and the Adjust control live in STEP 6, not in a modal here.

STEP 6"What we assumed" — adjust after results New

Because we never asked up front, we show what we inferred once the results are in — and let the recruiter correct it. It lives in two places: a strip at the top of the position page (the shared context), and the Adjust → shortcut inside every Fit-details modal, which deep-links to the same strip.

Evaluated as Senior · Enterprise · high-ownership · HR-tech · 5+ yrs
Adjust & re-rank →

Proposed — the strip at the top of the ranked list. One line, dismissible, always correctable.

Adjusting — the controls we used to ask up front, now optional

Senior QA Engineer › adjust evaluation
Change what we assumed
Editing re-runs the ranking for all candidates and re-orders the list.
Role
5+min years of experience
Environment inferred from the site
Candidate
Only opens if you choose to adjust.Re-rank →

Proposed — the same checkbox + stepper controls from the old confirm screen, but they now appear after the results, only if the recruiter wants to change something.

Rule of thumb: Fit Score filters the inbox (résumé, before the test); the assessment score grades the test (after). We assume, rank, then let you adjust — the confirmation step became an optional correction.

Utkrusht — internal design · the recruiter flow for résumé Fit Score