Can I vibe code Cal.com?
Open-source scheduling — the Calendly alternative you can self-host.
Cal.com is open source, so the honest question is whether you can self-host and customize it or build the personal slice yourself — and yes to both. The easy part is the booking page and event types; the hard part, exactly as with Calendly, is trustworthy two-way sync across Google, Outlook, and iCloud, timezone and DST correctness, and race-free double-booking prevention. A personal booking page is a weekend; matching the sync reliability is where the effort lives.
Build me a personal scheduling page in the spirit of Cal.com. Let me define event types (name, duration, buffers, daily cap, and the weekly hours I'm bookable) in a config file; connect to my Google Calendar via OAuth to read free/busy so I'm never double-booked; show open slots converted to the visitor's detected timezone; and on booking, create the calendar event with a Meet link and email both parties a confirmation with reschedule/cancel links. Prevent race-condition double-bookings with a database transaction and handle DST carefully. Use Next.js App Router with a hosted Postgres, deploy to Vercel, and list the timezone and sync edge cases I should test.
A public booking page with configurable event types that reads your free/busy from Google Calendar and writes confirmed events with invites.
- Battle-tested two-way sync across Google, Outlook, and iCloud
- Team scheduling, round-robin, routing forms, and workflows
- The app store of integrations and the hosted, maintained infrastructure
- A decade of timezone/DST and reschedule edge cases handled for you
Even though Cal.com is open source, people pay for the hosted plan to skip running and updating the infrastructure and to get reliable calendar sync and team features — the code is free, but never thinking about it is the product.
A prompt is the first move, not the whole game. Course 01 teaches you to take a prompt like this one to a shipped, working app — reviewing, correcting, and steering the agent the whole way.
Start Course 01 →