Docker-sandboxed judging with deterministic verdicts

Precision-built evaluation for competitive coding.

exec-d is a Codeforces-style judge that compiles once, executes per testcase, and reports verdicts you can trust. Built with Next.js, Express, BullMQ, and a hardened Docker runtime.

Submission
PENDING → ACCEPTED
Queue
BullMQ + Redis
Sandbox
Docker, no network
Submission #4821
Running
CompileOK
Testcase 01OK
Testcase 02OK
Testcase 03RUNNING
Verdicts update in real-time via the queue, with strict time and memory limits applied per testcase.

Architecture that stays legible under load.

Every submission is queued, executed inside a locked-down container, and reconciled with per-testcase results. No noise, no ambiguity—just deterministic outcomes.

Express APIBullMQ queueDocker sandboxPostgres state
Deterministic verdicts

Compile once, execute per testcase, and capture definitive outcomes.

Sandboxed execution

No network, strict CPU limits, and hardened containers by default.

Queue-aware scaling

BullMQ orchestration keeps spikes predictable and observable.

Submission flow
PENDING → RUNNING → ACCEPTED

A clean lifecycle that surfaces the exact verdict state.

Runtime visibility
Queue + worker telemetry

Track queue depth, worker health, and execution timings.

Security posture
No network, limited resources

Isolation-first defaults to keep untrusted code contained.

Start validating submissions with confidence.

Keep the judge predictable for participants and effortless for maintainers.

exec-d · Deterministic online judgeBuilt with Next.js, Express, BullMQ, Docker