Last week we chased down a scheduling issue that, on the surface, looked like a routine calendar bug. Events appeared at the wrong time. Availability windows didn’t line up. Things felt “off,” but only for a specific set of users.
Those users were in Australia.
What made this tricky wasn’t the math. It was the assumptions.
Our system already handles timezones. We store IANA identifiers. We normalize everything to UTC. We’ve built for daylight saving changes, cross-region scheduling, and Google Calendar quirks. All the usual boxes were checked.
The issue came from a quiet edge case: a part of the flow where we implicitly assumed the user’s timezone based on account state, not the event context. In most regions, that assumption never surfaced as a problem. In Australia—where offsets, DST timing, and regional differences behave differently – it did.
The bug wasn’t loud. It didn’t crash anything. It just shifted reality by an hour.
Those are the most dangerous bugs.
What this reinforced for us is something we’ve seen repeatedly as Fetch has grown:
Timezones aren’t a feature. They’re a constraint that touches everything.
Scheduling, reminders, availability, client expectations, integrations – any one of those can quietly drift if even a single assumption slips through. And when you’re building software for professionals who run their day by the clock, “almost right” is still wrong.
The fix itself was straightforward once identified. The lesson wasn’t.
We came away with a renewed bias toward being explicit:
- Explicit timezone resolution at the moment of action, not earlier in the flow
- Fewer defaults that rely on “this is probably correct”
- More defensive checks around cross-region behavior, even when things have historically “worked fine”
This wasn’t a failure of complexity. It was a reminder that global software punishes convenience.
Notes like this matter to us because they shape how we build going forward. Not every improvement shows up as a new feature. Some show up as fewer quiet surprises for people who just need their schedule to mean what it says.
Australia helped us catch one.
That’s a good trade.


