Skip to main content
Scoring7 min read

Set requirements and levels

You pick the requirements for the role and set a level on each. The JD is scored against too. Questions adapt to the answer. The score comes back on the requirements you chose.

Before you start

  • A job with a real job description on it, not a placeholder.
  • A shortlist of the requirements the role is actually hired on.
Steps

5 steps, in order.

1

Pick the requirements

Open the job and go to Requirements. Press Add Skill to add a row, or press Suggest requirements to have it read the JD and fill the rows. Until you do either, the empty state tells you to click Add Skill to start. You review the list before anything is saved. Keep the requirements you will genuinely ask about and remove the rest with the X on each row.

Create role
Requirements
Step 2 of 3
Candidate requirements * Add Skill
Weight each skill 0-100. At least one must be 60 or above.
Go
90
PostgreSQL
80
Distributed systems
75
AWS
65
API design
55
Kafka
50
Terraform
40
Kubernetes
35
Suggest requirements60 and above is a must-have, 30 is a nice-to-have.
BackContinue

Candidate requirements, each row with a level dropdown, generated from the JD and edited by you before saving.

  • Six to ten requirements is usually enough. A list of thirty leaves nothing to separate candidates on.
2

Set a level on each requirement

Each requirement carries a level, picked from the dropdown on its row. The level is how you say what the role stands or falls on. A backend job puts system design and SQL at the top level and drops a nice-to-have framework lower.

  • There is no percentage and no slider here. The level on each row is the whole of the weighting.
3

Set up the JD, because it is scored against too

The job description is the second input. Answers are scored against the JD as well as the requirements. This is why a two line JD produces a weak score and a JD with real responsibilities, a real stack and a real seniority produces a useful one.

  • If you paste a JD from another role and forget to edit it, candidates are scored against that other role.
4

Let the questions adapt to the answer

During the interview the follow-up questions are built from what the candidate actually says. A vague answer gets probed. A specific answer gets pushed further. That happens whether you picked the questions yourself or took the suggested set.

Coding assessment
Sandboxed coding test
16:07 End
1Coin Change (Minimum Coins)
Python 5 of 5 passed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def min_coins(coins, amount):
dp = [float("inf")] * (amount + 1)
dp[0] = 0
for c in coins:
for x in range(c, amount + 1):
dp[x] = min(dp[x], dp[x - c] + 1)
if dp[amount] == float("inf"):
return -1
return dp[amount]
 
# greedy fails on coins like [1, 3, 4]
def solve(lines):
n, amount = map(int, lines[0].split())
coins = [int(t) for t in lines[1].split()][:n]
return min_coins(coins, amount)
 
if __name__ == "__main__":
print(solve(sys.stdin.read().splitlines()))
5/5test cases passedComplexity O(n·k)
Sample 112ms
Sample 29ms
Edge: no solution11ms
Large amount31ms
Single coin8ms
Custom input (optional)
stdin for a manual Run
Run Submit

A live round. What the candidate does here is the evidence the score is built from.

5

Read the score back on your own skills

The report breaks the score down by the skills you chose, with a bar per skill. Every part of it traces back to the transcript, the code the candidate wrote, the requirements you set and the job description. If a skill looks wrong, open the transcript and check the answer behind it.

EH
Python engineer
Jordan Blake
Download PDF
OverviewAnalysisSubmissionsResume Notes
Flagged for suspicious behaviour3 signals
78Score
Overall performance
Good fit for roleCodingRound 2 of 3

Strong Flask expertise, one unfinished task.

Skill breakdownWeighted against the JD
Flask / REST APIs88
Code quality79
System design74
Communication71
Report summaryPrompt: Flask API over an Elasticsearch job index

Nine years on Python backends, mostly Flask and REST. Built the search route cleanly, then stopped short of the Elasticsearch query and said so.

Strengths
  • Flask structure modular routes, CORS, jsonify
  • Production caching Redis layer, eviction reasoning
Areas for growth
  • Elasticsearch query and relevance sort unfinished
  • Distributed locks named deadlocks, not the fix
Responses to screening questions
Okay working from the office five days a week?Yes.
Notice period with your current employer?30 days, can be bought out.
Misconduct events
Tab switch × 2Multiple monitors × 1
Resume scoreResume.pdf37
Recording16:41, transcript 96 lines

The skill breakdown on the report, scored from the transcript and the code.

What you get

At the end of this guide.

A requirement list you chose, each row carrying its own level.

A level per requirement that says how much it matters.

A JD that is used as scoring input, not just as an advert.

A per-skill score on every report, traceable back to a line in the transcript.

Common mistakes

What goes wrong, and the fix.

Putting every requirement on the same level.

If everything is Critical, the score cannot tell a strong hire from an average one. Pick the two or three that genuinely decide the role.

Keeping a requirement you never ask about.

Either add a question that tests it or remove the row. A requirement with no evidence behind it is noise.

Reusing a JD from a different seniority.

Edit the JD before you interview. It is scoring input, so the wrong JD scores the wrong role.

Arguing with a score without opening the transcript.

Every score traces to evidence. Open the Analysis tab and read the answer it came from.

FAQ

Questions people ask on this one.

Still stuck? Talk to us and we will walk through your setup.

Try this in your own workspace.

The 30-day trial includes 75 Hire Credits, which covers a resume batch and a first round of interviews. Nothing charged for 30 days.

30-day free trial with 75 Hire Credits. Card required, nothing charged for 30 days.