Every remote team has that one spreadsheet: a grid of names, time zones, and working hours, lovingly maintained for about two weeks before it silently rots.
Then the ritual begins. Someone wants to schedule a call. Someone opens three browser tabs — one world clock, one DST checker, one "what is PDT again" article. Someone does the mental math wrong and a teammate in Berlin joins at 6 AM.
Why the mental math keeps failing
Time zone conversion isn't hard because of the arithmetic. It's hard because of the edges:
- DST shifts — the offset between two zones changes twice a year, on different dates per country. Your March calculation is wrong in November.
- Half-hour zones — India is UTC+5:30. Nepal is +5:45. Your "round to the hour" assumption breaks.
- The gap and the overlap — spring-forward has a 2:30 AM that doesn't exist; fall-back has one that happens twice.
- "Working hours" are fuzzy — 9-5 in one culture, 10-6 in another, and nobody wants the 11 PM slot even if it technically works.
Online meeting-time finders exist, but they all want you to paste your team's names, roles, and availability into somebody's web form. For a solo freelancer or a small team, that's a lot of trust for a math problem.
What I built: one command, zero uploads
A single-file Python CLI (pure standard library — the only optional extra is tzdata on Windows) that answers the question locally:
# One-shot: what does 9:00 AM in LA mean for everyone?
python timezone_planner.py convert "9:00 AM" America/Los_Angeles Asia/Shanghai Europe/London
# Find shared windows across the whole team, next 7 days
python timezone_planner.py overlap "Alice:America/New_York:09:00-17:00" "Bob:Asia/Tokyo:10:00-18:00" "Carol:Europe/Berlin:09:00-17:00"
What it handles:
- DST-aware conversion — uses your system's IANA time zone database, so spring-forward gaps roll to the first valid minute and fall-back repeats take the earlier instant
- Overlap finder — scans future days in 15-minute granularity, merges contiguous windows, and skips weekends automatically
- Exit code contract — 0 = overlap found, 1 = no overlap (so you can bolt it into cron and get pinged when a scheduling window opens or closes), 2 = bad args
-
--jsonoutput — machine-readable, for piping into your own tooling - 100% local — your team's names, zones, and hours never leave the machine
The boring truth
Scheduling across time zones isn't a people problem, it's a lookup problem. The answer already exists in your machines' time zone databases — it just needs a two-command interface in front of it.
If you run a remote team or juggle clients across zones, the full kit (planner + README with cron recipes + DST edge-case notes) is on AgentChip. One-time purchase, no subscription, no account, your data stays on your machine.
Related: if your problem is deadlines in a spreadsheet rather than meetings across zones, that's a different converter — and we cover that too.
Top comments (0)