All Projects
Product Design + Build StructureSense · 2025 Prototype

WLED Cloud
One dashboard for every light, near or miles away

A multi-tenant platform for controlling architectural LED lighting at scale. Facilities teams and installers manage venues full of devices from a single dashboard — whether a fixture is on the local Wi-Fi or sitting on a distant monument with no internet at all, reached over long-range LoRaWAN.

Vue 3 Express 5 PostgreSQL 16 Redis 7 Socket.IO LoRaWAN / LNS

Who it's for

City facilities teams and lighting installers.

Think of the illuminated gateway monuments a city puts at its edges — the kind Kyle, Texas has welcoming drivers into town. Someone has to control the color, run a schedule, and change it for a holiday or a home game.

That someone is rarely an engineer. It's a facilities manager who needs the lights to just work, and an installer who sets up dozens of these across different clients and can't babysit each one. The design brief was to make controlling a light a mile away feel no different from controlling one in the next room.

The design problems

  • 01 No Wi-Fi where the lights are. Architectural installs sit on bridges, towers, and roadside monuments with no reliable network. The control plane can't assume connectivity.
  • 02 Two very different radios, one mental model. A Wi-Fi fixture and a LoRaWAN fixture behave nothing alike under the hood — but the operator shouldn't have to care which is which.
  • 03 Many clients, strict separation. An installer's customers must never see each other's venues or devices — multi-tenancy has to be invisible but absolute.
  • 04 Different hands, different powers. An owner, an on-site operator, and a view-only stakeholder need the same screen to mean different things.

The product idea

One control surface. The transport disappears.

The operator picks a device and picks a color. WLED Cloud decides — invisibly — whether that command rides a live Wi-Fi socket or gets queued for the next LoRaWAN downlink window. Same button, same result.

Wi-Fi devices — instant

An ESP32 running the wledcloud firmware holds an open Socket.IO connection to the cloud. Commands and state changes are real-time, both directions.

LoRaWAN devices — long range

For sites with no internet, the platform talks to a LoRaWAN Network Server and pushes commands as downlinks — miles of reach, no local network required. See the LoRa-DMX device →

Platform

What it looks like.

Fleet Dashboard
Fleet Dashboard
Every device across every venue — status, health, and one-tap control at a glance
Venue Management
Venue Management
Group devices by physical location for multi-site, multi-client deployments
Device Control
Device Control
Pick a color or state — the platform routes the command over Wi-Fi or LoRaWAN for you
Effects & Patterns
Effects & Patterns
Presets and animations applied to a device or a whole venue at once
Scheduling
Scheduling
Time-based scenes that run themselves — holidays, events, dusk-to-dawn
LoRaWAN Onboarding
LoRaWAN Onboarding
Register a long-range device to its network server and bring it under the same roof
Organization & Team
Organization & Team
Roles and membership — owner, admin, operator, viewer — scoped to the tenant
Firmware Installer
Firmware Installer
Browser-based flashing gets an installer from box to online in minutes

System Architecture

graph TD subgraph "Browser" SPA[Vue 3 SPA] end subgraph "Cloud (Express 5)" API[REST API · JWT] WS[Socket.IO] DB[(PostgreSQL 16)] Redis[(Redis 7
pub/sub · rate-limit · session)] LNS[LNS Clients] end subgraph "Devices" WiFi[Wi-Fi WLED
wledcloud usermod] Lora[LoRaWAN WLED
via LoRa gateway] end SPA -->|REST| API SPA <-->|"/ws/dashboard"| WS API --> DB API --- Redis WS <-->|"/ws/device"| WiFi LNS <-->|"TTN · Chirpstack · Helium"| Lora

Three-layer system

A Vue 3 single-page app talks to an Express 5 cloud API, which speaks to ESP32 edge devices. Clean seams between UI, business logic, and transport.

Transport strategy layer

A command orchestrator picks a Wi-Fi, LoRa, or offline strategy per device. The rest of the system — and the operator — never has to branch on it.

Pluggable network servers

LoRaWAN reach comes from swappable LNS clients — The Things Network, Chirpstack, Helium — so a deployment isn't locked to one network operator.

Multi-Tenancy

Organization → Venues → Devices.

Every resource is scoped to an organization. One installer can run many clients on the same platform with hard separation — no query ever crosses a tenant boundary.

Inside a tenant, venues group the physical sites and the devices that live there — so a "downtown gateway" or a "north bridge" is a first-class thing you manage, not a loose pile of MAC addresses.

Role-based access
Owner Full control · billing · team
Admin Manage venues, devices, users
Operator Run the lights, no config
Viewer See status, change nothing

Enforced in middleware, not scattered through routes — the same screen simply offers fewer controls the lower your role.

Status

A working prototype, aimed at civic and architectural lighting.

WLED Cloud runs today as a prototype built under StructureSense. The target is the market of distributed, hard-to-reach architectural installs — city gateway monuments, bridges, and signage — where the lights matter but the network doesn't reach.

The platform stands on its own with ordinary Wi-Fi WLED devices; the long-range half is what makes the no-Wi-Fi sites possible, powered by the companion LoRa-DMX device.