SAASPOCALYPSEverdict #CALENDLY-7E4C
scanned 2026.04.24 · 17:56
subject of investigation
calendly.com
▸ online appointment scheduling software
verdict: WEEKEND
buildability score
84
/100
tier · weekend
the blunt take
“You're one Google Calendar API call and a link-share away from $10/mo recurring. The hard part isn't the code — it's convincing people your link is trustworthy.”
The core loop is: connect calendar, define availability windows, subtract busy times, render gaps as booking slots. That's a weekend. Everything else — team routing, embed widgets, Salesforce integrations — is the enterprise sales brochure, not the product.
cost breakdown.
their price ←→ your price
what they charge●
Standard plan
$10
/ user/mo
※ Free tier exists; Teams plan ~$16/user/mo
annual:$120
what it costs you✦
01 · Vercel (hobby tier)$0.00
02 · Google Calendar API (free quota)$0.00
03 · Supabase (free tier — bookings table, users)$0.00
04 · Resend (confirmation + reminder emails)$0.00
05 · Domain$3.00
TOTAL / mo3
▸ break-even:1 user on the Standard plan — you're immediately cheaper than free forever
or, you know, use one of these.
if building feels spicy
option A
Cal.com (self-host)
Open-source Calendly clone. Docker-compose up and you're done. Seriously, just use this.
option B
Zcal (free tier)
Slick UI, free for individuals, zero build time. Ships while you're still reading the Google Calendar docs.
option C
A Notion form + Google Calendar
If you're booking fewer than 10 calls a week, this shambles of a stack will outlast your startup.
what'll actually be hard.
est. total: 18 hours
▸ 1 day for calendar OAuth + availability engine · 1 day for booking UI + confirmation emails · 1 evening for timezone handling (the only real trap)
easy
medium
hard
nightmare
01
easy
OAuth with Google Calendar
Follow the quickstart. It's 40 lines. You will feel like a god.
02
easy
Booking confirmation emails
Resend + a template. One afternoon. Add ICS attachment and you look like a pro.
03
medium
Availability window UI
Weekly grid of toggleable time blocks. A bit fiddly with state but nothing exotic.
04
medium
Timezone math
Store everything in UTC. Render in the guest's local zone. Use Luxon. Do not improvise.
05
hard
Conflict detection across multiple calendars
freebusy.query handles one calendar fine. Multiple accounts or calendars require careful merging and edge-case thinking.
06
nightmare
Round-robin + collective scheduling for teams
Coordinating availability across N team members with weighted routing is where this stops being a weekend and starts being a product roadmap.
recommended stack
Next.js 15 + Server ActionsGoogle Calendar API (freebusy.query)Supabase (Postgres — bookings + users)Resend (emails + ICS attachments)Luxon (timezone sanity)
ready to build?
We'll email you the build guide. You'll be done by Sunday.
▸ generated with love, by a heartless robotverdict v2.1 · saaspocalypse.dev