Skip to content
CtillionOpen the app
Take-home interviews, after agents

Grade the explanation, not the diff.

The candidate works in a real IDE next to an agent, and every move — theirs and the agent’s — lands on one timeline. Afterwards you scrub that timeline and ask them to explain their own moments.

The interviewer replay: a merged event feed showing an agent edit, a hand edit and an interrupt; a panel of four inferred proxies including an 83% hand-edit ratio; three debrief questions collected from flagged moments; and a scrubber whose ticks mark candidate events above the axis and agent events below.
The premise

Rotating assignments is a treadmill

Candidates use agents now. A take-home that grades the finished code measures something that no longer belongs to one person — and the industry’s answer, novel unsearchable assignments rotated every few weeks, is a treadmill you have to keep running forever.

So don’t grade the artefact. Record the session, then ask the candidate to explain their own moments: at 2:41, why did you stop the agent?

Someone who understands the answer can do that wherever it came from. Someone who cannot, cannot.

That dissolves the cheating problem instead of fighting it. Assignments can be public, reusable and boring. And the replay stops being a review surface an interviewer skims: it is the interview script.

The session

A real IDE, not a textarea

A single textarea is fine for a fizzbuzz and useless for a service. If the environment cannot carry a realistic assignment, the whole premise falls over.

A real editor
File tree, integrated terminal, language servers, working go-to-definition — on the same filesystem the agent operates on.
The agent beside the files
They pick a model from an allowed set and the choice is recorded. The harness is fixed: sessions that ran different harnesses are not comparable.
Nothing walled off
HTTP, DNS and package managers are open. Looking things up is fine — that is the point.
No hidden wall
Time remaining and spend both sit in the workspace header, so nobody runs out without seeing it coming.
The candidate workspace: a file tree, a Go source file open with syntax highlighting and a minimap, the agent chat panel docked on the right, and a header showing time remaining, spend so far and a Submit button.
Before the clock starts

The invite link opens the brief, not a spinner. Reading the README is what hides provisioning, and the clock starts when they press Start.

The invite page: the assignment brief on the left describing a flaky rate-limiter test, and a panel on the right to pick between two models, showing the environment is ready and a Start button.
The record

Both actors, one timeline

One flat event log, ordered by time, sealed on submit.

One minute of a session, as the log stores itcandidateagent
  1. 41:02prompt.sentmake the limiter safe under concurrency
  2. 41:07tool.callread · internal/ratelimit/limiter.go
  3. 41:19tool.calledit · internal/ratelimit/limiter.go
  4. 41:24tool.resultok · 34 lines written
  5. 41:31editor.openlimiter.go · dwell 48s
  6. 42:26editor.editlimiter.go · +4 −7 by hand
  7. 42:58terminal.rungo test -race ./... · exit 1
  8. 43:10agent.interrupt9s into the turn
Illustration · real event kinds, invented session
The candidate’s half
Prompts, interrupts, files opened and how long they stayed open, hand edits as diffs, go-to-definition trails, terminal commands and their exit codes.
The agent’s half
Replies, tool calls, tool results, tokens and cost.

The part that is ours to get right is attribution. When the agent writes a file, VS Code’s watcher fires and the candidate’s tab updates — so an agent write must never be recorded as editor.edit. Hand edits are the candidate’s, agent writes appear as the tool calls they were, and the hand-edit ratio stays meaningful.

The debrief

Six questions, not “talk me through your approach”

Scrub the replay, flag moments, and walk into the call with specific, evidence-anchored questions. Four inferred proxies point you at the six minutes of a ninety-minute session worth watching.

Post-write read latency
Did they open what the agent wrote, and how long did they stay?
Hand-edit ratio
How much of the agent’s output did they change themselves?
Interrupt latency
Did they stop a turn, and how far into it?
Verification independence
Did they run anything the agent had not proposed?

None of them is a score. They point at the minutes worth watching, and the timeline shows what happened there. The grading happens in the debrief, and everything before it exists to make that conversation specific.

How a session runs, step by step →

Request access

Ctillion is early. It is a working system rather than a finished product: one assignment shipped as a built-in, customer-authored assignments built from an uploaded Dockerfile, and no pricing page — because there is no pricing yet.

Accounts are issued by hand, one at a time, so every one comes with a conversation. Tell us what you hire for and what your current take-home fails to tell you.

Request accessor mail hello@ctillion.comalready have an account? sign in

Screenshots are the running application on the built-in assignment