The problem
Interfaces compete for attention with counters, interruptions, and a constant invitation to react.
Presence makes distraction tangible: cards appear, ask for engagement, inflate a meaningless total, and expire. A Breathe card is always available.
I built this meditation toy to explore the pull of an interface that keeps asking for a reaction. It makes room for a different action: stop feeding the loop, let the interruptions pass, and come back to the one steady thing on the screen.
Interfaces compete for attention with counters, interruptions, and a constant invitation to react.
A playable attention loop makes those mechanics visible, while keeping a Breathe action available at all times.
A small interaction-design experiment in distraction, fixation, and letting go, with no progression ladder to complete.
A React state machine controls card lifetimes, interruptions, fixation, and the temporary calm after Breathe. There is no backend or persistent progress. The implementation details below describe the timing, state transitions, and test strategy behind that behavior.
steady and jittery cards stay in the row; hovering, elusive, and centralizing cards roam above it.drag higher to release to play.settleLevel rises through breathing and sustained non-interaction; fixationLevel rises through repeated engagement and craving loops. As fixation rises, cards get larger, Breathe shrinks, more cards can accumulate, and a screen aura appears.+3 Clarity or -2 Drift; those values do not persist, do not affect systems, and do not matter.
fixationLevel should feel like attentional capture, not a hidden punishment meterThe automated coverage has three layers: unit tests verify content pools, fake stat output rules, interruption generator shapes, and fixation-driven card generation; integration tests verify app-shell rendering, ambience controls, audio-start behavior, and idle-settle logic; the smoke harness boots the running app in Playwright and checks that the shell still exposes Breathe and the ambience controls. New content rules extend that coverage so the project does not quietly drift into meaningful systems.
Show me one task your team does by hand. In 20 minutes, I’ll tell you if it’s worth automating and what it would cost.