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
- Add up to four cities with auto-timezone detection
- Each city shows 09:00–17:00 work hours in their local time
- Overlap hours are highlighted for quick visibility
- Dark/light mode toggle with localStorage sync
- Mobile responsive layout with horizontal scroll
- Works offline once loaded
🧠 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?
- Ability to label meetings and export selected time
- Auto-link sharable URLs with selected cities
- Drag-and-highlight to select meeting hours
- Save preset teams for quick reuse