All insights

Post 6 of 12 · Learning by building

The Porch Light Problem

It all started with a DoorDash delivery one night…

Doorbell rings.

Open phone.

Open Apple Home.

Find the porch light.

Turn it on “manually.”

I whisper — slightly exasperated — that this is unacceptable given today’s technology.

My wife sagely asks,

“Why don’t you just go downstairs and flip the switch, Nigel?”

She’s not wrong.

But… it is 2026.

So I crack open my MacBook.

Consult Yahoo (because I held onto my bookmarks from 2003).

Implement whatever someone smarter already built.

Which led me to Homebridge — running on a Raspberry Pi.

Now late-night deliveries flow like this:

Doorbell rings.

Porch light turns on.

Problem solved.

But in my head, on loop, were old incident calls with my lead engineer talking about:

  • Redundancy.
  • Failover modes.
  • Hot/hot — or was it active/active?

And then the voice:

“What if the RPi goes down, Nigel?”

Which obviously meant I need a backup server.

(Yup. You guessed it. Additional capex.)

I had very clear service-level agreements:

  • TikTok cannot buffer.
  • Netflix cannot have a spinning circle.
  • Lights must turn off at 11:30.
  • Maintenance windows exist — but no one else knows that.

Which meant syncing state.

Which meant understanding how the plugins worked.

Which meant DNS.

Which meant certificates.

Which meant VLAN segmentation.

Which meant a VPN.

Which meant reading logs at midnight,

trying to understand why a webhook returned a 404.

All.

Because.

I.

Didn’t.

Want.

To.

Flip.

A.

Switch.

When I zoomed out and looked at the repo I’d built, what surprised me wasn’t the complexity.

It was the discipline.

Good systems are boring.

They log clearly.

They fail predictably.

They do exactly what you configure — not what you hope.

Sometimes the long way around teaches you why the short way works.

Curious — what small annoyance accidentally taught you something bigger?