Getting started

Run all three components locally: the platform backend, this web app, and the native host agent on a machine with a GPU.

1. Platform (REST + signaling)

cd beam-platform
npm install
cp .env.example .env   # Firebase project + service account
npm run dev            # http://localhost:8080

2. Web app

cd latenz
pnpm install
cp .env.local.example .env.local   # Firebase client keys
pnpm dev                           # http://localhost:3000

Set NEXT_PUBLIC_PLATFORM_HTTP to your platform URL (default http://localhost:8080).

3. Host agent

cd beam-host
cmake -B build && cmake --build build -j
BEAM_TOKEN=<host-token> BEAM_SIGNAL_URL=ws://localhost:8080/signal ./build/beam-host

Create a host from the dashboard (Connect device) or use the enrollment flow to obtain a token automatically.

4. Connect

Sign in at /login, open the dashboard, and click an online host to start a WebRTC session in a new tab. Mouse, keyboard, and scroll wheel are sent back over a DataChannel.

Requirements

  • Firebase project for user authentication
  • Linux host with X11 and NVIDIA (NVFBC + NVENC) or Intel/AMD (VAAPI, experimental)
  • Chrome or Firefox for the viewer (see codec guide for H.265 / AV1 support)