Skip to content
Court Connerly

Stillness listens to the room

A mantra gathers when the room is quiet and still, and scatters with sound or movement. To sense that, it asks for your microphone and camera. It reads only volume and the amount of motion, and shows the camera image behind the mantra on this screen. No audio or images are kept or sent.

Stillness measures only how loud the room is and how much is moving. If you allow the camera, its image is shown behind the mantra, on this screen only. Nothing is recorded, stored, or sent anywhere.

Mercer Labs Interactive Motion Concept

Stillness

An installation concept for Mercer Labs. Movement and noise scatter the words. Stillness brings them back.

Details

Role
Concept, design, motion and development
Built with
Next.js, React Three Fiber, custom shaders, Web Audio, Claude Code
Status
Shipped

The idea

As a yoga instructor, I love creating moments for silence and stillness. Most interactive installations reward you for doing something. I wanted one that rewards you for doing nothing.

Stillness is a meditation practice for a room full of strangers. Tens of thousands of vermilion particles drift across the wall. When the room is quiet and nobody moves, they slowly gather into the day's mantra. When someone laughs, walks through or checks their phone, everything scatters at once.

In a shared room, that changes the social contract. One person's noise scatters everyone's mantra, so strangers end up being still together. Nobody tells you the rule. You figure it out by watching the room.

How it works

Everything comes down to one number between 0 and 1: how disturbed the room is.

The microphone measures volume only, never words. The piece learns the quiet of whatever room it's in and only reacts to sound above that, so a humming laptop fan doesn't count as noise. The camera compares tiny 64 by 48 pixel frames to see how much changed between them. Whichever signal is higher wins.

That number is smoothed so it reacts to a clap instantly but calms down slowly. While it stays low, calm builds and the mantra gathers line by line. The whole mantra takes about 30 seconds. Any real spike, anything lasting more than a tenth of a second, scatters it and starts over.

Diagram of the signal path. The microphone measures volume only, against a room baseline that learns the quiet. The camera compares 64 by 48 frames to see how much moved. The higher of the two becomes one number from 0 to 1, smoothed fast in and slow out. It feeds a calm timer that a spike resets, and the mantra gathers over 30 seconds.
Two inputs, one number. Nothing is recorded, stored or sent.

The motion principle: asymmetry

Scattering is instant. Settling is slow and earned.

That rule runs through the whole piece, not just the particles. The sensing reacts in 50 milliseconds but takes a second and a half to relax. The particles burst outward the moment you move, then drift back in random order and land exactly when their line is done. Once the full mantra has settled, it breathes at about six breaths a minute.

I tuned the timing by sitting in front of it. My first version gave each line 30 seconds, which sounded meditative on paper and felt slow in person. Thirty seconds for the whole mantra felt right.

Graph of how much of the mantra has gathered over time. A single clap drops it from full to none instantly. It then climbs back slowly, line by line, until it is settled and breathing.
A clap drops the mantra to nothing in an instant. Getting it back takes patience.

In the room

The web version shows the idea. The installation would live in a darkened room at Mercer Labs.

A projector fills one wall. An overhead camera watches the whole floor, so it measures the room's movement instead of one person's face. Two room mics listen for volume. There are no instructions anywhere. Visitors walk in, see particles drifting, and usually talk or move, so the particles scatter. Someone notices, goes quiet, and the words start to form. Then everyone else figures it out.

Plan of the installation room. A projector lights one wall with the mantra I RESIDE IN A STATE OF TRUST AND ALLOWING. An overhead camera sees the whole floor, two room mics listen, and visitors enter with no instructions.
How the piece would sit in a room. The room teaches itself.

Designing for everyone

Not everyone will allow a camera, and not everyone wants moving particles.

  • Without camera or mic, moving or touching the piece stands in for movement in the room. It works with a mouse on desktop and a finger on a phone, and scrolling past it still scrolls the page.
  • With reduced motion on, there are no particles. The mantra is visible from the start at low opacity and fades up as the room stays calm.
  • The camera image shows softly behind the mantra, on your screen only. The page says exactly what it measures before it asks for permission.
  • The mantra is always available as real text for screen readers.

How I built it

I built Stillness with Claude Code, the same way I'd work with an engineer: a written spec first, then small milestones, stopping after each one to test.

The sensing came first. Then the calm logic, shown as plain text so I could feel the pacing before any particles existed. Then the particle renderer. Testing in a real room caught what automated tests couldn't:

  • The microphone had never actually worked. My voice was registering as motion, because the camera saw my face move while I talked.
  • Once it did work, it was far too sensitive, which led to the baseline that calibrates itself to the room.
  • Tapping the day buttons scattered the mantra, because moving the mouse over to them counted as movement.
  • With reduced motion on, the first version showed an empty box, which read as broken.
  • On phones, the piece trapped the page so you couldn't scroll past it.

Every fix is written up in the project's process log.

What's next

A personal version for your own space: use it before you start work and sit with it for just thirty seconds.