Ten destinations over a household of five, where the temperature the house is holding, whether it counts as shut, and whether a filter is due are all worked out at render. Looking at it should settle whether a domestic product can be built on rules instead of switches.
Preview interactive design
The operator is a parent with a coat on. The constraint is that no state in a house is stable for more than an hour — people arrive, go to bed, open windows — so any figure the product stores goes stale between one glance and the next.
01The screens →The house states one verdict before anything else. An entry is scored insecure against the alarm and the clock: a window open at four is ventilation, the same window armed away is why the alarm exists.
the dark hour is a setting, not a constant02ControlRooms and cameras are the control surface: a switch means it applied. A move applies at once and offers the way back — only removing a device or calling the response company asks first.
a child sees the reason, not a grey button03KeepThe kit and the building rot on their own schedules. A consumable’s due date is the hours its machine has actually run, and a device becomes a problem the moment its radio reading changes.
the machine’s hours are the due dateThirty registered routes: ten sidebar destinations over two groups, four registers reached from their parent, four records, the profile, seven under settings and six for auth. There is deliberately no /rooms/:id and no /cameras/:id — Rooms holds every room at once, and a camera has no fact a card cannot carry.
02The status set →Today owes one answer — can the house be left alone — and gives it in a sentence, with a dotted badge for the attention level. Nothing is summed without its parts named underneath.

The room card is the remote control: a switch per device, the zone’s temperature, who is in there, what is insecure. There is no room record to open, because a room has nothing a card cannot carry.

One camera focused with its controls, the others as tiles. Watching is three facts at once — online, set to record, shutter open — so a closed shutter reads as a decision somebody made.

Not a register: the hub’s verdict, what it can hear but has not taken in, what wants a person, then the list. A device that cannot answer is left out of the run and named, rather than failed.

Electricity, its tariff, the battery and the water, over a period the reader picks. A bill is what a reading turns into, and what the battery ought to do is worked out from the tariff and its charge.

The value every device list seems to need is not here: no low battery, no needs attention. Both are derived at render — the level against the household’s own threshold, and wanting a person from one predicate the nav badge, the tab count and the row all read.
03The awkward cases →None of these is hypothetical. Each one is a record in the fixture, and each one is why a figure two screens away is worked out at render rather than written down.
04The audit →The connection test failed anything not online, so running it read “3 devices are not answering” while the figure beneath it said 2, and the cameras screen called those same two updating and never set up. It now fails only a device that could have answered. Two more: one device’s timestamp was being read as all three, and pairing wrote a device but no camera record.
05Back to the top →
Reckon
No shift handover, no audit trail anybody is paid to keep, and an operator with a coat on. If the derivations hold here they hold in a warehouse.