The verdict: can you vibe code Calendbook?
You can build a personal scheduling clone in a couple of weekends, but calendar API synchronization and timezone edge cases will test your patience.
Calendbook is a classic CRUD-plus-API-integration SaaS product. Building the UI, database models, and booking pages is straightforward with modern AI tooling. However, you will inevitably hit friction when wrestling with Google Calendar OAuth token refreshes, handling recurring slot calculations across disparate timezones, and debugging webhook retries for payment confirmations. Since the real product costs roughly $2/month, you are building this entirely for control or learning, not financial arbitrage.
Estimated effort: 2-3 weekends
What you can't replicate
- Their exact SEO footprint and AppSumo marketplace distribution channel
- Existing user reviews and trust signals
Founded
2019
Raised
$406K
Team
~6 employees
Cheapest paid tier
$0/mo
What Calendbook does
An online appointment scheduling SaaS product that serves as a low-cost, lightweight alternative to market leaders like Calendly.
Core features
- User profile and custom booking link slug management
- Event type creation (duration, pricing, custom questions)
- Google Calendar bidirectional sync and conflict detection
- Google Meet automated video link generation
- Availability matrix calculation engine (buffer times, working hours)
- Public booking flow for clients to select slots
- Email notifications and reminders
- Stripe payment integration for paid appointments
The business
Pricing
- Free Plan$0/mo
- Premium Plan$2/mo
Funding
$406K from Sistema Puglia, NAStartUp
Pay vs build, cumulative
Break-even at month 17 — after that, every month is money kept.
The hard parts of vibe coding Calendbook
- Bidirectional calendar sync ensuring zero double-bookings across multiple connected provider accounts
- Complex availability matrix math factoring in timezone conversions, custom date overrides, and buffer intervals
- Webhook reliability and retry queues for video link creation and payment confirmations
How to vibecode Calendbook
Prerequisites
Node.jsfree
Runtime environment for Next.js and TypeScript development
GitHubfree
Source control and deployment pipeline integration
Google Cloud Console Accountfree
Required to set up OAuth credentials for Google Calendar and Google Meet integrations
AI coding tools
Recommended stack
| Frontend | Next.js (React) with Tailwind CSS and shadcn/ui |
|---|---|
| Backend | Next.js Server Actions & API Routes |
| Database | Turso (SQLite at the edge) |
| Auth | better-auth |
| Payments | Stripe |
| Other | Resend for transactional emails, Google Calendar API for availability sync |
Hosting & infrastructure
| Cloudflare | Hosting the Next.js application frontend and API routes via edge deployment | $0-5/mo |
Build guide
01Project Scaffolding & Database Schema
Initialize a Next.js project with Tailwind CSS, configure Turso SQLite with Drizzle ORM, and set up the core data models for Users, EventTypes, Bookings, and ConnectedCalendars.
Create a new Next.js TypeScript project using App Router and Tailwind CSS. Initialize Drizzle ORM configured for Turso SQLite. Write the database schema for: users (id, email, slug, timezone), event_types (id, userId, title, description, duration, price, isVisible), bookings (id, eventTypeId, clientName, clientEmail, startTime, endTime, status, paymentId), and connected_accounts (id, userId, provider, accessToken, refreshToken, expiresAt). Implement the database migration files and connection helper.02Authentication with better-auth
Integrate better-auth for secure user registration and login, linking user sessions to the database schema.
Configure better-auth in the Next.js application to support email/password authentication and Google OAuth login. Create sign-in and sign-up pages using Tailwind CSS and shadcn/ui components. Ensure that upon user registration, a default user record with a unique scheduling slug is generated in the Turso database.03Google Calendar OAuth & Sync Setup
Build the OAuth flow to link external Google accounts and fetch calendar free/busy availability data.
Implement API routes to handle Google Calendar OAuth connection flow. Store encrypted access and refresh tokens in the connected_accounts table. Write a service function that calls the Google Calendar Freebusy API given a time range and a user's calendar ID, correctly handling token expiration and automatic token refresh logic.04Availability Calculation & Public Booking Page
Create the public scheduling UI where clients can view open slots and book appointments.
Build a dynamic public booking page at /[username]/[eventSlug] that renders a calendar date picker and available time slots. Write an availability calculation utility that merges user working hours, buffer times between meetings, existing bookings in the database, and busy intervals fetched live from the user's connected Google Calendar. Ensure all slot computations correctly account for client and host timezones.05Booking Creation & Google Meet Integration
Handle appointment form submissions, write bookings to the database, and auto-generate Google Meet video conference links.
Implement the booking submission server action that validates selected slot availability to prevent double-booking. When a booking is confirmed, use the Google Calendar API to insert an event into the host's calendar with conferenceDataVersion set to create an integrated Google Meet video link. Handle error cases gracefully if the API call fails.06Email Notifications & Reminders
Integrate Resend to send confirmation emails and meeting reminders to both hosts and clients.
Integrate the Resend API to send automated transactional emails. Create email templates using React Email for booking confirmations containing appointment details, calendar invite files (.ics), and Google Meet links. Trigger confirmation emails immediately upon successful booking creation.07Stripe Payments for Paid Events
Add Stripe Checkout integration so hosts can charge for specific event types before confirming bookings.
Implement Stripe Checkout integration for event types that have a non-zero price. Update the public booking flow so that selecting a slot redirects the client to a Stripe Checkout session. Create a Stripe webhook handler endpoint to listen for checkout.session.completed events, securely verify the signature, and finalize booking creation in the database only after successful payment.
Cost vs paying for Calendbook
What will you build it with?
Starting total with Claude Code$0 one-time
Starting costs (one-time)
- Custom Domain (optional)$12/yr
- AI Coding Assistant (Claude Pro / Cursor)$20
Total~$32 one-time
Ongoing costs (monthly)
- Cloudflare / Turso / Resend Free Tiers$0/mo
Total$0/mo
Paying for Calendbook
$2/mo
Your time to build
16-24 hours
AI tool credits
$20
Break-even
Never (built for personal control and learning)
Vibe code Calendbook: FAQ
- Can you vibe code Calendbook yourself?
- Solid side project — 75/100 vibecodeable. You can build a personal scheduling clone in a couple of weekends, but calendar API synchronization and timezone edge cases will test your patience.
- How long does it take to vibe code Calendbook?
- 2-3 weekends — roughly 16-24 hours of hands-on time with an AI coding agent.
- How do you build your own Calendbook?
- Scoped to personal use: Next.js (React) with Tailwind CSS and shadcn/ui on the front, Next.js Server Actions & API Routes behind it, Turso (SQLite at the edge) for data. Follow the 7-step build guide on this page — each step has a paste-ready prompt for an AI coding agent.
- How do you code your own Calendbook without being an expert?
- Use an AI coding tool (Claude Code or Cursor) and work in small steps: scaffold, data model, core screens, then deploy. Realistic effort: 2-3 weekends. The prompts on this page are written so the AI does the heavy lifting.
- How much does it cost to vibe code Calendbook instead of paying?
- About ~$32 one-time to start and $0/mo to run, versus $2/mo for Calendbook. Break-even: Never (built for personal control and learning).
- What stack should you use to vibe code Calendbook?
- Next.js (React) with Tailwind CSS and shadcn/ui; Next.js Server Actions & API Routes; Turso (SQLite at the edge); plus Resend for transactional emails, Google Calendar API for availability sync.