Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌍 Timezone Coordinator

⚖️ Schedule Meetings Nobody Hates

The Fairest Meeting Scheduler for Distributed Global Teams

Zero 2 AM Meetings • Biological Sleep Protection • 100% Client-Side Privacy


🚀 Open Live Application 🧪 Automated Tests JavaScript License: Apache


🌐 Live Demo App: https://timezone-coordinator-phi.vercel.app/index.html


💡 What is Timezone Coordinator?

Most scheduling tools only check if a calendar slot is "free" or "busy". They don't care if a meeting falls at 2:00 AM for a teammate in Tokyo while everyone else in San Francisco is sipping afternoon coffee.

Timezone Coordinator fixes global team burnout by calculating the human inconvenience ("pain") of every meeting time. It protects deep sleep hours and automatically tracks sacrifice over time so the same people don't always get stuck with bad hours.


📥 How to Download & Use

Option 1: Use Instantly Online (No Download Needed)

Simply open the live web app in any browser on your computer or phone:
👉 Launch Live Application

Option 2: Download & Run on Your PC / Laptop

  1. Download ZIP: Click the green Code button at the top of this GitHub page and select Download ZIP (or Download ZIP directly).
  2. Extract: Unzip the downloaded .zip file on your computer.
  3. Run: Double-click index.html to open it in Chrome, Edge, Firefox, or Safari! (No Node.js, npm, or installation required!).

🚀 Step-by-Step User Guide

  1. Create Your Team: Click Create Team and enter a team name (e.g. "Engineering Globals").
  2. Add Team Members: Enter each teammate's name, choose their IANA Timezone (e.g. America/Los_Angeles, Europe/London, Asia/Kolkata, Asia/Tokyo), and set their working hours.
  3. Find the Best Time: Click Find Best Meeting Time. The app evaluates all 24 UTC hours and ranks the fairest slots with 0 sleep disruption.
  4. Schedule & Share:
    • Click Export .ics to download a calendar invite for Google Calendar, Apple Calendar, or Outlook.
    • Click Share Link to copy a read-only snapshot URL to send to your team.

✨ Features

  • ⏱️ Pain-Based Scheduling: Evaluates all 24 hours of the global day and scores them from 0 (ideal work hours) to 100 (deep night).
  • 🌙 Sleep Protection: Automatically blocks late night and deep sleep hours (10 PM – 6 AM).
  • ⚖️ Fairness Engine: Remembers past meetings so teammates who took late calls recently are protected in future scheduling runs.
  • 🌐 260+ Timezones Supported: Native support for all UN IANA timezones, including half-hour offsets like India (+5:30) and Nepal (+5:45).
  • 🗺️ Live Vector World Map: Natural Earth map with real-time day/night solar shading and member location pins.
  • 🔗 Zero-Database URL Sharing: Share team setups instantly via compressed shareable links.
  • 📅 Calendar Export (.ics): Export scheduled meetings directly to Google Calendar, Apple Calendar, or Outlook.
  • 🔒 100% Client-Side Privacy: Runs completely in your browser (localStorage). No servers, no tracking, zero API calls.
  • 🎬 Interactive Visuals: Features a spinning 3D dot Earth globe in the hero section and an optional visual story page (about.html).

🧪 Automated Algorithm Testing

To guarantee 100% mathematical precision and zero scheduling glitches, all core scheduling algorithms are verified by an automated test suite.

🏃 How to Run the Tests Locally

If you want to run the automated algorithm tests on your computer:

  1. Open your terminal or command prompt inside the project folder.
  2. Execute the test runner script:
    node test.js
  3. You will see live green passing checkmarks (✅ [PASS]) verifying all algorithm test cases.

📊 What is Verified

  • Circadian Biological Pain Scoring: Verifies pain scores (0–100) and smooth minute interpolation across 24-hour UTC timelines (PainCalculator.js).
  • Fairness & Sacrifice Protection: Verifies historical burden tracking, dynamic slot re-weighting, and multi-week rotation schedules (FairnessEngine.js).
  • 260+ IANA Timezone Database Integrity: Validates geographic [lat, lon] coordinates and country mappings (timezonesData.js).
  • Vector World Map Projection: Validates 3D sphere point-cloud mapping and equirectangular framing limits (WorldMap.js).

🛠️ Tech Stack

  • Frontend: HTML5, Vanilla CSS3 (Glassmorphism & CSS Variables)
  • Logic: Pure Vanilla JavaScript (ES6+ Modular Architecture)
  • 3D & Vector Graphics: Three.js (about.html) & HTML5 Canvas 2D (WorldMap.js, globe.js)
  • Storage & State: Browser localStorage & Base64 URL parameter state encoding
  • Timezone Intelligence: Native browser Intl.DateTimeFormat API

⭐ Support the Project

If you find Timezone Coordinator helpful, please give the repository a star ⭐ on GitHub!

Releases

Contributors

Languages