DAGet in touch ↗

Devon ArcherLiving Lobby

In development · Part 1 of 5 built

Living Lobby.

A generative brand installation for hotel lobbies. Particles drift through a sky that follows the real sun and the live weather, gather into the property's wordmark, and scatter when guests reach toward the screen. It is built to run unattended for days, like an installation rather than a demo.

Live build · Halcyon demo brand · Salt Lake CityFull screen ↗
Living Lobby forming the HALCYON wordmark from particles at golden hour

Try it

Any time, any weather.

The embedded build shows the real time and weather in Salt Lake City right now. These open it full screen in a specific state. Inside, press D for director mode and W to form the wordmark.

What it does

A lobby that behaves like a place.

Part 1 is the visual engine and the plumbing that lets it run unattended. Later parts plug into interfaces that already exist.

Particles
26k to 124k particles simulated entirely on the GPU, picked to suit the hardware.
Day cycle
Six phases from night to golden hour, anchored to the real sunrise and sunset for the property's location.
Weather
Live conditions from Open-Meteo. Clouds grey the sky, rain pulls particles down, snow slows and whitens them, wind pushes them sideways, storms add lightning.
Brand moment
Every cycle the particles gather into the property's wordmark, hold, then release back into the flow.
Interaction
Pointer and touch push the field with a swirl today. Camera hand and body tracking plug into the same input system in Part 2.
Director mode
Frame rate, the 24-hour phase strip, raw weather, every derived value, live palette and thumbnails of the GPU buffers, plus overrides for demos.

How it's built

Vite, TypeScript, three.js and GLSL.

No framework in the render loop. Every input, from the clock to a cursor, becomes a handful of eased numbers the shaders read each frame.

Particles live on the GPU

Position and velocity are stored in float textures and advanced by two fragment-shader passes. Curl noise, wind, gravity, a spring toward the wordmark and people as attractors are all forces in one shader.

Data becomes mood in one place

One module blends the brand palettes for the current phase, applies the weather and eases every value, so nothing ever snaps when conditions change.

It follows the real sun

Phase keyframes are offsets from sunrise and sunset, so golden hour lands at the right time in every season. A local sunrise equation covers offline moments.

It degrades instead of breaking

Weather falls back from live to cached to clear. Quality steps down when frames run long and climbs back with headroom. The display stays awake and reloads nightly in kiosk mode.

Roadmap

Five parts, one installation.

Each part ships as a working build. The goal is a real lobby, real guests and honest numbers.

Part 1 · built

Visual engine

GPU particles, live sun and weather, director mode, kiosk hardening.

Part 2

Camera interaction

Hand and body tracking as a new input source, plus audio reactivity.

Part 3

Phone as controller

Guests join from a QR code and steer the field from their phone.

Part 4

Generative content

Brand-constrained AI imagery with deterministic guardrails and a take-home clip.

Part 5

On site

Performance pass, a real lobby install, filming and a full case study.

Work with me

Let's build something people walk up to.

Start a conversation