Designing for
Smart Living
2026 ยท S5

The Heckler

The object is an interrupter- it is made to break your focus.

The Heckler

I built a physical object around one idea: my attention cannot interrupt itself. An ESP32 runs the timer, a DFPlayer Mini and speaker play the sound, and one button sits in a small Lego housing as the only way in.

The object holds one state at a time, either FOCUS or BREAK. The timer decides when to switch. The button does not restart the timer or skip ahead. It only stops the sound during a break, while the timer keeps counting underneath, silently. So pressing it does not give control over time, only over what you hear.

The reasoning behind this: a person telling me to stop working risks stopping me from working at all. A phone doing it means the thing causing the distraction is also supposed to fix it. So the interruption has to come from somewhere else, something with no stake in either outcome.

The object does not log or average anything across sessions. Every break starts the detuning fresh, with nothing carried over from the one before. There is one exception I want to name rather than hide: the code keeps a timestamp of when the current state began, so it can work out how long has passed. That is a small piece of memory, and the assignment says the object should not keep any. I am flagging it as the one place I could not avoid it, not pretending it is not there.

https://docs.google.com/document/d/1qQD39006L5DNSoCOXv2r4RNm7WnMi6N36H73FSGCaC8/edit?usp=drivesdk

The Heckler