Prefer controllers that work offline, advertise mDNS services, and expose documented REST or MQTT endpoints. Cloud can be optional icing, never the battery or brain. When the street goes dark, scenes still run, doors still unlock, and fridges stop beeping like panicked birds.
Sign firmware, publish checksums, and keep old images archived. Provide canary devices, maintenance windows, and prompts that speak plainly. If something fails, fail safe, not flamboyantly. Users forgive pauses; they will not forgive rooms that scream, flicker, or forget their schedules after bedtime.
List actors, goals, and assets with sticky notes on a kitchen table. Think guests, landlords, cleaners, and curious kids. Choose defaults that protect dignity and rentals. Locks, cameras, speakers, and occupancy data deserve caution that respects people, not just gadgets and graphs.