Custom Booking System
The Setup
I needed a way for people to book paid sessions with me. The obvious answer was Calendly. Or Acuity. Or Cal.com. But I didn’t want to pay $12-16/month for a scheduling tool, didn’t want another login to manage, and didn’t want my booking flow to look like everyone else’s.
The constraint that made this interesting: I already used Google Calendar for everything, and I already had Stripe set up for payments. Could I just… connect them? Without a middleman?
The Build
I described the flow to Claude Code: “Someone picks a time from my available slots, pays through Stripe, and it shows up on my Google Calendar. Confirmations go out automatically. No third-party scheduling tool.”
Claude built it on Cloudflare Workers — serverless functions that run at the edge, cost almost nothing, and don’t require a server. The system pulls my real availability from Google Calendar, shows open slots, lets someone book and pay through Stripe checkout, then creates the calendar event automatically.
The whole thing is API glue. Google Calendar API for availability and event creation. Stripe for payment processing. Cloudflare Workers for the logic that connects them. No database. No backend framework. Just functions that talk to APIs.
The Mess
The Google Calendar API was the hard part. Not because the API is bad — it’s actually well-documented. But the auth flow is fiddly. OAuth tokens, refresh tokens, service accounts. Getting the permissions right so the system could read my calendar and create events took multiple rounds of debugging.
Timezone handling was also more painful than expected. When someone in California books a slot that shows as 2pm Central, everything needs to agree on what time that actually is. It sounds obvious. It wasn’t.
And the edge cases. What happens when someone starts the booking flow and someone else books the same slot before they pay? What if a payment fails after the slot is held? Each edge case meant more logic, more testing, more “I didn’t think of that.”
The Result
The booking system is live on hazelq.com. People book sessions, pay, and get confirmations — all without me touching anything. It’s the same flow as Calendly but it’s mine. No monthly fee. No branding from someone else’s company. No limits on the free tier.
It handles my $150-200/hr 1:1 Claude sessions and my $125 strategy calls. The whole thing runs on Cloudflare’s free tier. My total cost for a scheduling and payment system is $0/month plus Stripe’s standard transaction fees.
The real win isn’t the money saved. It’s the proof of concept. If you can describe a workflow — “someone picks a time, pays, and it shows up on my calendar” — you can build it with AI. You don’t need to find a SaaS tool for every problem.
The Takeaway
Most SaaS tools are just API glue with a UI on top. If you know what APIs you want to connect, you can skip the middleman entirely.
How It’s Built
- Runtime: Cloudflare Workers (serverless functions)
- Calendar: Google Calendar API (OAuth2)
- Payments: Stripe Checkout
- Hosting: Cloudflare (free tier)
- Cost to run: $0/month + Stripe transaction fees
- Built with: Claude Code