How I Built Meet on Time – A Time Zone Meeting Planner

Meet on Time is a visual scheduling tool that helps plan meetings across different cities by comparing their working hours in a horizontal timeline. Unlike time converters, it shows the overlap directly, so you can instantly spot the best slot to meet. With support for multiple cities, dark mode, and mobile responsiveness, it brings clarity to remote collaboration. Whether for personal coordination or global teamwork, it saves time, effort, and confusion.

🌍 What It Solves

Coordinating with teammates or clients in different time zones is usually frustrating. Tools like world clocks or converters show individual times, but they don’t show how working hours align. Meet on Time fixes that by rendering time blocks side-by-side and highlighting overlaps for easy picking.

🛠️ Key Features

🧠 How It Works

Meet on Time uses the Luxon library to handle all date/time zone logic, including parsing user input and detecting current offsets. The main timeline renders from 00:00 to 23:00 UTC, and each city maps its work hours to that frame. Overlaps are computed dynamically on each render.

// Determine overlap between multiple cities
function getOverlapRange(cities) {
  let start = -Infinity;
  let end = Infinity;
  for (const city of cities) {
    start = Math.max(start, city.startUtc);
    end = Math.min(end, city.endUtc);
  }
  return start < end ? { start, end } : null;
}

📱 Mobile Friendly

Built from the ground up to be responsive, the timeline scrolls smoothly on mobile. Controls like city input and theme toggle adapt cleanly to small screens. Tap selection and city reordering are coming next.

🎯 Design Philosophy

I aimed for clarity over complexity. Each city row is uniform, showing a visual block of hours rather than numbers. The dark mode isn't just a feature — it’s part of the overall look, highlighting active hours more effectively.

"Scheduling isn’t about converting time — it’s about seeing it clearly. Meet on Time makes overlapping hours visible at a glance." – Saheef

🔮 What's Next?