Interviews and tests overview
EasyEnv lets you build a technical assessment once and send it to candidates as a live or asynchronous experience. The same recipes that power your dev environments power the candidate environment.
Tests vs interviews#
EasyEnv splits the assessment workflow into two objects:
- A test is the reusable definition: the questions, the hands-on challenges, the time limit, the scoring rubric. You build a test once and reuse it across every candidate for that role.
- An interview is a single instance of a test sent to one candidate. It has a start time, a deadline, a candidate identity, and (after completion) a result.
Live vs offline#
| Field | Type | Description |
|---|---|---|
| Live | synchronous | You and the candidate share one workspace in real time. Built-in Jitsi video, shared terminal, shared cursor in VS Code. Best for senior or final-round interviews. |
| Offline | asynchronous | The candidate gets their own workspace with the test attached. They complete it on their schedule, you review the recording later. Best for take-homes and screening rounds. |
What candidates see#
A candidate clicks the link from your email and lands on a branded intro page (your logo, your colors). They consent to the recording notice, then enter the workspace. The instructions are pinned to a side panel; the machines you configured are running on the right.
For live interviews, your face appears in a Jitsi tile and your cursor appears in their editor. For offline tests, they hit Submit when done.
What's recorded#
- Screen replay via rrweb: every UI action the candidate took, replayable as a video.
- Terminal cast via asciinema: every keystroke and every byte of stdout in every terminal they opened.
- File diffs: a snapshot of the repo state at start and submission.
- Question answers for any text-based questions in the test.
Privacy
Candidates always see a consent banner before the recording starts. Recordings are stored against the account that sent the interview and are subject to your account's data retention policy.
