For independent lighting brands

A lighting app people can trust.
A foundation your brand can grow with.

See the complete local-first control loop: pair a virtual RGB+CCT light, shape brightness and color, save scenes, and recover from an offline state.

No account. No hardware. Data stays in this browser.

01

The browser experience uses a clearly labeled demo light; it does not claim real-hardware support.

02

Light state, scenes, and preferences stay in this browser and are not synced to a product cloud.

03

Controls follow declared device capabilities, and offline or failed actions never masquerade as success.

One complete P0 story

From first light to a room worth returning to.

The experience is designed around the way light changes a space—not around a wall of device parameters. Every step still exposes what is pending, confirmed, or unavailable.

  1. 01

    Enter without friction

    Choose the demo. Pair a clearly labeled virtual light.

    No account and no unrelated permission prompt stand between the user and the first meaningful action.

  2. 02

    Shape the atmosphere

    Move from power to brightness, white light, and color.

    Controls appear because the device declares RGB+CCT capability—not because every light is assumed to support everything.

  3. 03

    Keep what feels right

    Save the current light as a scene. Bring it back in one tap.

    Three built-in scenes and editable custom scenes turn an adjustment into something useful and repeatable.

  4. 04

    Trust the difficult moment

    Take the device offline. See failure. Recover deliberately.

    Offline controls are blocked, cached state stays visible, and reconnecting restores a confirmed device state.

What the current iOS build proves

Beautiful enough to desire. Honest enough to evaluate.

The protocol-independent P0 path has automated coverage. Real hardware remains behind an explicit adapter boundary until a licensed reference device and physical test matrix exist.

01 / CONTROL

Capability-driven control

Let the light shape the interface.

Power, brightness, 2700K–6500K white light, and RGB color stay distinct, legible, and tied to confirmed state.

02 / SCENES

Static scenes

Save a feeling, not a parameter dump.

Create, rename, overwrite, apply, and delete custom scenes with explicit confirmation.

03 / RECOVERY

State and recovery

Offline never looks like success.

Pending, confirmed, cached, offline, and reconnecting states keep the user oriented through failure.

A credible path for independent lighting brands

Your product should feel like your brand—not like a generic smart-home template.

Independent lighting brands with one to ten products and no dedicated mobile app team.

The current code already separates brand identity, theme, supported adapters, device catalog, built-in scenes, legal links, and feature flags. That is a foundation for future white-label delivery, not a claim that every hardware integration is already complete.

Discuss a device and protocol
01Local first

Keep control close to the device when the hardware allows it.

02One evolving core

Express brand differences through configuration and adapters.

03Transparent limits

Separate shipped behavior from plans, dependencies, and proof gaps.

See the complete loop

Shape the light. Save the scene. Test the recovery.

No account. No hardware. Data stays in this browser.