Visual timezone dashboard in your URL
Rethinking Timezone Coordination Through Privacy-First Engineering
    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:
- Iterate through 30-minute slots over a 48-hour window
 - Calculate comfort weights for each person (0.0 = unavailable, 1.0 = optimal)
 - 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
 
 - Group consecutive slots into meeting windows
 - 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.