# How to Vibe Code Your Own OnceHub (and Stop Paying for It)

> Online Appointment Booking Software and Digital Engagement Platform

- Site: https://oncehub.com
- Category: Scheduling & Customer Engagement SaaS
- Verdict: **Serious undertaking** (38/100 vibecodeable)
- Estimated effort: 3-5 months of part-time development

## Verdict

You can build a personal subset containing basic booking pages and calendar sync, but the complete multi-calendar orchestration, voice agents, and compliance frameworks require months of complex engineering.

Replicating OnceHub's core value as a personal tool is a major engineering undertaking. While an AI coding agent can scaffold the frontend, form builder, and basic database CRUD operations in a few days, the real bottlenecks will crush a weekend project. Managing bi-directional calendar sync across Google and Microsoft with token refreshes, race conditions, and distinct rate limits is notoriously painful. Furthermore, building the conversational AI and telephony subsystems—integrating real-time voice agents, STT/TTS pipelines, and telephony routing—demands substantial systems architecture. For personal use, paying for an existing tool is vastly more rational unless you are building this purely to master calendar synchronization and voice agent orchestration.

### What you can't replicate

- Two decades of integration maturity across every edge case of Google, Microsoft Exchange, and iCloud calendars
- Comprehensive compliance certifications including HIPAA BAA agreements and immutable audit journaling
- Enterprise security infrastructure featuring SCIM provisioning and corporate SSO

## What it does

Comprehensive scheduling and digital engagement platform handling booking pages, routing forms, AI phone agents, and web chatbots.

### Core features

- Customizable booking pages and consolidated booking hubs
- Bi-directional calendar sync with Google Workspace and Microsoft 365
- Dynamic team distribution (round-robin and max availability)
- Progressive screening and routing forms
- AI web chatbots with knowledge base training
- AI phone agents for voice-automated scheduling via dedicated phone numbers

## The business

### Pricing

- Basic: Free — For individuals looking to get started with basic online scheduling.
- Schedule: $12/seat/month — For businesses looking to streamline scheduling across web and phone.
- Route: $23/seat/month — For teams looking to optimize scheduling with screening and routing.
- Engage: $47/seat/month — For organizations looking to engage visitors in real-time conversations.
- Security and Compliance Add-On: $6/seat/month — Enhanced security and compliance bolted onto paid plans.

Founded 2006.
Team size: 110-170+.

## The hard parts

- Bi-directional multi-calendar conflict resolution and real-time availability math
- Low-latency speech-to-text, text-to-speech, and telephony streaming pipelines for voice agents
- Algorithmic dynamic multi-host distribution pools calculating joint availability
- Enterprise compliance frameworks including audit journaling and HIPAA-aligned data isolation

## How to vibe code OnceHub

### Prerequisites

- Node.js (free): Runtime environment for the Next.js full-stack application.
- GitHub (free): Source code management and continuous deployment integration.
- Google Cloud Console Account (free): Required to configure OAuth credentials and API access for bi-directional Google Calendar sync.

### Recommended AI tools

- Claude Code: Best-in-class terminal agent for orchestrating multi-file full-stack architecture, API integrations, and debugging complex calendar sync loops.
- Cursor: Ideal for fine-tuning UI components, booking page builders, and chat interfaces with precise visual diff reviews.

### Stack

- Frontend: Next.js with Tailwind CSS and shadcn/ui
- Backend: Next.js Server Actions and API Routes
- Database: Supabase (PostgreSQL with Row-Level Security)
- Auth: better-auth
- Payments: Stripe
- Other: Vercel AI SDK, Vapi, ElevenLabs, Resend

### Hosting

- Vercel (Hosting the Next.js frontend, serverless API routes, and cron triggers.): $0-20/mo
- Supabase (Hosting PostgreSQL database, user authentication state, and relational booking records.): $0/mo (Free Tier)

### Build guide

1. **Project Scaffolding & Database Schema** — Initialize the Next.js project with Tailwind CSS, configure Supabase PostgreSQL database schemas for users, calendars, event types, bookings, and form responses, and set up better-auth.

```
Initialize a new Next.js project with TypeScript, Tailwind CSS, and shadcn/ui components. Configure Supabase as the primary PostgreSQL database client using Drizzle ORM or Supabase JS client. Create a comprehensive database schema supporting: 1) 'users' table with profile fields, 2) 'connected_calendars' storing OAuth tokens, provider types, and sync states, 3) 'event_types' defining meeting durations, availability rules, and buffer times, 4) 'bookings' capturing guest details, host assignment, and status (confirmed, canceled, rescheduled), and 5) 'routing_forms' and 'form_responses' for qualification logic. Integrate better-auth for secure credential and session management. Ensure all tables have proper foreign key constraints, indexes on lookup fields, and UUID primary keys. Write migration scripts and seed data for testing.
```

2. **Calendar Integration & Bi-Directional Sync Engine** — Implement Google Calendar and Microsoft Graph OAuth flows, secure token storage, and an availability calculation engine that checks external calendars for conflicts.

```
Build OAuth integration routes for Google Calendar and Microsoft 365. Securely store and encrypt OAuth access and refresh tokens in the database. Implement a robust background sync engine and API service that queries external calendar free/busy endpoints given a date range. Create an availability calculation algorithm that merges host working hours, buffer times (before/after meetings), existing bookings in the local database, and external calendar busy blocks to generate unreserved time slots in the guest's local timezone. Handle token expiration and automatic refresh errors gracefully with proper logging.
```

3. **Booking Page Designer & Guest Scheduling Flow** — Build the WYSIWYG-style booking page designer and the public-facing guest scheduling wizard with timezone conversion and instant confirmation.

```
Develop a booking page management dashboard allowing users to customize branding (logos, colors, welcome messages, slug URLs) and configure meeting parameters (duration, location types like Zoom or physical address). Build the public guest-facing scheduling wizard: a multi-step responsive view where guests select a timezone, pick an available calendar slot calculated from Step 2, fill out custom booking form fields, and confirm the appointment. Upon confirmation, execute a server action that writes the booking to the database, creates an event in the host's external calendar via API, and triggers confirmation emails via Resend.
```

4. **Routing Forms & Dynamic Team Distribution** — Create progressive screening and routing forms with conditional logic and implement round-robin and maximum availability host assignment algorithms.

```
Implement a no-code routing form builder supporting progressive response capture, branching question logic, and custom field mapping. Build the team meeting distribution engine supporting round-robin (evenly distributing bookings across team members) and maximum-availability distribution (calculating joint availability across multiple hosts and prioritizing by workload). Create routing execution endpoints that evaluate incoming visitor answers and CRM properties in real time to automatically assign the correct host and redirect or present the matching booking page.
```

5. **AI Web Chatbot & Voice Agent Integration** — Integrate Vercel AI SDK for web chatbots trained on knowledge bases and connect Vapi and ElevenLabs for voice-automated phone scheduling agents.

```
Build an AI web chatbot widget using the Vercel AI SDK and Anthropic API. Allow users to upload documents or supply URLs as knowledge sources stored in Supabase with vector embeddings. The chatbot must handle FAQ triage, guide conversations naturally, and offer an instant meeting handoff option when booking intent is detected. Additionally, integrate the Vapi API and ElevenLabs for voice agent support: provision dedicated phone numbers, configure system instructions tied to booking logic, and implement webhook handlers to process call summaries, transcriptions, and automated booking triggers from phone conversations.
```

6. **Notifications, Rescheduling, and Polish** — Implement automated email and SMS notifications, guest cancellation/rescheduling workflows, and comprehensive dashboard analytics.

```
Build comprehensive notification handling using Resend for transactional emails and Twilio for SMS alerts regarding bookings, cancellations, and reminders. Implement guest-facing and host-facing cancellation and rescheduling flows directly from calendar invites or unique management links. Create an analytics dashboard tracking total meetings, conversion rates over a 6-week window, and distribution performance. Polish UI styling, add loading states, handle error boundaries, and ensure mobile responsiveness across all booking pages and dashboards.
```

### Cost vs paying

**Starting costs (one-time):**

- Custom Domain (optional): $12/year
- Google Cloud Console Setup: $0
- Total: ~$12 one-time

**Ongoing costs (monthly):**

- Vercel / Supabase Infrastructure: $0-15/mo
- AI APIs (OpenAI, Vapi, ElevenLabs usage): $10-30/mo
- Total: ~$25-45/mo

- Paying for the SaaS instead: $47/seat/mo (Engage Plan)
- Build time: 70-90 hours
- AI tool credits: $20/mo (Claude Pro / Cursor)
- Break-even: 1 month of Engage tier pricing

## Sources

- [OnceHub Official Website & Pricing](https://oncehub.com)
- [Capterra - OnceHub Overview & Reviews](https://www.capterra.com)
- [G2 - OnceHub Company Intelligence](https://www.g2.com)