Can I code this? An Appointment Scheduler for a Salon
A single-calendar booking flow is Calendly's easy case. The moment you add multiple staff members each with their own schedule, and let a client pick a specific stylist, the calendar-conflict logic gets genuinely fiddlier.
Borderline
Effort: a weekendRunning cost: $0/mo to start
Why CanICodeThis says Borderline
A single staff member's availability and a booking form is the same buildable core as any scheduling tool
Service duration (a haircut is 30 minutes, a color is 2 hours) blocking out the right amount of calendar time is straightforward
Email confirmation on booking is one transactional-email call
The parts that'll cause problems
Multiple staff, each with independent availability, and letting a client pick 'any available stylist' or a specific one, is real scheduling logic that's easy to get subtly wrong
Syncing staff availability with their personal Google Calendars (so they don't get double-booked outside the system) needs real OAuth calendar integration
Rescheduling and cancellation flows that correctly free up the slot again need care around edge cases
How I'd build this
frontend
Next.js
database
Supabase
email
Resend
hosting
Vercel / Cloudflare Pages
MVP scope
Staff profiles with services offered and duration
A public booking page: pick a service, pick a staff member, pick a time
Email confirmation to client and staff
Admin view of the day's schedule per staff member
Postpone to v2
Two-way sync with staff's personal Google Calendars
'Any available stylist' auto-assignment
SMS reminders
Online payment or deposit at booking
What it actually costs to build
AI agent — with a subscription (Claude Pro/Max, Cursor, etc.)
$0 marginal
AI agent — pay-per-use API, no subscription
$43–$86 one-time
Hosting, once it's running
$0/mo (free tier)
Domain name, if you want your own
~$12/yr
Existing tools solving a similar problem typically run $12–$12/mo — see how they compare below.
The build prompt
Build me a multi-staff appointment scheduler: staff members each have services they offer with a duration; a public page lets a client pick a service and staff member, see that person's real availability, and book a slot, blocking out the correct duration. Email confirmation to both client and staff. Admin view of each staff member's day. SQLite behind a small API. Skip Google Calendar sync and SMS reminders for v1.