← All posts

May 12, 2026

Localhost to production: the gap nobody budgets for

"Works on my machine" is the start of the work, not the end of it. Here's where the real time goes between a green local build and a system real users can rely on.

devopsdeploymentaws

Most projects I'm pulled into are not broken because the code is bad. They're stuck because the code only runs in one place — the laptop it was written on. The gap between that and a live, monitored, multi-tenant system is where I spend most of my time, and it's the part almost nobody estimates correctly.

The work that hides between "done" and "deployed"

  • Environments that actually differ — staging that mirrors prod, not a second copy of dev.
  • Build-time vs run-time configuration, so the same artifact promotes cleanly across environments instead of being rebuilt and re-broken.
  • TLS, DNS, and the CDN layer — the unglamorous plumbing that decides whether a custom domain resolves at all.
  • Rollback that works on the worst day, not just the demo.

A rule I hold to

If I claim it ships, you can poke it. A running URL beats a slide every single time.

That's the difference between handing over a repository and handing over a system. One needs a senior engineer to keep alive; the other keeps itself alive and pages someone when it can't.


Got an app stuck on localhost?

I take products from localhost to live, monitored production — and don’t disappear after handoff.

Get in touch →