Power cuts are a design input, not an excuse
Software written elsewhere assumes the lights stay on. Software that runs in Iraq cannot. Designing for the outage is not pessimism — it is just accuracy.
Most software is written on the quiet assumption that power and network are always there. It is a reasonable assumption in the place it was written. It is wrong here, and building as if it were true is how systems fail at exactly the moment they're needed.
In Iraq, a power cut is not an incident. It is a Tuesday. Designing for it is not defensive engineering — it is describing the environment accurately and building for the one you actually have.
Offline-first means decisions happen locally
The core idea is simple: the thing in front of the user should be able to make its decision without asking a server that might not answer. When the network returns, it reconciles. When it doesn't, it still works.
Our door-access appliance is built exactly this way. It decides whether to open a door at the door — reservation codes, RFID, the local rules — with no round-trip to the cloud. When connectivity comes back, it syncs its log upward. A network outage means the reports are a little late, never that someone is locked out of a building they're allowed into.
What "design for the outage" looks like
- Local authority. The device or app holds enough state to act alone for the window it needs to. It asks the server to catch up, not for permission.
- Queue and retry. Actions taken offline are recorded and replayed when the link returns — idempotently, so a retry never double-counts.
- Power continuity. A UPS or battery sized to the real gap, so a cut is a pause, not a reboot mid-transaction.
- Honest state. The interface says plainly when it is working from local data, so no one mistakes "last synced an hour ago" for "live."
Accuracy, not pessimism
Designing for the outage is sometimes read as expecting the worst. It's the opposite — it's refusing to pretend the environment is something it isn't. A system that assumes perfect power and perfect network in a place that has neither is not optimistic. It's just going to be down when it matters.
We build for the grid we have. That is why the things we ship keep working when the lights don't.