Real environments
The services the job runs on. Described in one file.
Seven languages at pinned versions, PostgreSQL and Valkey inside the sandbox, and multi-service apps defined in one kendor.yaml. What the candidate runs is what the grader runs.
01
Seven languages, pinned. Several at once.
Each challenge pins its language versions in kendor.yaml, so a screen written in March grades the same in October. Add other languages beside the main one, the way a real backend and frontend sit together.
Versions offered today
- Node.js / TypeScript22
- Python3.12
- Go1.27 · 1.26
- Java21
- Rust1.98
- C++ (Clang)23
- PHP8.4 · 8.3
The main language plus any others this project needs. Each one gets its compiler, tools and editor support in the sandbox and when grading.
02
Databases inside the sandbox, clean for every grade.
PostgreSQL and Valkey (Redis-compatible) run next to the candidate's code, seeded from your SQL. Every grade starts from an empty database and your seed, so nothing a candidate left behind affects the result.
- Apps read DATABASE_URL and REDIS_URL, already set in every process
- Started before installs, in the editor and when grading
03
Candidates can extend it. The foundations stay yours.
A candidate can add a service or a route if their solution needs one, a worker for a queue, say. The runtime, the databases, the sandbox and the grading stay exactly as the author set them.
- Install, services, preview and routing apply after a sandbox restart
- Tests a candidate writes into kendor.yaml are dropped; grading runs yours
04
Docker, Compose and Kubernetes for platform roles.
For platform and DevOps hiring, the sandbox can run its own Docker daemon with Docker Compose, or a single-node k3s cluster with kubectl and helm. These are reviewed or live challenges: a person reads the work, and Kendor doesn't auto-grade it.
How it works
One file describes the whole environment.
Write or import kendor.yaml
Languages, databases, services, install steps, routing and preview, in a form or as raw YAML. Repo import fills in a first version from the project's files.
Try it as a candidate
Open the sandbox in the challenge editor, watch the services come up and run the tests.
Publish the screen
Every candidate boots from the setup saved with the challenge, at the versions it pins.
Questions
Is Valkey a drop-in for Redis?
For screens, yes. Valkey speaks the Redis protocol, so standard Redis clients connect to it unchanged, and REDIS_URL is already set.
Can a candidate change the language version?
No. The runtime, other languages, databases and sandbox belong to the author. Candidates can change how their own code installs, starts and is routed — add a service, a worker, a route — and grading always runs the author's tests.
Are Docker and Kubernetes challenges graded?
Not automatically. They run as reviewed or live challenges on the Enterprise plan; reviewers look at the work and record a verdict.
Is each candidate isolated?
Yes. Each one runs in their own locked-down container on dedicated sandbox servers, with internet for package installs but no access to Kendor's network or to other candidates. Grading re-runs with the network cut.
Which frameworks have starters?
React with Vite, Express with PostgreSQL and Valkey, Laravel, Flask, FastAPI, Go net/http, Spring Boot, Rust axum, a C++ CMake project, a mixed Java + Go + C++ service set, and single-file starters for every language.
More of Kendor
All features- Coding screensAsync take-homes in a real browser IDE, graded on a clean re-run.Read more
- Live pair codingOne link, one shared sandbox, a verdict from every interviewer.Read more
- InterviewsSelf-booking, invites that update in place, live review.Read more
- AI agentsClaude Code and Codex in the candidate's terminal, on your keys.Read more
- Repo importCloud or self-hosted Git, private repos too, one fixed snapshot.Read more
- EnterpriseAshby integrationAshby stages send the screen; results come back as fields.Read more
Run your next screen on Kendor. Read what the code says.
Kendor works with engineering teams in the EU, the UK and the US. Tell us what you're hiring for and we'll set up your organization with you.