Browser-local practice backend
Maintainers usually reply within 1 day
@tony2037 is already working on this.
Since Nov 8, 2026.
Assessment
This issue has not been assessed yet.
Description
I have a working Windows/Edge prototype that approaches #330 from the browser side. Would this be welcome as an optional Practice + Editor backend?
Design
- Run interviewer turns through the browser's
LanguageModelPrompt API, using the current problem, code, recent conversation and actual test results as context. - Recognize English speech on device, using native local recognition or a checksum-pinned Whisper WASM worker. Use installed local voices for replies.
- Reuse the existing transcript, test runner and report UI. Store clearly labelled, unverified practice feedback only in device history.
Benefits
- No Gemini API key or additional inference server to configure.
- Model inference and speech recognition stay on the user's device.
- Model, speech, report validation and UI integration are separate ES modules, with no frontend build step.
Scope and evidence
This prototype supports Practice with Editor. LiveKit still transports media, and C/C++/Java execution still uses Compiler Explorer. Strict interviews, whiteboard assessment and server recording remain on the cloud path. Its simplified practice feedback does not implement the cloud assessment contract.
Windows/Edge has been exercised end to end. 327 targeted tests pass, including actual Whisper recognition with networking disabled. Chrome/Linux end-to-end validation and the complete gate remain pending; no quality or latency parity with Gemini Live is claimed.
Would you prefer this as a browser-local backend in CodeTrial, or an out-of-tree experiment alongside the server-side pipeline?
Also see:
- Dominant language
- Rust
- Stars
- 223
- Forks
- 148
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 223
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
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 1/5 Under an hour Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
Show recorded scores in past attempt rowsPossibly taken @liehcheng claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sysprog21/codetrial#604 · 4 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Remind the candidate when they speak while the microphone is mutedPossibly taken @gino1203 claimed this today. Open
sysprog21/codetrial#627 · 1 assignee ·
Maintainers usually reply within 1 day
-
The peer lobby stays on "Checking account..." when an invite link is opened with site data blockedPossibly taken @dges5202 claimed this today. Open
sysprog21/codetrial#626 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Add basic shape tools to the example drawing areaPossibly taken @Chuyutseng claimed this today. Open
sysprog21/codetrial#625 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
All issues in sysprog21/codetrial
Similar issues
-
needs-triage tooling
Difficulty 1/5 Under an hour Newbie friendliness 90/100
neilsh/stunt-reel#317 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
storytold/craft-fonts#65 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
storytold/craft-libs#723 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
n0-computer/iroh#4669 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day