Add a whiteboard interview mode
@ColtenOuO is already working on this.
Since Sep 19, 2026.
Assessment
This issue has not been assessed yet.
Description
I would like to propose a new feature: Whiteboard Interview Mode
Motivation
Many real algorithm interviews are held at a whiteboard: the candidate explains the approach by drawing, traces an example by hand, and ends with handwritten pseudo-code. CodeTrial only offers the editor-and-tests format today, so there is no way to practice explaining an algorithm without a compiler to lean on.
Proposal
A separate mode, chosen in the lobby next to the duration and the interview loop. A whiteboard interview has no editor, no starter code and no test runs; it uses the same problem bank, taking only the statement and examples.
Board
Replaces the editor and test panels. Pen, eraser, undo/redo, clear and a few colors, on a fixed-size scrollable canvas so the interviewer always sees the whole board. Mouse input only for the first version. Strokes are kept as vectors, not pixels.
How the interviewer sees it
After each stroke settles (about one second of debounce), the board is exported as a JPEG and sent over the data channel to the agent, which forwards it to Gemini Live as a realtime image. The existing camera frame path is off by default and holds a single slot, so the board gets its own path rather than sharing it. A read_board tool, like read_editor, lets the interviewer ask for the latest board.
Interview flow
Repeat, Examples (drawn), Approach (drawn), Trace (walk an example through the drawing, in place of Code), Edge cases and complexity (in place of Test and Optimize), and a final handwritten pseudo-code step.
Report
The transcript plus the final board image, graded on clarity, trace correctness, edge cases, complexity and the pseudo-code, still against the problem's optimal and pitfalls. The report request is text-only today and would need to carry an image.
How a board reaches the interviewer
flowchart LR
stroke["Stroke ends"] --> debounce["Debounce about 1s"]
debounce --> jpeg["Export JPEG"]
jpeg --> channel["Data channel"]
channel --> agent["Agent"]
readboard["read_board tool"] --> agent
agent --> gemini["Gemini Live, realtime image"]
- Dominant language
- Rust
- Stars
- 54
- Forks
- 8
- Avg merge
- 9h 41m
- Merged PRs (30d)
- 43
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sysprog21/codetrial
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Difficulty 3/5 1-2 days Newbie friendliness 72/100
All issues in sysprog21/codetrial
Similar issues
-
risk:low runtime status:in-progress type:test
Difficulty 1/5 Under an hour Newbie friendliness 92/100
zeroclaw-labs/zeroclaw#11023 ·
-
good first issue refactor
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
EricSpencer00/Resilient#4835 · 1 comment ·
-
agent:ready documentation
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
cesarferreira/stax#890 ·
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 90/100