Mohak Garg
Back to projects
Personal Project
2026

TimeMesh: Group Scheduling Tool

No-signup, link-based group availability tool that finds the best meeting time automatically.

Product Manager & Engineer — Discovery, UX Design, Full-Stack Development, Deployment

Next.js
PostgreSQL
TypeScript
Product Strategy
Algorithm Design
Mobile UX
Zero
Signup required
24+
Time zones supported
Live SSE
Real-time updates
The Problem

Group scheduling tools like Doodle and When2Meet are cluttered, require everyone to sign up, or fail to handle real-world complexity — multiple time zones, availability nuance, and messy back-and-forth in group chats. Students coordinating group projects and professionals managing cross-team syncs face the same friction: no tool makes it fast and frictionless for everyone involved.

The Solution

Built TimeMesh — a no-signup, link-based group availability tool. Participants paint their availability on a visual grid (Preferred / Available / If Needed), and the algorithm surfaces the best overlap automatically with a live real-time heatmap. No accounts required for participants.

Screenshots

TimeMesh Landing Page
TimeMesh Landing Page
Group Availability Heatmap
Group Availability Heatmap

Product Artifacts

Live Site
Try it live
Open
GitHub
Source code
View

Case Study

Context
  • Group scheduling is a universal pain point — coordinating 5+ people across time zones generates endless 'when are you free?' messages.
  • Existing tools like Doodle and When2Meet require accounts, have poor mobile UX, or treat all availability as equal with no priority weighting.
  • Students face this every semester for group projects; professionals face it every week for cross-team syncs.
  • The core job-to-be-done: find the best meeting time with zero friction for every invitee.
Decision
  • Scoped ruthlessly to the core loop — create event → share link → paint availability → see best time. Cut account creation, notifications, and calendar integrations from MVP.
  • Chose a drag-to-paint interaction model over checkbox grids to make availability entry fast and visual.
  • Implemented three-tier priority system (Preferred / Available / If Needed) so the algorithm weights overlap quality, not just quantity.
  • Used Server-Sent Events for real-time updates so participants see each other's availability live without polling.
  • Chose Next.js + PostgreSQL on Vercel for zero DevOps overhead and a shareable URL from day one.
Execution
  • Conducted competitive analysis across Doodle, When2Meet, Calendly, and LettuceMeet to map UX gaps and opportunity space.
  • Designed a drag-to-paint grid interaction that works across desktop and mobile with touch event handling.
  • Built a weighted scoring algorithm that ranks time slots by Preferred > Available > If Needed priority levels.
  • Shipped 24+ timezone support so the event creator sets the reference timezone and participants see slots in their local time.
  • Implemented live group heatmap with SSE so availability overlap is visible in real time as participants fill in.
  • Shipped QR code sharing and event codes for frictionless invite distribution.
  • Deployed on Vercel with auto-aliasing on every push — zero manual deployment steps.
Outcome
  • Live product at timemesh-app.vercel.app — no signup required for participants, shareable in seconds.
  • Real-time availability updates across all participants using Server-Sent Events.
  • Mobile-responsive grid handling 6+ dates without UX degradation on any screen size.
  • Immediate adoption by classmates for group project scheduling with zero onboarding required.
Learnings
  • Constraint is a feature — removing account creation wasn't a limitation, it was the product's biggest differentiator. The constraint forced a better UX decision.
  • Touch UX is a first-class engineering problem — drag-to-paint felt natural on desktop but required intentional solutions for mobile: touchAction conflicts, scroll vs. paint interaction, and cell sizing all needed separate fixes.
  • Ship fast, validate faster — getting a live URL into a group chat is worth more than a month of design iteration. Real usage revealed UX issues no prototype would have caught.