A grader that reads code can be talked into a good score by code that reads well. Ours cannot, because it never reads the code. It runs the candidate’s system against real infrastructure and measures what happens — and that is a signal an AI assistant does not wash out, because the failures are in the behaviour, not the prose.
No AST parsing
We never grade your syntax
We do not grep the source or walk its AST for the “right” keyword or hook — the exact check a copilot defeats in one paste. Every score comes from running the system and watching what it does: the requests it makes, the rows it leaves in the database, the nodes it paints. A correct fix passes however it is written; a plausible-looking one that misbehaves under load does not.
Real Postgres, per attempt
The database is the arbiter
Backend challenges boot a genuine PostgreSQL in the sandbox. An N+1 is caught by counting the queries an endpoint issues and proving the count holds constant as the dataset scales — five hundred rows must cost the same as five. A locking fix is judged by the row state a real BEGIN/COMMIT leaves behind, not by whether the candidate happened to type FOR UPDATE.
Concurrency
We fire the launch-day spike
Race conditions do not reproduce one request at a time, so we do not test that way. We blast a booking endpoint with fifty simultaneous requests against a capacity of five and prove the database enforced the limit: exactly five succeed, remaining never goes negative, the rest get a clean 409. Overselling, double-charges and lost updates fail here the way they fail in production.
Network rules
Single-flight, enforced at the wire
Four widgets mount, four requests 401 at once, and a naive interceptor fires four token refreshes against a rotating token — locking the user out. We intercept the network and count: exactly one refresh may go out, and all four original requests must replay to success. Coalescing concurrent refreshes is the line between a resilient client and a self-inflicted outage, and we measure it rather than read for it.
Memory isolation
We inspect the DOM and the store
Session bugs live in memory, so we look there. We prove a signed-out user’s data never survives into the next session — not for a single render frame — by recording every frame the DOM paints, and that a restricted role’s rows are absent from the DOM entirely, not merely hidden with CSS. The token in browser storage, the store in memory, the nodes on the page: read directly.
Chrome DevTools Protocol
The browser testifies against the framework
Angular and Vue challenges run in headless Chromium and the engine itself is deposed over CDP: Runtime.queryObjects counts the component instances still reachable after garbage collection — fifty navigations must not leave fifty dead panels wired to a live stream — and a MutationObserver counts the DOM nodes one table insert actually cost: one row keyed by identity, 3,001 mutations keyed by index. Sealed call counters catch the fix that only moves the work: debouncing a reactivity storm passes the latency plane and fails the evaluation counter at 205,000 calls.
A real Docker daemon
We tear the image apart like an attacker
DevOps challenges grade against dockerd running inside the Firecracker sandbox — real builds, real layers, no egress. The candidate’s image is built, saved, and every blob of the archive scanned: a registry token “deleted” in a later RUN is recovered from the COPY layer that still ships it. Deploys are graded by a traffic generator that holds requests through the cutover and counts every drop, and migrations by pg_stat_activity sampled at 100ms — no query may wait on a lock past half a second while 500,000 rows move under live writes.
V8, asked directly
Garbage collection is a graded event
Game-loop challenges run headless under a hard heap budget while a PerformanceObserver records every collection V8 performs. An object-per-bullet spawn pattern churns 42,380 bytes per thousand shots and spends 289ms inside the collector; a pool churns 4,004 and spends 80ms — and a behaviour digest guarantees the fast version still plays the same game, so recycling a dirty slot scores zero, not full marks. Lockstep determinism is proven by replaying one match in four separate OS processes, snapshot-restore included, and comparing fifty checkpointed hashes.
The kernel’s own memory
Peak RSS, read from /proc
Streaming challenges spawn the candidate’s server as its own OS process and read VmHWM from /proc — the kernel’s high-water mark, immune to anything the code reports about itself. A buffering import grows 232MB across a tenfold file and dies inside a literal 64MB heap cap; a streaming one holds flat and finishes row-exact. The scaling law is the criterion: ten times the data may not cost materially more memory, measured on fresh processes because a high-water mark never comes back down.
Why it is a moat
Expensive to build, impossible to game
Spinning up a real database per attempt, firing concurrent spikes and inspecting the network and the DOM is a harder platform to build than a code box that shells out to a linter. That is the point: the same difficulty that makes it a moat is what makes its score one you can defend to a candidate, an auditor, or a court.