Scheduling across timezones is one of those small frictions that adds up — you’re constantly doing mental math, wondering if 10 AM your time is a reasonable ask for someone in India, or whether your colleague in Colombia is even at their desk when you’re trying to reach them.
I built Team Timezones to solve that for myself and my teams.
The Problem
I managed teams spread across the US, India, Brazil, Colombia, Bolivia, Canada, and the UK. Every time I wanted to schedule a meeting or ping someone async, I had to mentally convert timezones — or open up a world clock app that had nothing to do with my actual team.
What I really wanted was a single view that showed me my team, with their names and locations, and let me scrub through the day to see who was available when.
I looked around. Everything I found was either too generic (world clock tools with no team context), too heavy (paid tools, browser extensions), or required me to set up accounts, install something, or pay a subscription.
What I Built
A single HTML file. No framework, no build step, no dependencies, no server. Drop it anywhere and open it in a browser.
The app has one core interaction: a time slider. Drag it to any hour of the day and every team member’s local time updates instantly. It defaults to the current time when you load it, so the first thing you see is where everyone is right now.
Teams are defined in plain JSON files:
{
"teamName": "My Team",
"members": [
{ "name": "Alice", "timezone": "America/Los_Angeles", "location": "San Francisco, CA" },
{ "name": "Bob", "timezone": "Asia/Kolkata", "location": "Pune, India" },
{ "name": "Carlos", "timezone": "America/Bogota", "location": "Bogota, Colombia" }
]
}
Drop a new file in the teams/ folder and it auto-appears in the dropdown. No config, no code changes. Team members are sorted alphabetically, country flags and color coding are applied automatically based on timezone, and DST is handled correctly by the browser’s native Intl API — no external timezone library needed.
It’s hosted on GitHub Pages.
The code was mostly AI-generated — gave Cursor a clear spec and it handled the rest.
Who It’s For
Managers: drag the slider to a proposed meeting time and immediately see who’s getting pulled into an early morning or late evening. Adjust before you send the invite.
Individual contributors: instead of wondering if it’s a reasonable time to ping a colleague, open the page and see what time it is for them right now.
Open Source
The project is MIT licensed and lives at:
To use it for your own team:
- Fork the repo
- Add a JSON file to
teams/with your team’s data - Push — GitHub Actions deploys it automatically
Any valid IANA timezone works, so your team’s location doesn’t matter.
If you manage a distributed team and find this useful, fork it and make it yours.
