CalChatShareable, timezone-aware availability planner.
01
Where the idea came from
CalChat came out of a summer. Once the semester ends, my friends scatter back to their home countries, and what used to be a walk across campus turns into a group chat spread across a handful of timezones. Staying in touch gets harder than it should be, and the hardest part is the smallest one. Finding a single hour when everyone is awake and free at the same time. We would trade messages for days trying to pin down one call. I wanted a single link that just answered that question for us, so I built CalChat.
02
How the overlap math works
Every free block is stored as an integer 15-minute UTC slot rather than a wall-clock time. That one decision makes the hard parts trivial. Daylight saving shifts, half-hour-offset zones like Mumbai and Kathmandu, and participants spread across continents all collapse to the same integer space, so computing the overlap is just set intersection. The display layer converts those slots back into each viewer's local time on the way out.
03
Three ways to read the overlap
The same data renders three ways. A heatmap stripes each participant so you can see who is free when at a glance. A true week-grid calendar places the overlap blocks at their real times. And a recurring sweet-spots heatmap looks across many weeks to surface the day and hour of week that is most reliably open, which is the view you want for anything repeating. Visitors move week by week, or jump by month and year, and can plan for any future week.
04
The background scene
The backdrop is built with React Three Fiber. Floating calendar shard planes drift through three concentric timezone-dial rings with cursor magnetism and click ripples, and every 14 seconds a small group of them eases into a stacked column. It is a wordless metaphor for schedules locking in, and it keeps the planning surface feeling alive without getting in the way.