The verdict: can you vibe code SavvyCal?
Build a personal-use subset of SavvyCal; calendar OAuth sync edge cases and timezone math will test your patience.
SavvyCal is a focused SaaS with one core loop: booking meetings without calendar ping-pong. A solo developer can absolutely vibecode a personal clone using Next.js, Postgres, and the Google/Microsoft calendar APIs. However, managing OAuth token refreshes, webhooks, and the precise timezone math required for the calendar overlay week view involves unglamorous debugging. Unless you genuinely love wrangling calendar APIs for fun, paying $10/mo is far cheaper than the 3 weekends of frustration required to build it.
Estimated effort: 3-4 weekends of part-time work
What you can't replicate
- The exact community brand affinity and word-of-mouth growth among tech founders
- Pre-built integrations for every obscure video conferencing and CRM tool
Founded
2020
Raised
—
Team
Tiny indie team (~3 core members)
Cheapest paid tier
$10/mo
What SavvyCal does
Scheduling and calendar management SaaS platform featuring calendar overlay, team scheduling modes, meeting polls, and optimized availability controls.
Core features
- Calendar Overlay week view UI
- OAuth calendar syncing (Google, Microsoft)
- Conflict checking and real-time free/busy calculation
- Team scheduling (Collective, Round Robin, Group modes)
- Optimized availability rules (buffers, frequency caps, clustering)
- Meeting polls for group voting
- Automated lifecycle workflows and reminder emails
- Stripe payment collection for paid bookings
The business
Pricing
- Basic$10/mo
- Premium$17/mo
Funding
Unknown / bootstrapped
Pay vs build, cumulative
Break-even at month 6 — after that, every month is money kept.
The hard parts of vibe coding SavvyCal
- Handling real-time token refreshes and rate limits from Google and Microsoft calendar APIs
- Calculating complex timezone math and daylight savings transitions across scheduling slots
- Computing intersection matrices and distribution algorithms for Collective and Round Robin team modes
- Designing a performant, fluid React client-side calendar overlay grid
How to vibecode SavvyCal
Prerequisites
Node.jsfree
Required runtime for the Next.js full-stack framework and TypeScript compilation.
GitHubfree
Source control and integration bridge for Vercel deployment.
Google Developer Console Accountfree
Required to set up OAuth credentials and access the Google Calendar API for conflict checking.
AI coding tools
Recommended stack
| Frontend | Next.js with Tailwind CSS and React |
|---|---|
| Backend | Next.js API Routes / Server Actions |
| Database | Neon (Serverless Postgres) |
| Auth | better-auth |
| Payments | Stripe |
| Other | Resend for transactional reminder emails, Vercel AI SDK for auxiliary assistant features |
Build guide
01Project Scaffolding & Database Schema
Initialize a Next.js project with TypeScript and Tailwind CSS, configure Neon Postgres with Drizzle ORM, and set up better-auth for user accounts.
Scramble a new Next.js project using Tailwind CSS and TypeScript. Set up Drizzle ORM connected to a Neon PostgreSQL database. Define database schemas for users, calendar_connections (storing encrypted OAuth access and refresh tokens), event_types (scheduling links with slug, duration, availability rules), and bookings. Integrate better-auth for email/password authentication and secure session cookies. Ensure all database migration scripts are in place and the project runs locally without errors.02Google Calendar OAuth & Real-time Conflict Checking
Implement Google Calendar OAuth connection flow, store encrypted tokens safely, and build a real-time free/busy conflict checking service.
Implement the Google Calendar OAuth2 flow allowing users to connect their calendar accounts. Securely encrypt OAuth access tokens and refresh tokens before saving them to the calendar_connections table in Neon. Write a service function that queries the Google Calendar free/busy API in real time using a given time range. Implement a temporary in-memory or Redis-backed cache for 60 seconds to avoid API rate limits. Handle token expiration and automatic refresh securely.03Calendar Overlay UI & Interactive Week View
Build the client-side scheduling link page featuring a high-fidelity week view and the signature overlay mechanism for invitees to compare free time.
Build a responsive public scheduling page route ([username]/[slug]) in Next.js using React and Tailwind CSS. Render a gorgeous week-view grid displaying the host's available time slots. Add an interactive 'Calendar Overlay' feature where invitees can authenticate or input their own free/busy blocks to render a secondary translucent layer over the host's grid. Ensure timezone conversion is handled cleanly using date-fns-tz so times align perfectly regardless of the invitee's local zone.04Booking Creation & Calendar Event Push
Handle slot selection, booking confirmation, writing events back to the host's external calendar, and sending confirmation emails via Resend.
Create the booking submission API endpoint that validates slot availability against current free/busy data, writes the reservation to the bookings table, and uses the Google Calendar API to insert a new calendar event directly onto the host's calendar with meeting details. Trigger a transactional confirmation and reminder email using Resend with clean HTML templates. Include error handling for double-booking race conditions.05Optimized Availability & Team Modes
Add time defense rules (buffers, frequency limits, preferred clustering) and team scheduling modes (Collective and Round Robin).
Extend the event_types schema and availability engine to support buffer times between meetings, daily/weekly frequency limits, and clustering rules that encourage bookings adjacent to existing events. Implement basic Collective mode logic that computes the time intersection matrix across multiple connected team members' calendars when rendering a team scheduling link.
Cost vs paying for SavvyCal
What will you build it with?
Starting total with Claude Code$0 one-time
Starting costs (one-time)
- Google Developer Console Setup$0
- AI Coding Assistant Subscription$20
Total~$20 one-time
Ongoing costs (monthly)
- Vercel Hobby / Pro Hosting$0-20/mo
- Neon Postgres DB$0/mo
- Resend Email API$0/mo (Free tier)
Total~$0-20/mo
Paying for SavvyCal
$10-17/mo
Your time to build
25-35 hours
AI tool credits
$20 (Claude Pro or Cursor Pro for one month)
Break-even
Never (paying $10/mo is financially rational, build for learning)
Vibe code SavvyCal: FAQ
- Can you vibe code SavvyCal yourself?
- Solid side project — 72/100 vibecodeable. Build a personal-use subset of SavvyCal; calendar OAuth sync edge cases and timezone math will test your patience.
- How long does it take to vibe code SavvyCal?
- 3-4 weekends of part-time work — roughly 25-35 hours of hands-on time with an AI coding agent.
- How do you build your own SavvyCal?
- Scoped to personal use: Next.js with Tailwind CSS and React on the front, Next.js API Routes / Server Actions behind it, Neon (Serverless Postgres) for data. Follow the 5-step build guide on this page — each step has a paste-ready prompt for an AI coding agent.
- How do you code your own SavvyCal 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: 3-4 weekends of part-time work. The prompts on this page are written so the AI does the heavy lifting.
- How much does it cost to vibe code SavvyCal instead of paying?
- About ~$20 one-time to start and ~$0-20/mo to run, versus $10-17/mo for SavvyCal. Break-even: Never (paying $10/mo is financially rational, build for learning).
- What stack should you use to vibe code SavvyCal?
- Next.js with Tailwind CSS and React; Next.js API Routes / Server Actions; Neon (Serverless Postgres); plus Resend for transactional reminder emails, Vercel AI SDK for auxiliary assistant features.