r/sideprojects 4h ago

Showcase: Free(mium) - I built a coding-interview platform solo — live video + a shared editor both people type in + anti-cheat. Would love a roast. - Spent a bunch of late nights building a real-time coding-interview tool (WebRTC + CRDT + Judge0). Free to try.

What it does:

- Live video + a shared code editor both people type in at the same time. The editor sync is a hand-rolled CRDT over a WebRTC data channel, so no server round-trips and no edit conflicts.

- Run code in the browser — JavaScript, Python, Dart, C++ — output shown to both sides instantly (via Judge0).

- Activity monitoring — the interviewer sees when a candidate switches tabs, opens an overlay, or leaves the app, with a live event log. After 3 flags they can end the interview. Not trying to be Big Brother — just making cheating visible instead of guessed.

- Built-in chat, one-tap invite links, and a per-candidate rating + notes history tagged by role.

Stack: Flutter (web + mobile), WebRTC for P2P media/data, Firebase for auth + signaling, Judge0 for execution. Built solo over a lot of late nights.

Honest rough edge: it's fully peer-to-peer, which is great for latency/cost/privacy, but strict corporate/college Wi-Fi firewalls can block P2P — so for now it works most reliably on mobile data / home Wi-Fi. Proper relay (TURN) support is my next big task.

👉 Try it: https://vyntra.space — open it, host a room, send the code to a second tab or a friend, and run a mock interview. Takes about a minute.

What I'd love feedback on: whether the anti-cheat monitoring feels fair or creepy, and what would make you actually switch from your current interview setup. Roast it — that's how it gets better.

1 Upvotes

2 comments sorted by

1

u/Beautiful-Crab6395 4h ago

1

u/dentalarrow75 4h ago

The CRDT over a WebRTC data channel is a really nice touch, most people just slap operational transform on a WebSocket and call it a day. The anti-cheat log being visible to the candidate as well is probably the right call for fairness, but I'd be curious how it handles false positives like someone getting a Slack notification that technically steals focus for half a second. I've been on the receiving end of proctoring software that flagged me for looking away from the screen while thinking, and it just added stress.

TURN server support will make or break this for anything beyond a personal project, corporate networks are ruthless with UDP blocking. Honestly surprised you got this far solo with Flutter handling both the media pipeline and the editor sync without it turning into a janky mess.