Code Challenge
A VS Code extension for running live-coding and take-home interview challenges.
Enter the code your interviewer gave you, pick a folder for the project, then let the extension check
your toolchain and install dependencies. A live interview waits for its interviewer; a take-home
offers Start when setup is ready. The challenge files arrive only when the session starts, so the slow
part happens before the clock does. While it runs, the status bar keeps the remaining time visible and
turns red for the final five minutes.
How it works
- Enter your code. The Challenge Setup panel in the activity bar is where the session begins.
- Get the container ready. Setting up a challenge runs code its author wrote, including
whatever their dependencies run during install, so it always runs in a container — that keeps it
away from the rest of your machine. The panel tells you if Docker or the Dev Containers
extension is missing.
- Pick a folder. An empty one — VS Code reopens there, and may ask whether you trust it. Nothing
runs until you say yes.
- Check and install. The extension verifies the toolchain the challenge needs, then shows you the
exact commands it will run to install dependencies before it runs any of them.
- Start. For a live interview the panel waits for your interviewer; a take-home starts when you
click Start. The challenge files land, the timer begins, and the coding agent unlocks.
- Finish. Submit when you are done, or step away — both are recorded, and the files stay in your
folder either way.
Your work is recorded
The project folder is a git repository, and it is yours: commit and branch however you like. Your
commits are part of what your interviewer reviews, and every minute the extension also
saves a snapshot of the folder, so your work is safe even when you have not committed for a while.
Snapshots stay out of your way — your branches, your index and your uncommitted changes are left
exactly as they are.
Two commits are the extension's own, and both land before you write any code: one for the installed
environment, and one for the challenge files. They are there so your first commit sits on a clean
baseline, and so a diff shows your work and nothing else.
The panels
- Activity bar —
Code Challenge container with the Challenge Setup panel, where you set up,
start, and finish a challenge. It keeps this sidebar once the challenge starts, and its buttons
reopen the brief, swap in the file tree, and toggle the agent.
- Secondary sidebar —
Challenge Agent container with the Agent panel, where the coding agent
lives. Open it with ⌥⌘B / Ctrl+Alt+B. You can hold several conversations
with it: + starts one and ☰ lists them. They run in parallel — a dot beside a name means
that conversation is working, or has finished something you have not read. They last as long as
the challenge does.
Both are also reachable from the command palette, as Code Challenge: Open Setup Panel and
Code Challenge: Open Agent Panel, and the agent's button is
Code Challenge: Toggle Agent Panel.
Requirements
- VS Code 1.125 or newer.
- Docker, and the
Dev Containers
extension. Every challenge runs in a container, so both are needed.
- On Windows, a VS Code window on your Windows files or one connected to WSL. In WSL, Docker must
be available inside the distribution: turn on Docker Desktop's WSL integration for it, or
install Docker Engine there.