LiveRoom is a browser-based platform for private video conversations, built as part of Ffilm.org. Hosts create a room and share a link; guests join without installing anything. Live video, chat, screen sharing and consent-based recording, all running in the browser.
The Problem
Video calling tools are either bloated with features nobody asked for or locked behind app installs and accounts. I wanted something stripped back: create a room, share a link, talk. No downloads, no sign-ups for guests, no ambiguity about whether you're being recorded.
What I Built
Signalling and Real-Time Infrastructure
The React/Vite frontend uses WebSockets for signalling, role management, admission control, presence tracking and ephemeral chat. Browser-native WebRTC handles all media streams, with TURN support for reliable connections behind restrictive networks.
Consent-Based Recording
Recording is off by default and clearly indicated in the UI at all times. With participants' explicit agreement, the host can make a local desktop recording that composites the stage video, a chat ticker and mixed room audio using the MediaRecorder API. Nothing is uploaded automatically.
Room Access and Roles
Hosts control admission, so uninvited visitors can't join. The room model supports distinct host and guest roles with appropriate permissions for each.
Cloudflare Durable Objects
Room state is managed through Cloudflare Durable Objects, keeping signalling fast and co-located with the WebSocket connections.
A browser-based platform for private video conversations with WebRTC, consent-based local recording, and Cloudflare Durable Objects. No installs, no accounts for guests.