whatisgithub

What is cal.diy?

calcom/cal.diy — explained in plain English

Analysis updated 2026-06-20

42,373TypeScriptAudience · vibe coderComplexity · 4/5LicenseSetup · hard

In one sentence

Cal.diy is a self-hosted, fully open-source booking tool, share a link so people can schedule time with you based on your real calendar availability, like Calendly but on your own server with no subscription fees.

Mindmap

mindmap
  root((cal.diy))
    What it does
      Self-hosted booking
      Calendar availability sync
      Automatic invites
    Integrations
      Google Calendar
      Outlook
      Video conferencing
    Use Cases
      Client consultations
      No Calendly fees
      Data ownership
    Tech Stack
      Next.js
      PostgreSQL
      Prisma
      Tailwind CSS
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Deploy your own booking page so clients can schedule consultations without emailing back and forth.

USE CASE 2

Own your scheduling data and avoid Calendly's subscription costs by running the entire platform on your server.

USE CASE 3

Integrate with Google Calendar or Outlook so booked meetings are automatically added with video call links.

What is it built with?

TypeScriptNext.jstRPCPrismaPostgreSQLTailwind CSSNextAuth

How does it compare?

calcom/cal.diyjanhq/janpayloadcms/payload
Stars42,37342,40842,223
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyhardeasymoderate
Complexity4/52/53/5
Audiencevibe codervibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires provisioning a PostgreSQL database and a server, README recommends server admin experience and flags it as non-production for personal use.

MIT license, use freely for any purpose, including self-hosted personal or commercial use, as long as you keep the copyright notice.

So what is it?

Cal.diy is a fully open-source, self-hostable appointment scheduling platform, the kind of tool that lets you share a booking link so other people can schedule time with you based on your real availability, without the back-and-forth of finding a mutual time slot. It is a fork of Cal.com, which is a commercial scheduling product, but with all proprietary enterprise features removed so the entire codebase is available under the MIT license with no strings attached. The way it works is that you set up your calendar availability and create different event types, for example, a 30-minute consultation or a 60-minute meeting, then share a personal booking page link. People visiting that link see only the times you are free (based on your connected calendar), pick a slot, and a calendar invite is automatically created for both parties. It integrates with Google Calendar, Outlook, and video conferencing tools to insert meeting links automatically. Cal.diy is distinct from the paid Cal.com hosted service in that you run it entirely on your own server or infrastructure. There is no hosted version of Cal.diy, you clone the repository, provision a PostgreSQL database, and deploy it yourself. The README explicitly warns that this requires server administration experience and is recommended for personal, non-production use rather than high-stakes business deployments. Someone would use Cal.diy when they want the functionality of tools like Calendly but want to own their data, avoid subscription fees, and run the software under their own control. The tech stack is TypeScript with Next.js for the web framework, tRPC for type-safe API communication between frontend and backend, Prisma as the database ORM against a PostgreSQL database, Tailwind CSS for styling, and NextAuth for authentication.

Copy-paste prompts

Prompt 1
Help me deploy cal.diy on a DigitalOcean droplet with PostgreSQL and walk me through the environment variables I need to set.
Prompt 2
Show me how to create a new event type in cal.diy for a 30-minute discovery call and customize the booking page description.
Prompt 3
How do I connect cal.diy to my Google Calendar so it reads my real availability and blocks out busy times automatically?
Prompt 4
Walk me through adding a Zoom or Google Meet integration to cal.diy so video links are automatically included in every booking confirmation.
Prompt 5
I'm self-hosting cal.diy, how do I set up email notifications so both me and the booker get a confirmation when a slot is reserved?

Frequently asked questions

What is cal.diy?

Cal.diy is a self-hosted, fully open-source booking tool, share a link so people can schedule time with you based on your real calendar availability, like Calendly but on your own server with no subscription fees.

What language is cal.diy written in?

Mainly TypeScript. The stack also includes TypeScript, Next.js, tRPC.

What license does cal.diy use?

MIT license, use freely for any purpose, including self-hosted personal or commercial use, as long as you keep the copyright notice.

How hard is cal.diy to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is cal.diy for?

Mainly vibe coder.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.