A desktop app for driving DMX stage lighting, built as a native Tauri app: a Rust core that talks to the hardware and a Next.js + shadcn/ui front end to drive it. Lux controls an Enttec OpenDMX USB interface and exposes the same controls three ways — the desktop UI, an HTTP API, and a Discord bot.
The Rust side keeps a DMX channel buffer continuously synced to the hardware
(src-tauri/src/{buffer,channels,sync}.rs) behind a device abstraction
(src-tauri/src/devices/); the UI talks to it over taurpc, so the
Rust↔TypeScript command layer is type-safe end to end.
Rust · Tauri 2 · taurpc (type-safe IPC) · Next.js 16 · React 19 · shadcn/ui · Tailwind v4 · Enttec OpenDMX USB (DMX512 over serial)
cargo tauri dev- ✅ Drives channels 1–6 of an Enttec OpenDMX USB (one RGBAW fixture)
- ✅ Accepts buffer commands over HTTP
- ✅ Controllable from a Discord bot
- ✅ Type-safe Rust↔TS commands via taurpc
- User accounts synced via Turso
- Custom fixtures using the full 512-channel universe
- Binary distribution: macOS → iOS → Raspberry Pi → Windows → Android
- Client/server modes for shared home use
- CLI for remote control


