01 — Full-Stack Platform

Fumblr

Peer-to-peer video platform built end-to-end

RoleDesigner + Developer (Solo)
TypeFull-Stack Web App
StackReact · Vite · Node.js · Supabase · Daily.co

Real-time video.
No downloads.

Fumblr is a full-stack peer-to-peer video platform enabling spontaneous, real-time one-on-one video connections directly in the browser. No app installs, no account setup friction — you connect and it works.

The build required solving three technical problems simultaneously: user identity without requiring full account creation, real-time video infrastructure at the browser level, and dynamic session state so two users end up in the same room at the same time.

The UI was designed to get completely out of the way once a session starts — minimal chrome, focus on the video feeds, controls accessible but unobtrusive.

2Live Video Feeds
0Downloads Required
LiveDeployed
Visit Live Site → GitHub →
fumblr.us — live
fumblr.us
Fumblr landing page — live at fumblr.us
auth flow
Fumblr authentication step

Three problems,
one build.

User identity: Sessions need two real participants without requiring signup. Supabase handles ephemeral session tokens — users get a presence without a permanent account.

Video infrastructure: WebRTC in the browser requires signaling, ICE negotiation, and STUN/TURN handling. Daily.co's REST API manages the room lifecycle and peer connection, removing the most complex infrastructure layer.

Session state: Two users need to land in the same room simultaneously. The session matching logic handles room creation, link sharing, and joining — ensuring both sides connect to the same endpoint.

UI that
disappears.

The interface has one job: get you into a call and then stay out of the way. Full-bleed video feeds, controls only visible on hover, and a single end-call action. No sidebar, no chat panel, no feature creep.

The empty state (waiting for the other person to join) needed to feel intentional rather than broken. A minimal "Waiting for connection..." indicator with the session link visible keeps the user informed without visual noise.

← Back to All Projects