Visual timezone dashboard in your URL

Rethinking Timezone Coordination Through Privacy-First Engineering

Visual timezone dashboard in your URL

The Problem: Timezone Fatigue in Distributed Teams

After years of working with globally distributed teams, I noticed a pattern: everyone hated scheduling meetings. Not because of calendar conflicts, but because of the mental exhaustion from constant timezone math. "Is 2 PM my time too early for them?" "Will this be their dinner time?" "Which day is it even for them?"

Existing solutions failed in different ways:

  • World clock apps just showed times without context about work hours
  • Scheduling tools required accounts, back-and-forth proposals, and feature bloat
  • Manual coordination meant endless "what time works for you?" messages

I wanted to build something that respected both user privacy and user time — a tool that would just work without asking for anything in return.

The Vision: What If There Were No Backend?

The breakthrough came from a simple question: What if the entire application lived in the URL?

Instead of databases, user accounts, and server infrastructure, I could encode everything into URL parameters. Your team setup becomes a shareable link. Bookmark it, send it to colleagues, or keep it private — it's entirely under your control.

This "zero-backend" philosophy meant:
- No data collection (nothing to store = nothing to leak)
- Instant sharing (the URL is the data)
- No infrastructure costs (clients do all the work)
- Perfect privacy (data never leaves the browser)

But URLs have length limits, so I needed compression.

Engineering Deep Dive

URL Compression: 60% Size Reduction

I built a custom encoding system using timezone short codes: ?m=John:NY:9-17,Sarah:LON:9-17

Implementation:
- 50+ timezone short codes (NY, LON, TKY) in both directions
- Backward compatibility: auto-migrates old format URLs
- Efficient encoding without external libraries

Result: Teams of 20+ people fit comfortably in shareable URLs.

The Fairness Algorithm: Beyond Simple Overlap Detection

Finding overlapping hours is easy. Finding fair overlapping hours is hard.

I built a multi-metric scoring system that prevents scenarios where one person always gets terrible meeting times while others are comfortable.

How it works:

  1. Iterate through 30-minute slots over a 48-hour window
  2. Calculate comfort weights for each person (0.0 = unavailable, 1.0 = optimal)
  3. Score each window on three dimensions:
    • Average comfort: How good is this time overall?
    • Minimum comfort (fairness): Does anyone suffer significantly?
    • Time quality: Penalize 5 AM meetings exponentially
  4. Group consecutive slots into meeting windows
  5. Sort by balanced quality: Best for everyone, not just the majority

Example scenario:
- Option A: Great for 4 people, terrible for 1 person → Lower score
- Option B: Good for everyone → Higher score

This fairness consideration prevents meeting suggestions that work for most people but force someone to join at 3 AM.

Smart Bulk Import: Handling Messy Real-World Data

Real teams don't have pristine CSV files. They have Excel spreadsheets, Slack copy-pastes, and typos. My parser handles all of it.

Supported formats:
- John Doe, New York, 9-5
- Tokyo
- Justin EDT
- Jane London 9am-5pm [tab-separated]
- Mike|Paris|9-17 [pipe-separated]

Location Resolver: 500+ Cities, Multiple Formats

The messy reality of timezone input requires flexibility:

Supported inputs:
- IANA timezones: America/New_York
- City names: New York, NYC, New York City
- Short codes: NY, LON, TKY, SYD
- Abbreviations: EST, EDT, PST, JST
- Country names: India → Asia/Kolkata

Edge cases handled:
- IST → Asks: India or Ireland?
- Multiple cities per timezone (Seattle = San Francisco = Los Angeles)
- Common typos with suggestions

70+ city mappings and 50+ timezone codes mean users can input data naturally.

Timezone Math Engine: Handling Global Complexity

Timezones are deceptively complex. My calculation engine handles every edge case:

Fractional hour offsets:
- India: UTC+5:30
- Nepal: UTC+5:45
- South Australia: UTC+9:30

DST awareness:
- Live offset calculations (no hardcoded values)
- Date boundary detection (showing when it's a different day)
- Automatic updates when clocks change

Wrap-around schedules:
- Night shifts: 22:00-05:00
- Correct availability calculation across midnight

Performance optimization:
- Timezone offset caching to avoid repeated calculations
- Efficient hour label generation for timelines
- Real-time updates without lag (handles 20+ team members smoothly)

Interactive SVG Timeline: Visualizing Time

The timeline transforms abstract timezone data into intuitive visuals:

Features:
- Synchronized current time markers: Real-time indicators across all timelines
- Color-coded periods
- Responsive vector graphics: Perfect scaling from mobile to 4K displays

UX Design Philosophy

Privacy as a Feature

I made privacy visible, not hidden:
- Zero tracking: No analytics, cookies, or storage
- Transparent data flow: URL encoding makes everything visible
- Client-side execution: All calculations in browser
- No signup friction: Open the link, use the tool

This isn't just ethical — it's practical. Security-conscious organizations can use the tool without compliance reviews.

Progressive Disclosure

Power users get advanced features; casual users get simplicity:
- Default view: Simple timeline with current times
- One click away: Overlap finder, bulk import
- Collapsible help: Format examples hidden until needed
- Smart defaults: Auto-loads user timezone + NY/London/Tokyo

Instant Feedback

Every interaction provides immediate validation:
- Real-time preview during bulk import
- Debounced URL updates (no jank during rapid typing)
- Visual confirmations (color changes, animations)
- Error guidance ("Could not find Atlantis. Did you mean Atlanta?")

Conclusion

Syn-co.me proves that sophisticated technical solutions can respect user privacy without sacrificing functionality. It's not just another timezone tool — it's a demonstration that the zero-backend paradigm can deliver real-world value.

This is what happens when an engineer asks "What if we rebuilt this completely differently?" and follows through with both technical depth and user empathy.