How to vibe codeClockwise
AI-powered calendar assistant to optimize schedules for focus time
getclockwise.com ↗Productivity & Scheduling SaaS
The verdict: can you vibe code Clockwise?
Build a personal subset for managing your own calendar, but expect painful debugging around provider OAuth tokens and graph-solving logic.
Replicating the full enterprise horizontal scheduling machine is a serious undertaking due to the sheer brittleness of two-way calendar API syncs and the algorithmic complexity of constraint-based meeting shifting. For a personal-use clone, you can narrow the scope to a single Google Calendar integration that automatically injects focus blocks and provides basic scheduling links, but expect to spend significant time wrestling with Google API token refreshes, timezone offsets, and edge cases where participants manually override moved events.
Estimated effort: 3-5 weeks of focused engineering
What you can't replicate
- Enterprise trust, brand recognition, and SOC 2 compliance certifications
- Massive multi-tenant organizational scheduling data and team network effects
- Dedicated continuous support and direct integrations with corporate IT directory sync (SCIM/SSO)
Founded
2016
Raised
$76M
Team
Mid-sized (~100 employees)
Cheapest paid tier
$0
What Clockwise does
An intelligent calendar assistant that automatically schedules focus time, manages flexible meetings, and coordinates shared schedules across teams.
Core features
- Google Calendar & Microsoft Graph OAuth integration
- Two-way calendar event synchronization and webhook listeners
- Heuristic optimization engine for automatic meeting rescheduling
- Focus Time block allocation based on user preferences
- Flexible meeting rules and tolerance constraints
- Custom scheduling links respecting open calendar windows
- Smart breaks, travel time, and buffer injection
The business
Pricing
- Free$0
- Pro$6.75/mo
- Business$11.50/user/mo
Funding
$76M from Bain Capital Ventures, Accel, Greylock Partners, Atlassian Ventures, Coatue Management
Pay vs build, cumulative
Break-even at month 1 — after that, every month is money kept.
The hard parts of vibe coding Clockwise
- Handling brittle two-way calendar sync, token expirations, and timezone edge cases across Google and Microsoft ecosystems
- Solving the NP-hard constraint-satisfaction graph problem for shifting meeting slots across multiple participants' constraints without cascading failures
- Managing robust background job queues for continuous schedule evaluation and webhook retries
How to vibecode Clockwise
Prerequisites
Node.jsfree
Runtime environment for building the Next.js web application and backend synchronization jobs.
GitHubfree
Source code version control and CI/CD connection for deployment.
Google Cloud Console Accountfree
Required to register an OAuth application and obtain client credentials for the Google Calendar API.
AI coding tools
Recommended stack
| Frontend | Next.js with Tailwind CSS and shadcn/ui components |
|---|---|
| Backend | Next.js API Routes / Server Actions with Node.js background workers |
| Database | Turso (SQLite at the edge for storing user tokens, preferences, and rule configurations) |
| Auth | better-auth configured with Google OAuth provider |
| Payments | None (personal use clone) |
| Other | Google Calendar REST API, Zod for runtime validation, Luxon or date-fns-tz for timezone math |
Hosting & infrastructure
| Cloudflare | Hosting the Next.js frontend and edge API routes via OpenNext adapter | $0-5/mo |
| Railway | Running persistent background worker processes for cron-based calendar scanning and rescheduling loops | ~$5/mo |
Build guide
01Project Scaffolding & Database Schema
Initialize the Next.js project with Tailwind CSS, shadcn/ui, Turso database connection, and better-auth setup.
Create a new Next.js application using TypeScript and Tailwind CSS. Configure better-auth with Turso as the database backend to support Google OAuth sign-in. Set up a database schema with tables for users, user_tokens (storing encrypted OAuth access and refresh tokens), calendar_preferences (working hours, minimum focus block duration, lunch breaks), and scheduled_blocks (tracking AI-generated focus slots and smart holds). Ensure all date and time fields use strict ISO strings with timezone awareness.02Google Calendar OAuth & Two-Way Sync Integration
Implement Google Calendar API integration to fetch events, handle token refreshes, and ingest webhooks.
Build a robust Google Calendar API service module in TypeScript. Implement OAuth connection flow requesting offline access and full calendar scopes (https://www.googleapis.com/auth/calendar). Create secure database storage for encrypted refresh tokens and automatic token rotation logic. Implement an endpoint to fetch calendar events for a specified date range and set up a webhook receiver route to handle incoming Google Calendar push notifications for event updates.03Calendar Optimization & Focus Time Algorithm
Develop the core heuristic scheduling engine to identify open windows and inject Focus Time blocks.
Write a deterministic scheduling algorithm module in TypeScript that evaluates a user's existing calendar events against their working hours and preferences. The algorithm must identify fragmented gaps of time, group them into continuous blocks meeting the user's minimum focus duration threshold (e.g., 2 hours), and formulate API requests to create 'Focus Time' events on the user's primary Google Calendar. Include conflict resolution logic to ensure focus blocks never overwrite meetings or user-marked busy times.04Flexible Meetings & Rescheduling Logic
Build rules and logic to automatically evaluate and shift flexible meetings to optimal open slots.
Extend the backend scheduling engine to support 'Flexible Meetings'. Allow users to flag specific meetings with metadata or custom properties indicating they can be moved. Create a background worker loop that runs periodically to inspect flexible meetings, score alternative available time slots based on attendee overlapping availability and user preferences, and execute calendar patch updates to move meetings to optimal slots while preventing infinite shuffle loops.05Scheduling Links & Public Booking Interface
Create customizable booking pages allowing external users to schedule meetings respecting focus preferences.
Build a public scheduling link feature in Next.js. Create an interface where external invitees can view available time slots for a host based on their calendar availability, working hours, and protected focus time blocks. Implement backend logic that validates incoming slot selection requests and automatically creates the corresponding calendar event on the host's Google Calendar via API.06Dashboard UI & Preference Management
Construct the frontend dashboard for managing calendar preferences, viewing created focus blocks, and monitoring optimization stats.
Build a clean SaaS dashboard in Next.js using shadcn/ui components. Include views for: (1) Calendar preference settings (working hours, lunch duration, minimum focus block size), (2) A visual calendar overview showing synced focus blocks and scheduled meetings, (3) An analytics summary card displaying total hours of focus time created and meetings rescheduled. Connect all frontend components to the backend API routes with proper loading states and error handling.07Background Worker Deployment & Polish
Deploy background worker tasks to Railway and configure error tracking and cron triggers for continuous optimization.
Configure a standalone Node.js background worker script that triggers the calendar optimization routine for all active users every hour. Set up error logging and Sentry integration for monitoring failed API calls to Google Calendar. Prepare Dockerfile configuration for deploying the worker to Railway and verify end-to-end token rotation and focus block insertion.
Cost vs paying for Clockwise
What will you build it with?
Starting total with Claude Code$0 one-time
Starting costs (one-time)
- Google Cloud Project Setup$0
Total$0 one-time
Ongoing costs (monthly)
- Railway Background Worker Hosting~$5/mo
Total~$5/mo
Paying for Clockwise
$11.50/mo
Your time to build
40-60 hours
AI tool credits
$20 (Claude Pro / Cursor)
Break-even
N/A (Product is defunct; clone built for personal use)
Vibe code Clockwise: FAQ
- Can you vibe code Clockwise yourself?
- Serious undertaking — 35/100 vibecodeable. Build a personal subset for managing your own calendar, but expect painful debugging around provider OAuth tokens and graph-solving logic.
- How long does it take to vibe code Clockwise?
- 3-5 weeks of focused engineering — roughly 40-60 hours of hands-on time with an AI coding agent.
- How do you build your own Clockwise?
- Scoped to personal use: Next.js with Tailwind CSS and shadcn/ui components on the front, Next.js API Routes / Server Actions with Node.js background workers behind it, Turso (SQLite at the edge for storing user tokens, preferences, and rule configurations) 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 Clockwise 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-5 weeks of focused engineering. The prompts on this page are written so the AI does the heavy lifting.
- How much does it cost to vibe code Clockwise instead of paying?
- About $0 one-time to start and ~$5/mo to run, versus $11.50/mo for Clockwise. Break-even: N/A (Product is defunct; clone built for personal use).
- What stack should you use to vibe code Clockwise?
- Next.js with Tailwind CSS and shadcn/ui components; Next.js API Routes / Server Actions with Node.js background workers; Turso (SQLite at the edge for storing user tokens, preferences, and rule configurations); plus Google Calendar REST API, Zod for runtime validation, Luxon or date-fns-tz for timezone math.