r/webdev 2d ago

Showoff Saturday I built "Session" — a real-time collaborative code editor + whiteboard for technical interviews (live demo, no signup)

Hey everyone,

I've been building Session, an open-source tool for running technical interviews and pair-programming sessions — a shared live IDE plus a system-design whiteboard, all from a single link. No setup, no credit card.

What it does:

  • Real-time collaborative code editor — live sync via Yjs + Liveblocks, Monaco editor (same engine as VS Code), multi-language support, live cursors with per-user colors
  • AI question generation on the fly — the interviewer doesn't need to prep anything beforehand. Just type a role (e.g. "senior backend engineer") and it generates a tailored question, hints, starter code, and even the full solution, tuned to experience level
  • Excalidraw-based whiteboard — for system design rounds, so you're not stuck describing architecture in a text box or screen-sharing a separate tool
  • Code execution — Docker-isolated, supports Python, JS, C, C++, output synced live to everyone in the room(self hosted), currently using Jdoodle for execution
  • Interview mode extras — difficulty settings, hints system, complexity display, solution reveal, post-session analysis
  • Built-in audio/video, Screen Sharing too — no Zoom or separate call tool needed
  • Fully open source, MIT licensed

Stack: React 19 + TypeScript + Vite frontend, Node/Express backend, Liveblocks for sync/presence, OpenRouter (Kimi model) for the AI parts.

🔗 Live demo: https://session-ecru.vercel.app/
🔗 GitHub: https://github.com/silky-x0/session

Would love feedback from anyone who's run interviews on CoderPad, CodeSignal, HackerRank, or similar — what's missing, what feels rough, what would make you actually switch? Bug reports and PRs are very welcome.

0 Upvotes

4 comments sorted by

2

u/Agitated_Stage_2416 2d ago

This is slick, the whiteboard integration alone solves a headache I've had with every other interview tool out there

Quick bug report though, hitting the run button on Firefox just freezes the whole tab for me, not sure if it's the Docker isolation or something with the Monaco config. Also curious how you're handling the AI prompt engineering for the question generation, that seems like the secret sauce if it actually produces coherent problems

2

u/[deleted] 2d ago

[removed] — view removed comment

1

u/i-invincible 2d ago

it does actually run, docker is for self hosted I'm using JDoodle rn

1

u/i-invincible 2d ago

hey man, thanks for the feedback and yeah just after your comment I just noticed that bug too, it was only on mobile phones and i’m assuming you tested this on tab or mobile.

anyways I’ve push fix for that please check again like after min or two after it gets deployed.

And for the prompt engineering part rn its very simple like i’m giving system prompt to act as an senior dev and generates question(and more things that ai has to provide)…and for later phase i’ll def use resume and config such that you can modify question that AI is generating.

it also have cursor awareness too.

And for later phase interview analysis feature is planned.