vibes.diy/docs Home Discord
creator docs · works with

Works with your calendar

Put an app's dates on Google Calendar, Apple Calendar or Outlook as a live subscription that keeps up as people add more — schedules, RSVPs, due dates and bookings.

What you can build

Any app that keeps dates can put them on the calendar people already check: a team's game schedule, a club's events with RSVPs, homework due dates, shifts, bookings on a page you run. Each person subscribes once, and the items they add later arrive on their calendar by themselves. Google Calendar, Apple Calendar and Outlook all subscribe to the same feed, so one button serves everyone.

How it connects

A live calendar feed your app serves. Your backend.js publishes each person's dated items as an .ics calendar at a link only they hold, and the app shows a Subscribe button that opens it as webcal://. A phone calendar adds it in one tap; Google Calendar and Outlook take the same link under "add a calendar from a URL". The calendar app fetches the feed on its own schedule from then on, so there is no account to connect and no key to save.

What it can read and do

Your app can How
Give each person their own feed A private random link per person, made the first time they open the calendar screen
Keep the feed current A scheduled job gathers each person's items every minute, and the feed serves the latest set
Update and remove events Each event keeps its id, so a change updates the event and a deleted item drops off
Serve a provider's bookings On a booking page, the person who runs it gets a feed of every booking on their pages, and each client gets their own

Starter prompts

  • Make a schedule for our soccer team's games and practices that everyone can add to their phone calendar.
  • Build a homework tracker where each assignment has a due date, and my due dates show up in my calendar.
  • Make an event page for our street fair where people RSVP to the shows they like and get them as a calendar feed.

Good to know

  • Each calendar app refreshes on its own clock. Apple Calendar lets you choose how often it checks; Google Calendar and Outlook check on their own schedule, often a few hours apart. The feed asks for a refresh at least every six hours.
  • The link is the key to that person's feed. Sharing it on purpose shares the calendar; deleting the link's record in the app ends it.
  • The calendar name is set when someone subscribes, so pick the app's name before you share the Subscribe button widely.
  • Dates work everywhere in the app too. "Tomorrow" or "every Monday" in a record resolves to a real date as it is saved, and the app shows it so one tap adjusts it.

Go deeper