Stack

How the host, the services, the web client and the real time layer fit together.

Section
05 / 14
Read
1 min

Four pieces move a frame from a machine to your browser. Each has its own page; this one shows how they connect.

The host captures and encodes

A Rust application on the machine you reach. It captures the display, encodes on the GPU and publishes to whichever transport the session uses. On Windows it can run as a service and drive a virtual display.

The services broker the session

A Rust API handles accounts, machines, plans and invites. A signaling server introduces host and viewer to each other and hands out relay access when a room needs one.

The transport carries the media

WebRTC for one to one, Media over QUIC for rooms. Both are encrypted end to end by the protocol itself.

The web client paints it

A Nuxt application decodes in the browser, keeps video, audio and input on one clock, and sends your input back.

By layer

What each layer owns

ConcernLives inWhy there
Capture and encodeHostClosest to the GPU and the display
Accounts, plans, invitesServicesOne source of truth for who may open what
Introductions and relaysSignalingNeutral ground both sides can reach
Decode, sync, inputWeb clientNothing to install on the viewing side