Open source · Tauri 2 · MIT

Your screen, your lights. Locally.

LumaSync drives WS2812B LED strips over USB and Philips Hue Entertainment areas from the same tray-first desktop app, at the same time, from one screen source. Open source. No cloud. No HDMI box.

macOS · Windows · Linux (experimental)

Full-mode Lights section with Ambilight active — static recreation using the app's Rev 07 amber tokens.

Both, at once

One pipeline. Two targets.

Philips Hue Entertainment

DTLS 1.2 PSK streaming to any configured Entertainment Area. Up to 20 Hz — the bridge's real limit.

How Hue streaming works →

Both, synchronized

Same screen source drives both targets. Pick per mode: USB, Hue, or both — switched from the tray.

  • Live Δ/Σ telemetry
  • EN · TR i18n
  • Compact 320×480 / Full 900×620
First-setup walkthrough →

Ambient mode

Real-time screen capture. 20 Hz update.

Tuned for latency, not flash. The telemetry pill shows live capture and send rates so you can see when the pipeline is healthy and when it isn't — no mystery numbers.

Read about performance →
LumaSync ambient mode with the edge-signal preview and live telemetry overlay.
LumaSync's room map editor canvas with a TV anchor, furniture objects, a USB strip, and Hue channel overlays.

Room map editor

A canvas, not a config file.

Drag your TV, furniture, and USB strips onto a grid. Hue channels project onto normalized coordinates. Undo / redo, snap guides, keyboard shortcuts.

Calibration docs →

Tray-first

Lives where it belongs — out of your way.

Single window hides to tray on close. Compact 320×480 mode for quick toggles, full 900×620 mode when you want to configure. Auto-starts on login, if you want it to.

First-setup walkthrough →
LumaSync compact mode — 320 × 480 window with mode tiles and scene picker. LumaSync full mode — main window with sidebar and Lights section open.

Platform support

Installs anywhere you already work.

macOS Full support

Primary development target. Universal binary (Apple Silicon + Intel).

Windows Supported

MSI installer, winget in progress. USB + Hue paths fully functional.

Linux Experimental

AppImage ships today, Flathub submission underway. Tray behavior varies by desktop environment.

Open · signed · auditable

No accounts. No telemetry. No cloud.

MIT licensed

Source at voyvodka/LumaSync. Fork it, ship it, read it.

Updates signed with minisign

Every binary is signature-verified before replacing the on-disk version. How updates work.

Credentials stay local

Hue bridge pairing and everything else lives in ~/.config/lumasync/app.json on your machine.

Transparent about scope

Roadmap honesty.

No vaporware, no silently-aging footnotes. What shipped, what's queued, and what we've explicitly rejected — read end-to-end.

Shipped

Current release

  • Compact 320×480 mode alongside the 900×620 full window
  • Live edge-signal preview (top / bottom / left / right RGB gradients)
  • Runtime Δ / Σ telemetry pill — frame latency + FPS in the status bar
  • Luminance-preserving saturation control (50–200%)
  • Unified scene preset catalog with a brightness field
  • EN + TR i18n parity with an automatic 1:1 verifier
Full changelog →
Next

v1.4 — queued, not shipped

  • USB per-LED sampling (the strip runs on one pixel today)
  • Adalight firmware profile — opt-in compatibility toggle
  • Wired keyboard shortcuts (⌥1 / ⌥2 / ⌥3 + ⌘,)
  • Native OS notifications via tauri-plugin-notification
  • Multi-monitor capture honouring user display selection

Dates are estimates. Source of truth is the project's internal roadmap.

Never

DNA-conflicts

  • Daemon / headless mode — answered via a local HTTP API + Home Assistant
  • Cloud telemetry or Sentry-class reporting — privacy posture is load-bearing
  • Cloud scene gallery — local files and JSON export only
  • AI-prompt scene inference — cloud inference breaks the zero-network promise
  • Docker / headless Linux server distribution — tray-first DNA

These are rejections, not "not yet" items.

Honest filter

Not for you if…

Type to search. to navigate, to open.