ADR 0002: Web-first UI
Date: 2026-09-11 · Status: accepted · Implementation: see current implementation for delivered scope and remaining work.
Context
Multiple devices should visualize and administer one running booth. The audio engine must survive client reloads and disconnects.
Decision
Use Next.js, React, and TypeScript for the platform UI, communicating with boothd over versioned HTTP/WebSocket contracts. Plan Tauri only as an optional packaging layer using those same contracts.
Consequences
A browser and a desktop shell can share frontend behavior. Reconnect, authentication, ownership, and stale-state handling become first-class requirements. Browser rendering is not a sample-accurate control clock. Desktop distribution and daemon process ownership remain later decisions.