Loading scaffold…
Loading scaffold…
Availability rules + slot generation + Stripe payments — yours to fork into consultations, classes, restaurant reservations. The code is yours. Forever.
Pick an event type, pick a slot, confirm. Timezone-aware availability, intake question per event type, and a confirmation page with rebook + cancel links.
Live mock — same UX you ship after pasting PROMPT.md into Claude Code.
Cal.com itself is open source — but if you're paying per team seat or relying on their cloud, this scaffold ships you the version you actually own.
| Comparison axis | Cal.com hosted | Need for Build scaffold |
|---|---|---|
| Pricing | Free for one user. $15–37 per team-member, per month past that. | Free forever. Multi-host built in. No per-seat tax. |
| Data ownership | Their cloud. Calendar tokens stored on their infra. | Your Supabase project. OAuth tokens encrypted in your vault. |
| Privacy | Their compliance posture and backup retention. | RLS-scoped per host. Bookings never leave your infra. |
| Extensibility | Their app store. Their plugin contract. | Full Next.js + Drizzle. Custom workflows, payment gating, intake forms — today. |
Every file the scaffold ships, with size and one-line description. Download once, build forever.
CLAUDE.md6.9 KBProject config for Claude Code — tech stack, commands, code style, critical rules. Under 100 lines, read first.
ARCHITECTURE.md12.0 KBDrizzle schema for hosts, event_types, availability_rules, bookings. RLS, Stripe webhook flow, Google/MS calendar sync architecture.
PRD.md8.3 KB10 features (F1–F10) including custom forms, payment gating, group bookings, reschedule links.
SECURITY.md11.9 KBSTRIDE threat model, OWASP 2025 Top 10 checklist, GDPR data inventory, security headers config.
MARKETING.md10.7 KBPositioning vs. category leader, persona, GTM phases, channel strategy, growth loops.
PROMPT.md16.3 KB7 sequential steps: foundation → DB schema + RLS + EXCLUDE constraint → auth + host onboarding → event types + availability + slot generation → public booking + atomic insert → calendar sync (Google + Microsoft) → emails + reschedule + group bookings + billing + polish.
ARCHITECTURE_CROSSCHECK.md26.1 KBSecond-opinion architecture review: GPT + Gemini independently critique the plan, consolidated into confirmations, corrections, and concrete diffs.
api-guide.html7.3 KBZero-jargon visual guide (opens in your browser): create accounts, get API keys, fill .env, push to GitHub, deploy on Vercel.
lib/mock/index.ts4.1 KBTyped mock dataset — click through the full UI with realistic data before connecting real services.
assets/manifest.json0.3 KBMachine-readable package inventory with generation timestamps.
Drizzle EXCLUDE constraints prevent double-booking. Google + Microsoft Graph 2-way sync.
Public booking pages prerendered, ISR-revalidated when host availability changes.
Hosts own their event types and bookings. Public booking page bypasses RLS via service-role API.
Time-zone aware queries with DATE_TRUNC + EXCLUDE constraints to prevent double-booking.
Optional paid bookings: hosted Checkout URL on confirmation, webhook fulfills booking.
2-way sync: pull busy times to compute availability, push booked events back.
Confirmation, reminder (24h + 1h), cancellation, reschedule emails.
Start from booking, end up shipping classes, sales demos, or restaurant reservations.
event-type → 30/60-min sessions · payment required · intake form per booking · no per-seat tax
event-type → recurring weekly slots · capacity > 1 · waitlist when full · own the roster forever
event-type → 15-min discovery · auto-create CRM lead · Slack ping to AE · keep call recordings yours
event-type → table size · per-day capacity caps · SMS reminder · no booking-fee skim
event-type → interviewer round-robin · candidate-facing public page · all data inside your HRIS
Every directory, every route, every migration. What you'll see right after `unzip`.
booking-scheduling/
├── CLAUDE.md
├── PROMPT.md
├── README.md
├── ARCHITECTURE.md
├── PRD.md
├── SECURITY.md
├── MARKETING.md
├── design-tokens.css
├── logo.svg
├── .env.example
├── next.config.ts
├── tailwind.config.ts
├── drizzle.config.ts
├── tsconfig.json
├── package.json
├── app/
│ ├── layout.tsx
│ ├── (host)/
│ │ ├── dashboard/page.tsx
│ │ ├── event-types/{,[id]}/page.tsx
│ │ ├── availability/page.tsx
│ │ ├── bookings/page.tsx
│ │ └── integrations/{google,microsoft,stripe}/page.tsx
│ ├── (public)/[hostSlug]/
│ │ ├── page.tsx
│ │ └── [eventType]/page.tsx
│ └── api/
│ ├── trpc/[trpc]/route.ts
│ ├── webhooks/{stripe,google,microsoft}/route.ts
│ └── cron/{reminders,sync-calendars}/route.ts
├── components/
│ ├── calendar/{date-picker,slot-grid,timezone-select}.tsx
│ ├── availability/{rule-editor,buffer-rules}.tsx
│ └── booking/{form,confirmation,reschedule}.tsx
├── server/api/routers/{host,event-type,availability,booking,sync}.ts
└── lib/calendar/{google,microsoft,ical-export}.ts
├── lib/
│ ├── env.ts
│ ├── supabase/{client,server,admin}.ts
│ ├── auth/helpers.ts
│ └── rate-limit.ts
├── hooks/
├── types/
├── middleware.ts
├── tests/e2e/
└── supabase/migrations/
├── 0001_initial.sql
├── 0002_rls_policies.sql
└── 0003_indexes.sqlEach one ships the same way: paste PROMPT.md into Claude Code and ship.
Notion-inspired
Notion-style workspace, code-owned. Fork into wiki, KB, CRM, recipe vault, project hub.
View scaffold →Slack-inspired
Channels + DM + threads + realtime presence. Fork into customer chat, community platform, internal team tool.
View scaffold →Linktree-inspired
Personalized bio page + click tracking + UTM + theme presets. Fork into creator landing, portfolio, event page, app smart-link.
View scaffold →Gorgias-inspired
Gorgias-style e-com helpdesk, code-owned. Widget + agent inbox + Shopify order context + AI replies. Fork into support, sales chat, onboarding bot.
View scaffold →Mailchimp-inspired
List management + drag-drop editor + automation triggers. Fork into newsletter, drip campaigns, transactional service.
View scaffold →Zapier-inspired
Zapier-style automation builder, code-owned. Trigger nodes + action nodes + run history. Fork into approval flows, lead routing, sync jobs.
View scaffold →Loom-inspired
Loom-style async video, code-owned. Record + chunked upload + share link + viewer analytics. Fork into tutorial vault, sales demos, internal training.
View scaffold →Hubspot-inspired
Contacts + deals + pipeline stages + email tracking + activity log. Fork into B2B CRM, partner pipeline, investor relations.
View scaffold →Patagon.ai-inspired
WhatsApp AI lead qualification, code-owned. Conversational qualifier + Meta CAPI + Google Calendar + CRM sync. Fork into automotive, real-estate, education, healthcare funnels.
View scaffold →