System design interview tool beside VS Code_

Codility Interview runs the system design whiteboard and a VS Code workspace with a terminal in the same live session. Your interviewers score the design and the code against one rubric.

Request a free trial

The Codility team contacts you to set up trial access.

System design interview Senior backend engineer · Alex Chen
38:12
AC MR TK
End interview
dock_to_right ‹1› ‹2› gesture auto_awesome checklist edit_note shield
gesture Whiteboard Design an order service
Clientweb + mobileOrder APIvalidate, authorders queueat-least-onceWorkerconsume + insertDLQafter 5 retriesfailPostgresorders (id PK)idempotency key = order idINSERT … ON CONFLICT(id) DO NOTHINGsync write = couplingnext: partition by region, read replica for reportingACMR
worker.py test_worker.py
6 def handle_order(message):
7 order = json.loads(message.body)
8 with get_connection() as conn:
9 conn.execute(
10 "INSERT INTO orders (id, user_id, total) "
11 "VALUES (%s, %s, %s) ON CONFLICT (id) DO NOTHING",
12 (order["id"], order["user_id"], order["total"]),
13 )
14 message.ack()
TerminalOutput
alex@interview order-service $ pytest tests/test_worker.py -q
… [100%]
3 passed in 0.41s

Trusted by global organizations including GitHub, SpaceX, Tesla, EY, LSEG, SAP and Barclays.

citi
G2 Leader, Enterprise, Fall 2026 G2 Leader, Mid-Market, Fall 2026 G2 Best Estimated ROI, Enterprise, Fall 2026 G2 Most Implementable, Enterprise, Fall 2026

Codility is a G2 Leader in Technical Skills Screening, rated 4.6 out of 5 from verified customer reviews.

Today’s failing approach: a separate diagram tool for the design round

Challenge 1:Design and code in separate tools

When the design discussion runs in a diagram tool, the coding usually happens in another tool or a second interview. The second session adds interviewer hours to each senior hire. The interviewer who heard the design often does not see the candidate build any part of it.

Challenge 2:Different standards for each interviewer

Without shared criteria for the design round, two interviewers can score the same architecture at different levels. The hiring committee then has to reconcile two different opinions.

Challenge 3:Only notes after the round

After the round, the sketch stays in the diagram tool, separate from each interviewer’s notes. The hiring committee compares those notes with no shared record.

Run the system design round in Codility Interview

Codility Interview is a live technical interview platform for engineering teams. Your team brings the design tasks it already uses for senior and backend roles. Codility provides the environment and the session record.

Sketch the architecture on a shared whiteboard

  • check_circleThe candidate and your interviewers draw on one shared whiteboard for system design interviews in real time.
  • check_circleCandidates can open the whiteboard inside the interview, with no extra tab, sign-in or IT allowlisting.
  • check_circleExcalidraw runs the interview whiteboard. Candidates who practice system design on Excalidraw already know its tools.

The difference: Your interviewers spend less of the round on tool setup and more on the reasoning behind design decisions.

dock_to_right Tasks ‹1›Warm-up ‹2›Order worker System design gestureWhiteboard Tools checklistSkills evaluation edit_noteNotes & Questions
Whiteboard Live
2 people drawing
AC MR
Design an order serviceClientweb + mobileOrder APIvalidate, authorders queueat-least-onceWorkerconsume + insertDLQafter 5 retriesfailPostgresorders (id PK)idempotency key = order idINSERT … ON CONFLICT(id) DO NOTHINGsync write = couplingnext: partition by region, read replica for reportingACMR
description search database
Explorer
expand_moreorder-service
db.py
queue_client.py
worker.py
expand_moretests
test_worker.py
Databases
databasePostgreSQL Connected
worker.py test_worker.py gestureWhiteboard
1 import json
2 from db import get_connection
3 from queue_client import consume
4
5
6 def handle_order(message):
7 order = json.loads(message.body)
8 with get_connection() as conn:
9 conn.execute(
10 "INSERT INTO orders (id, user_id, total) "
11 "VALUES (%s, %s, %s) ON CONFLICT (id) DO NOTHING",
12 (order["id"], order["user_id"], order["total"]),
13 )
14 message.ack()
15
16
17 if __name__ == "__main__":
18 consume("orders", handle_order)
TerminalProblemsOutput
alex@interview order-service $ pytest tests/test_worker.py -q
… [100%]
3 passed in 0.41s
alex@interview order-service $

Build part of the design in the VS Code workspace

  • check_circleThe candidate can build one component of the design in the shared VS Code workspace.
  • check_circleYour interviewers can attach a database, including PostgreSQL, MySQL, MongoDB and Redis, to test the candidate’s data model.
  • check_circleYou can follow each edit, each test run and the candidate’s AI activity during the session.

The difference: You see whether the candidate can implement the design they proposed.

Score the design round against one rubric

  • check_circleYour team sets the rubric criteria for the design round, including requirements, data model and trade-offs.
  • check_circleThe whiteboard becomes read-only when the interview ends and stays available for your team to review.
  • check_circleRecording, transcript and playback, when configured, let your interviewers revisit the candidate’s reasoning.

The difference: The hiring committee compares rubric scores and the saved design before the final decision.

Request a free trial
arrow_back
Alex Chen System design interview · Senior backend engineer
Completed
play_circlePlayback subjectTranscript
checklist Skills evaluation Design round
CriterionMaya R.Tom K.
Requirements Scope, constraints, scale
3 / 4 3 / 4
Data model Schema, keys, consistency
4 / 4 3 / 4
Trade-offs Queue vs. sync, failure handling
3 / 4 2 / 4
Implementation Worker built and tested
4 / 4 4 / 4
infoScored on the rubric your team set for this task.
gesture Whiteboard
Design an order serviceClientweb + mobileOrder APIvalidate, authorders queueat-least-onceWorkerconsume + insertDLQafter 5 retriesfailPostgresorders (id PK)idempotency key = order idINSERT … ON CONFLICT(id) DO NOTHINGsync write = couplingnext: partition by region, read replica for reporting
Saved when the interview ended.
Session record
videocamRecording subjectTranscript replayPlayback

Questions about system design interview tools

What is a system design interview tool?

A system design interview tool is software for running a technical interview’s system design round on a shared whiteboard. Codility Interview is a system design interview tool with a whiteboard and a VS Code workspace in the same session.

Try a system design round with a task you already use_

Bring a design task from your current interview loop and run it in Codility Interview.

Request a free trial

Request a free trial

Bring a design task from your current interview loop and run it in Codility Interview.