Vibecode Setmore

track this build4 phases, 12 steps, beginner friendly
KINDA · weekend project
price $12/moyou'd save $144/yrbuild time weekend to multi-daycategory 📅 schedulingreplaced by 0 people

The visible appointment scheduling loop is buildable, but a credible replacement needs more than the first screen. Setmore earns its keep through OAuth, calendar reliability, so expect a weekend or multi-day build and a narrower personal scope.

the project pack5 files · written for this build, step by step
README.md
# Setmore · indie build

A one-calendar booking page whose hard problems are holding a slot atomically so two visitors cannot take it, reading availability without ever fetching event contents, and surviving the day the provider invalidates your sync token.

Estimated effort: **weekend**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | Next.js 15 with TypeScript, the booking page public and everything else behind a password | one public route and one private one is the whole surface |
| Storage | SQLite with a unique index on the slot instant, which is the actual booking lock | the constraint is the feature; everything else is presentation |
| Calendar | Read busy intervals through the provider's free and busy query, plus incremental sync for the working copy | asking for busy intervals means you never hold an event title in the first place |
| Time | Instants stored in UTC, rules stored with the IANA zone they were written in | an availability rule without its zone is meaningless twice a year |
| Email | One transactional provider, with a reminders row claimed before sending | the reminder that arrives twice is nearly as bad as the one that never arrives |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Node.js 22 or newer** · free
  - Why: Runs the booking page and the sync worker.
  - Get it: nodejs.org, or your version manager.
  - Verify: node --version prints v22 or higher
- [ ] **Calendar API credentials with the narrowest scope that returns busy intervals** · free
  - Why: Every additional scope is more of your diary exposed to a tool you wrote at the weekend.
  - Get it: Create a project with your calendar provider, enable the calendar API, and request only the scopes you need to read free and busy and to create events.
  - Verify: A free and busy query returns intervals and no event content
- [ ] **A stable HTTPS address for the OAuth callback and the booking page** · free to a few pounds a month
  - Why: The consent flow needs a fixed redirect and your visitors need a link that does not change.
  - Get it: A small host or a tunnel with a stable hostname.
  - Verify: The consent flow completes and returns to your address
- [ ] **A transactional email provider key** · free tiers are usually enough at this volume
  - Why: Confirmations and reminders go out from here, and a personal mailbox is not the right sender for automated mail.
  - Get it: Any transactional provider with a verified sending domain.
  - Verify: A test confirmation arrives with correct times
- [ ] **Your availability rules, written down with their timezone** · free
  - Why: These are the input to everything in phase one, and deciding them in code means deciding them badly.
  - Get it: Write the weekday windows, slot length, buffers, lead time and horizon into a file before you start.
  - Verify: The rules file is complete and every rule names a zone

## Quick start

Follow Phase 1 in `BUILD_PLAN.md`; it creates the project.

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- Team routing and round robin.
- Payments at booking.
- SMS reminders.
- Group classes and recurring appointments.
- race-free booking under load
- team routing and round robin
- reliable reminders and timezone edge cases
- calendar-provider edge cases and timezone correctness
- multi-calendar conflict handling

If one of those is essential to you, that is the reason to keep paying for Setmore, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

why people still pay

Setmore: People pay because a booking tool must never double-book them, leak private events, or send the wrong time to a client.

what you lose

xrace-free booking under load

xteam routing and round robin

xreliable reminders and timezone edge cases

xcalendar-provider edge cases and timezone correctness

xmulti-calendar conflict handling

share on X ↗"I just replaced Setmore ($12/mo) with one prompt"
the escape hatch

Don't feel like building it? These folks already made it free.

Appointy FreeOne staffer gets reminders, classes and Square checkout for 100 bookings a month; growth wakes the paywall.$0free↗Square Appointments FreeA serious free solo booking stack where Square operates; processing fees remain and the feature mix varies by country.$0free↗

no votes, no pay-to-list · just what's real

the numbers

Setmore pricing

planmonthlyannual (per mo)what you get
free$0/user$0/userUp to 4 users; 200 appointments/month; 1 reminder per appointment.
pro$12/user$5/userUnlimited users and appointments; 2 reminders per appointment; SMS reminders subject to fair use.
enterprisecustom—Custom booking system for larger organizations; no public numeric seat minimum or quota.

free tierUp to 4 users; 200 appointments/month; 1 reminder per appointment.

billingmonthly + annual; Pro is $12/user/month monthly or $5/user/month annually; Enterprise custom

hidden costsLive Receptionist is a separate $99/month plan; every staff calendar counts as a paid user even when that staff member has no login. Pro SMS has no fixed numeric allowance, but fair-use monitoring and regional delivery restrictions apply.

verified 2026-08-14 · source ↗

questions
Vibecode Setmore

Kinda. The core of Setmore is buildable in a weekend with the prompt on this page, but there are real gaps: race-free booking under load, team routing and round robin. Read the honest list above before committing.

How much does Setmore cost?

Setmore costs about $12/month (Pro, checked 2026-07-31), which is $144 per year.

What do I lose by replacing Setmore?

Honestly: race-free booking under load; team routing and round robin; reliable reminders and timezone edge cases; calendar-provider edge cases and timezone correctness; multi-calendar conflict handling. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to Setmore?

Yes: Appointy Free (One staffer gets reminders, classes and Square checkout for 100 bookings a month; growth wakes the paywall.) Square Appointments Free (A serious free solo booking stack where Square operates; processing fees remain and the feature mix varies by country.) The prompt is for when you want it exactly your way.