Bellows

February 2025 • Software Experiment

February 2025 • Software Experiment

Bellows is a macOS app that ties your screen brightness to a fire you have to keep alive. A p5.js flame sits on your desktop. Leave it alone and it decays over 56 seconds, dimming your screen with it. Press spacebar to stoke it back up. Sparks fly, embers settle, and if you hold it at max intensity long enough, a containment breach spawns child fires across your entire screen.

My contribution

Product design

Research

Development

The team

Nikolai Kozak

Surya Narreddi

The Fun Stuff

Stoking the fire spawns particles. Sparks burst upward and fade. Smoke wisps rise with a wobble. Embers drift down and settle at the bottom of the screen for 30 seconds before disappearing. Hold the fire at 100% for three seconds and you trigger a containment breach: a warning overlay flashes, and 5 to 8 child fire windows spawn across random positions on your desktop. They decay on their own. The app lives in the menubar and the window is frameless and transparent, so the fire just floats on your screen.

Demo

How it Works

The fire's intensity maps directly to your system brightness. 100% fire means full brightness. Walk away and the fire dies down on its own, taking the screen with it. Every spacebar press adds 5% intensity and resets the decay timer. Every two presses bump the actual system brightness up a notch. The loop is simple: tend the fire or sit in the dark.

Spacebarstoke the fireIntensity0–100%Fire Animationp5.js · perlin noiseDesktop Windowtransparent · framelessDecay Timer56s · linearBrightnessosascript → systemParticlessparks · smoke · embersContainment Breacheaster egg
inputfire stateeffectssystem

Project Architecture

You can email me. I’m active on Twitter, occasionally on LinkedIn, and surfing the internet on Are.na.

©2019-2026 SURYA NARREDDI.

You can email me. I’m active on Twitter, occasionally on LinkedIn, and surfing the internet on Are.na.

©2019-2026 SURYA NARREDDI.