See how candidates
work with AI.
Hour replaces the take-home test. A candidate spends one hour on a real task with AI. We record all of it, and you get a recommendation you can act on without an engineer.
Hiring a mid-level React frontend engineer?Python backend engineer?Next.js full-stack engineer?Vue frontend engineer?Go backend engineer?Django full-stack engineer?Angular frontend engineer?Node backend engineer?React full-stack engineer?
On its way.
Start with the scorecard. The whole session is behind it. The last link is the invitation the candidate opened, so you can sit the hour yourself before you send it to anybody.
You are on the list. We will not email you about anything else.
This is what came back about Sam, one candidate.
It says whether to move him forward, and why. Nothing on it needs an engineer to translate.
Every reason points to evidence from the session. The reason shown here happened 23 minutes in. Claude offered Sam a fix that would have turned his failing test green and stopped every filter in the table from working. He turned it down and said which rows would come back wrong. Most candidates take that fix.
See the session behind itThree steps.
Nobody on your engineering team has to look at anything until you have finalists. When they do look, it takes minutes, not an afternoon.
Tell us who you are hiring.
Choose the role, level, and stack. We choose the task and write it. There is no catalog to browse and nothing to configure.
Send the link.
The candidate works for an hour in the tools they already use. They see the task, the time limit, and what is recorded before they start.
Read what happened.
The scorecard says move forward or not, and gives the reasons in the candidate’s own words.
AI is part of the job. It should be part of the interview.
Most coding tests still make candidates switch the AI off and answer a puzzle from memory. Then they hire them into a job where the AI is always on.
Your engineering team can check it in minutes.
The scorecard links to the whole hour. Every prompt, every command, every test, and the final code, in the order it happened.
They need no account to read it, and they do not have to take our word for anything. Each reason on the scorecard is a link into the minute it came from, so checking it is clicking rather than searching.
Keep scrolling. This is where you are in Sam’s hour.
Making the bug happen
00:00of 60:00
Making the bug happen
He made the bug happen before he touched anything.
Two prompts and one command, and Claude was not allowed to edit until the failing rows were on screen.
One value, three rows. Two values in the same column, no rows at all.
Finding what broke it
Then he stopped reading and asked when it last worked.
One commit since 2.3 touched the filter bar. Reading the whole file would not have found it.
Stop reading the file. This worked in 2.3. Find the commit that changed the behaviour, and give me the commit itself, not a summary of it.
One commit since 2.3 touched the filter bar: allow multi-select on one column.
Fixing it without breaking the rest
Claude offered a fix that passes the test. He said which rows it would break.
Change one word and the failing test goes green. Most candidates take it.
The predicate requires every filter to match. Relaxing it to some makes the failing test pass.
That switches every filter to OR, so a row matching only status would pass. Values inside one column are OR. Different columns are AND. Try again and keep my test.
Proving it works
Claude said a case could not happen. He wrote the test for it anyway.
The suite was green and he kept going. The question was about the code he had just written, not the bug he was given.
It cannot happen. The groups are built from the filters themselves, so a column with no values is absent rather than empty.
44 passed, including the case Claude had said could not happen.
Handed in
Handed in at 51:04, with nine minutes he did not use.
Nine lines changed in the filter, twenty two added in tests, and a commit message he wrote himself.
filters: OR values inside a column, AND across columns. Selecting two values in one filter returned no rows, because every filter in the list had to match. Fixes #412.
All sixty minutes. Every mark is one thing he typed, ran, or tested. The two hollow ones are the two times Claude got it wrong, and the mark right after each is what he did about it. Move across the picture to read any of them.
- prompts
- commands
- tests
- final code
- Claude got it wrong
Candidates know exactly what is being recorded.
- They see the task, the hour, and who will read it before anything starts.
- They work in their own editor. They do not need their own AI subscription. We cover it for the hour.
- What is recorded is a list: what they type to the AI, what they run, and what comes back. Not their screen.
- They read their session before they hand it in. If they never send it, you receive nothing.
- Everybody gets an answer. A candidate who does not move forward gets a short letter drawn from their own session, sent from your recruiter’s address.
See one before you send one.
A finished session, the scorecard on top of it, and the link the candidate opened.
On its way.
Start with the scorecard. The whole session is behind it. The last link is the invitation the candidate opened, so you can sit the hour yourself before you send it to anybody.
You are on the list. We will not email you about anything else.