# The cheap reverse-engineering of home devices

Simon Willison's July 2026 note is one paragraph of observation, prompted by a pattern he keeps hearing about: people using coding agents to reverse-engineer and automate the devices in their homes. His read is that this is less a story about reverse-engineering and more a clean illustration of what happens when the cost of writing code drops.

The load-bearing move is that he separates *possibility* from *worth doing*. Reverse-engineering an undocumented home-device API was always possible. Anyone with the time could sniff the traffic, guess the protocol, and script against it. The obstacle was never capability — it was return on investment. Was the effort worth it for a light switch or a coffee machine? And, as any experienced programmer knows, undocumented and unstable APIs tend to change or break, so the initial work commits you to an open-ended maintenance burden. For most small home automations, that calculation came out negative, and the project never got started.

Coding agents change two costs at once, and Willison is careful to name both. The effort to get a simple automation working drops, which is the obvious half. The less obvious half is that the cost of *trying and failing* drops too — you can take a run at it, watch it not work, and walk away without having sunk much. Cheap failure is what makes the marginal attempt rational.

The part worth keeping is the framing of the maintenance problem as psychological rather than technical. When the vendor ships a firmware update and the undocumented API shifts, the code breaks — same as before. What's different is that regenerating it, or throwing it away and starting over, "carries way less psychological baggage" when the code was cheap to produce in the first place. The unstable-API problem doesn't go away; it stops being a reason not to begin. This is [[disposable-code]] in one concrete setting: code cheap enough to write, fail at, and discard shifts the ROI threshold for which marginal projects are worth doing at all.

The same lever shows up elsewhere in the wiki under different names. [[port-not-patch-contribution]] is the open-source version — once forking-and-porting a library is a 45-minute job, the upstream-fix loop weakens. [[llm-as-average-democratizer]] and [[average-is-all-you-need]] are the economic version — cheap average output lifts the floor. Willison's contribution is to point the same idea at personal, disposable automation, where the maintenance dread was doing more to suppress projects than the writing effort ever was. It also sits against [[peril-of-laziness-lost]]: cheap code that nobody has to justify keeping is exactly the regime where bloat accumulates unchecked, so the same disposability that unlocks the home automation is what removes the pressure to keep it small.
