Skip to contact form
← BlogEngineeringAugust 12, 2026 · 3 min read

The default that was five hours wrong

A booking page that offered every prospect the wrong time for months, with nothing anywhere reporting an error.

ur booking page generates slots in the studio's timezone and renders them in the prospect's. Both halves of that are right, and it is the correct design: "nine to five" is a fact about the studio, not about whoever is reading the page. It is also what hid the bug, because there is nothing wrong with either half.

The studio's zone came from a constant. That constant said America/New_York. The studio is in London.

Nothingthrows.Norowgoesred.Thepagesimplyofferssomebody2pmandcallsitthestartoftheworkingday.

The value was correct when it was written. The business then moved countries — the same move that removed the country filter on lead imports, rewrote the research prompt for UK businesses, and deleted an entire feature for sweeping the UK, because the UK had become the default rather than a special case. A dozen things changed. This constant was not one of them, and nothing anywhere could have told us.

There was already a note in the launch checklist saying to set this variable before going live. The site went live without it. That is the argument for changing the default rather than restating the instruction more firmly: a setting that must be correct, that has a plausible-looking wrong value already sitting in it, and that gives no signal when it is wrong, will eventually be missed by somebody having a busy week.

It now falls back to the city the company files list, the address in the footer, and the law the contract is written under. The environment variable still overrides it, so nothing was taken away — it just became a correction for a future move rather than a thing somebody has to remember on deploy day.

Most tests assert behaviour. This one asserts a string, which normally reads as a bad test. It is the right shape here precisely because the mistake has no behaviour to catch: the system does exactly what it is told, and what it was told was wrong. Where a mistake would ship green, the test has to look at the value itself.

It pins three things: the fallback, the override, and a whitespace-only setting falling back rather than being passed through as a timezone. That third one is not hypothetical — a hosting dashboard stores an emptied variable as an empty string rather than removing it, so "" is a state a real deployment can be in.

Want this kind of thinking on your project?

This is how we work through real decisions. If you're weighing a build of your own, tell us about it — we reply within one working day.