Eigen-Rho
Built and deployed a live SQL interview platform that grades each answer by running it on Postgres (PGlite), with its own schema and read-only role per case; load-tested at 20 concurrent distinct cases with 0 errors, a 14 ms p95 and about 1.2 GB of memory.

The problem
A data interview should grade the query a candidate writes, not a model’s opinion of it. I wanted every SQL answer run on a real Postgres engine and compared with the right answer, with each case fenced off from the others.
How it is built
A candidate’s query runs on the server against a seeded database and is compared with the right answer. The model never decides a grade.
One shared Postgres engine (PGlite) hosts every case as its own schema with its own no-login role, so memory grows with the number of distinct cases, not the number of sessions.
- Candidate’s queryWritten in the interview.
- SQL workerQueues the query for the shared engine.Fixed here
- One shared PGliteEvery case lives in the same engine.
- Schema and role per caseA case can only read its own schema.
- Compare result setsThe answer’s rows against the right answer’s rows.
Lesson
Pushed is not live. Nothing merges to main without an end-to-end test.
What broke, and the fix
In the step SQL worker
Before the fix
every session waiting on one shared engine build counted as a build, so 30 cold starts on one case tripped the recycle limit: 0/240 OK
After the fix
count one build per engine actually created: 240/240 OK, 0 recycles, p95 30ms
Caught by my load test. Fixed and shipped. 5d3f8d9, 2026, private repo
Run it here
A stand-in written for this page with made-up cases. Eigen-Rho’s code is private.
Running it needs JavaScript. Everything above reads without it.
Loading the bench