HyrenetX
Hiring assessments for the age of coding agents

Everyone uses the agent. We watch how.

A take-home test now tells you whether the code is good. HyrenetX tells you whether the person is. Candidates work in a real sandbox with a real coding agent. Then they explain their own code without it. You get the evidence behind every mark.

Invite-only. Candidates never need an account.
Sample report · anonymised
FSD Intern
Understood the work, ran out of time.
Final score49/100
What they built
27%
judged by a model
What they can explain
10 / 10
deterministic, no agent
What we observed
3 pastes
observed only, never scored
DecompositionPrompt qualityContextOversightVerificationRecoveryCode qualityError handling
The problem

Ranked by score, the top eight were the wrong eight.

We reviewed how a live cohort of 61 students completed a full-stack assessment this month. The candidates with the highest raw scores were the ones who understood the least. A score on its own can't tell you who did the thinking.

41 of 66
sittings where prompts were pasted in, not typed
215
characters in an opening prompt two candidates shared, word for word
8 of 8
top scorers who fell away once we looked at how the work was made
1
top scorer who wrote almost none of it themselves
How it works

One assessment per role, from job description to decision.

01
Set it up from your JD
Pick a task from the library or bring your own repo. Attach the job description and we pull out the requirements the task can test.
React stateDebuggingREST designTests
02
Candidates work with the agent
They open a personal link. No account, no password. A real sandbox, a real coding agent, and a timer. Using the agent is expected.
60:00 · sandbox · agent on
03
Then they defend it
After submitting, they answer questions about their own code. The agent is off and marking is the same every time.
8 questions · 10:00 · agent off
04
You review and decide
Each report keeps three readings apart, says how sure we are, and links to the evidence. A person makes every decision.
advance · hold · reject, with a reason
The report

Evidence you can defend, not a verdict you have to trust.

Marks · rubric v2.4
Prompt quality
0.15
measured from 34 prompts
Oversight & steering
0.13
measured
Revert bug actually fixed
pass
hidden check, measured
Error handling
~0.18
judged by a model, less certain
Recovery & iterationNot graded. Excluded, not zero.
Rejected the agent's first fix and explained why.00:21:40
1
One final score, and what it is made of
One number to rank on, with what they built, what they can explain and what we observed shown beside it. A high score can't hide a candidate who doesn't understand their own code.
2
Every value says how sure we are
Measured and deterministic results have a solid line. Anything a model judged has a dashed one, so you know where to look twice.
3
"Not applicable" isn't zero
If something didn't come up in a session, it's left out of the total, and the report shows it clearly.
4
Every mark links to its evidence
Click through to the exact prompt, diff or defence answer. Observations like pastes are shown, but never scored.
See the whole person

Charts that show how they work, each on its own scale.

A spider chart of how they worked with the agent, compared with the median for everyone who took the same test. Where they sit on each reading. How they spent their time. Each is drawn on its own scale, under the one final score.

Working with the agent
DecompositionPrompt qualityContextOversightVerificationRecoveryCode qualityError handling
Blue: this candidate. Dashed: the median for this assessment. Hollow points were judged by a model.
Where they sit · 41 in this assessment
What they built27% · 38th
What they can explain10/10 · joint 1st
Prompt quality0.75 · 9th
Ranked separately on each reading. Someone near the bottom on output can be near the top on understanding.
How they spent 48 minutes
Reading6 min
Prompting14 min
Reviewing12 min
Testing9 min
By hand7 min
measured from workspace events
Built around the role

Every role gets its own workspace.

Your home screen shows what's waiting on you across all your open roles. Open an assessment and everything for that role is in one place, from the first invite to the final shortlist.

Live · closes Fri 3 Oct · JD attachedFSD Intern
Review 7 candidates
OverviewCandidatesCompareShortlistManage
7 candidates need a decision. For 3 of them, output and defence tell different stories, so start there.
Riya IyerUnderstood it, ran out of time27%10/10★
Arjun KhanCan't explain what they shipped80%4/10☆
Neha ShahConsistent across all three82%10/10★
Overview
Progress at a glance: who has submitted, who is working now, and what's waiting on you.
Candidates
Ordered by what needs your attention, not by score. Select any rows to compare or shortlist them.
Compare
Two to four people side by side, with the same rows. Final scores on top, and the rows that make them underneath, so differences are obvious.
Shortlist
A board where every card keeps its reason. Share it with the hiring manager as a link or PDF.
Manage
Brief, environment, marking, invites and schedule, with a history of every change.
Job description fit

Attach the JD and see who fits it.

We read the requirements in your job description and link each one to the evidence that can show it. The candidates tab then groups people by how many requirements they showed evidence for.

Suggestions, not decisions
Nobody is ranked out. You still see every candidate.
Honest about gaps
If the task can't test a requirement, we say so and don't count it.
Marks stay the same
JD fit is a separate view. It never changes a score.
Personal details ignored
Lines about location, age or education are never used as requirements.
Against the job description
Evidence for 2 of the 4 requirements this task can test, and part of a third.
read from the JD by a model
Manages client state in Reactdefence Q1, Q3
Shown
Debugs across front end and API00:21:40
Shown
Designs clean REST endpointsdiff
Partly shown
Writes automated tests
Not shown
Works with Postgres
Not in this task
Compare and shortlist

From 41 submissions to 3 names you can explain.

Compare close candidates row by row. Add the ones you want to a shortlist with your reason attached, then send it to the hiring manager. They see the same evidence you did.

Riya Iyer
Understood the work, ran out of time.
27%
Built
10/10
Explains
Priya: Best understanding in the cohort. Time, not skill, was the limit.
Neha Shah
Solid across the board.
82%
Built
10/10
Explains
Priya: Consistent on every reading.
Shared with the hiring manager
They can view the shortlist and linked reports, and leave comments. The link expires when you choose.
Every decision keeps its reason
Every reason links to evidence
Every change is logged
For candidates

Fair to the people taking it.

No account to create and no tricks. Candidates are told what's recorded before they start, and a person reviews their work.

The link is the login
A personal link arrives by email. They confirm their name, and that's it.
Told what's recorded
Screen stills and camera, with consent, explained before the timer starts.
The agent is allowed
We say it plainly, so no one wastes the first ten minutes wondering if it's a trap.
They can ask why
Every decision has a reason and evidence the company can share on request.
What we will never do

The rules behind every screen.

Merge the readings into one score
Output, defence and observations always stay apart.
Count "not applicable" as zero
Anything that didn't come up is left out of the total, and shown as left out.
Score an observation
Pastes, tab switches and matches are shown for context. They never change a mark.
Make the decision for you
There's no automatic reject. A person records every decision, with a reason.
Hide how sure we are
Anything judged by a model is labelled as a judgement, everywhere it appears.
Change marks without telling you
Every edit to marking is logged, and re-marking is always your choice.
Console or API

Use the console, or connect it to your ATS.

Create sittings from your applicant tracking system and get reports back by webhook. The console and the API share the same reports, rules and audit trail.

# create a sitting
POST /v1/sittings
{ "assessment": "fsd-intern",
  "email": "r.iyer@college.edu" }
→ 201 { "invite_url": "https://…" }

# when the report is ready
webhook report.ready
webhook decision.recorded

Request access

We onboard a small number of hiring teams each month. Tell us where to reach you and we'll reply within two working days.

We never share your email.