All Startup Ideas

Smart Meeting Scheduler

Cross-timezone meeting scheduler with AI conflict resolution and team round-robin. Flat-team pricing under Calendly. Weekend MVP guide + prompts.

Global teams lose 7+ hours a week to cross-timezone scheduling. A sales rep in New York trying to schedule a prospect in Sydney. A design team coordinating a cross-functional review across EMEA, APAC, and the Americas. A founder hiring their first engineer in Europe. Current tools either show "everyone's availability" as a raw union (Calendly group polls, When2Meet) or pick a slot without considering that 6am for Singapore is a terrible time to think clearly. Calendly dominates the scheduling-link category with 20M+ users and a $3B+ valuation, but charges $10–$20 per user per month. For a 10-person team that's $1,200–$2,400/year just for booking links. SavvyCal and Cal.com chip at the edges with better UX and lower pricing, but the "AI conflict resolver that understands working hours" is not yet a standard feature. The wedge is opinionated defaults: never suggest outside a person's working hours, never suggest back-to-back meetings, always prefer slots after lunch.

Built for Developers, Solo Founders, Designers.

Suggested stack: Next.js 14 App Router, Supabase + Postgres, Google + Microsoft Calendar APIs, Claude Haiku for slot judgment, Zoom + Google Meet API, Stripe Billing + Widget CDN. Weekend scope: about 10 hours.

The Problem

Global teams lose 7+ hours a week to cross-timezone scheduling. A sales rep in New York trying to schedule a prospect in Sydney. A design team coordinating a cross-functional…

The Solution

A Calendly-class scheduling SaaS with three opinionated improvements. One: AI slot suggestion that respects working hours by timezone (never shows 6am Sydney as a "free" slot even…

Market Research

Calendly has 20M+ users across 100K+ companies (public stats, 2023). SavvyCal reports strong indie traction. Cal.com GitHub repo has 30K+ stars and 5K+ self-hosted instances.

Competitive Landscape

Calendly — Category leader. 20M+ users, $3B valuation. Deep Salesforce/HubSpot integrations. Per-user pricing scales linearly; enterprise focus. Round-robin requires Teams plan at…

Business Model

Free ($0) — 1 event type, 1 calendar, 10 bookings/mo, “Powered by” footer

Recommended Tech Stack

Next.js 14 App Router — Admin + booker-facing pages. `/[username]/[event-type]` public booking URLs as Server Components for fast first paint and SEO.

AI Prompts to Build This

Copy these build prompts into Claude, Cursor, or your AI coding tool. Create a free account to unlock the full research behind them.

  1. 1. Project Setup

    Build the weekend MVP of the "Smart Meeting Scheduler": a booking page that reads your Google Calendar, never offers a time that is unreasonable for either side, and books the meeting with a Meet link. One host, one calendar.
    
    Stack: Next.js (App Router), TypeScript, Tailwind, Supabase (Postgres, Row Level Security, Auth with Google sign-in that also asks for calendar access), the Google Calendar API for free and busy times and for creating events. Slot ranking is plain code with no model. Deploy on Vercel.
    
    Tables (Row Level Security on; a host reads only their own rows, and the booking page reads through a server route):
    - profiles(user_id, username, timezone, working_hours jsonb, google_refresh_token_encrypted)
    - event_types(id, user_id, slug, title, duration_min, buffer_min, min_notice_hours, max_advance_days)
    - bookings(id, event_type_id, invitee_name, invitee_email, invitee_timezone, start_at, end_at, meeting_url, google_event_id, status) unique on event_type_id and start_at
    
    Screens: /login, /settings (timezone, working hours, event types), /[username]/[slug] (the booking page), /bookings.
    Env vars (names only): NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY (server only), GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, TOKEN_ENCRYPTION_KEY.
    
    Do not build: billing, plans or team pricing, round-robin or teams, an embeddable widget, Outlook or iCloud, Zoom, a model for ranking.
    Done when: npm run dev starts, you can sign in with Google, and the three tables exist with Row Level Security on.
  2. 2. Core Feature

    Build the one feature that proves the Smart Meeting Scheduler: timezone-aware slots that are never silly, and a booking that cannot double-book.
    1. Availability: fetch the host's free and busy times from Google Calendar (cache for 5 minutes). Apply the host's working hours by weekday in the host's timezone. Subtract existing confirmed bookings from the database too. Build candidate slots of the event's duration with its buffer, then apply min_notice_hours and max_advance_days.
    2. Rank in plain code with named constants. Add 10 for 10:00 to 11:30 local, add 5 for 13:30 to 15:00, subtract 5 within 30 minutes of the end of working hours, subtract 15 within 30 minutes of the start, subtract 10 for a slot back to back with another meeting, subtract 20 when either person would be outside 08:00 to 19:00 in their own timezone.
    3. The booking page detects the visitor's timezone from the browser, shows the top 5 slots as "Best for both of you" and the rest under "All times", in the visitor's timezone with the host's timezone beside it.
    4. Booking inserts the row first. The unique key on event_type_id and start_at stops two visitors taking the same slot, and the loser sees "That time was just taken, here are the next ones". Then create the Google event with a Meet link and the visitor as an attendee so Google sends the invite, and save meeting_url and google_event_id.
    5. Unit test the slot code across a daylight saving change and for a host in Sydney: a 06:00 Sydney slot is never offered even with an empty calendar.
    Rules: store times in UTC and convert only for display. Never show a slot the host's calendar marks busy.
    Empty state: with no event types, show a form to create the first one.
    Done when: the unit tests pass, a visitor in another timezone sees sensible slots, two simultaneous bookings for one slot produce one booking and one friendly refusal, and the visitor receives a Google invite with a Meet link.
  3. 3. Landing Page

    Build a one-page landing site for the Smart Meeting Scheduler, a booking page that respects everyone's clock.
    Hero: "Book meetings across timezones without the 6 a.m. surprise." Sub: "A booking page that reads your calendar and only offers times that work for both of you." One button: Join the waitlist.
    Sections: a sample booking page with "Best for both of you" slots, how it works in three steps (connect your calendar, share your link, get a booking with a Meet link), and an FAQ on what is coming next (teams, round-robin and an embed), which calendars work today (Google only) and how your calendar data is used.
    Waitlist: store the email in a waitlist table in Supabase. No other service.
    Style: Geist, a clean white background, one blue accent.
    Done when: the page renders on a phone and a submitted email appears in the waitlist table.
  4. 4. Branding Package

    Use a design or image tool for this one. A coding agent cannot draw a logo.
    Brand for the Smart Meeting Scheduler: pick a short working name, then design a wordmark and an icon that suggest two clock faces that overlap in the middle.
    Colors: white, ink and one blue. Type: Geist, with tabular numbers for times.
    Deliverables: wordmark, icon, a slot button style with a "best for both" state that differs by shape as well as color, and one launch graphic.
    Done when: each deliverable is saved in one folder and the best-for-both state is distinguishable without color.