April 27, 2025
I built an automated calendar event creation tool that lets me
attend one more fun event each week.
Ed Fage
and I built
CalendarThat, an automated calendar event creation tool, to make calendaring
easier. We hope that it can make adding to your calendar easier too.
CalendarThat takes any text from your browser (emails, highlighted
text) or direct input and converts it into calendar events using large
language models (LLMs). You can create between 1-10 events from a
single input, with an average creation time of just 1.4 ± 0.7 seconds
per request.
It's easy to forget. Last week, forgetting to add a neighborhood cookout to my calendar led me to miss the event. Manual event creation has been a minor annoyance in my life ever since I started using Google Calendar six years ago. I believe I could lead an even more interesting life with greater variety if I was able to keep track of more events like this one. This product aims to help enable me to do the things that I want to do by reducing the friction of saving events to my calendar.
Example events I might want to keep track of.
There are existing solutions to streamline calendar event creation and sharing, but they have major limitations. AddEvent creates "add to calendar" buttons, but most websites don't use them. Calendly and Cal help share your availability, but work best just for one-on-one meetings. Gmail and Apple can detect events automatically, but they miss 90% of events you find online.
I wanted a tool that would give me an extremely simple way to create calendar events on my devices, no matter where I found the events. CalendarThat aims to be this tool, by offering three ways to instantly create calendar events: via browser extension, email, and web.
The CalendarThat browser extension (for Chrome and Firefox) is my favorite way to create events from my computer. It's become another essential tool in by belt without adding complexity to my life (much like my password manager, Bitwarden).
Highlight any text on a webpage, right-click, and select "Create Calendar Event".
The CalendarThat website is mostly a useful backup for those times when I'm not able to easily highlight text on a webpage, or when I come across an event outside of the browser. It ensures that no matter what I'm doing on my laptop, I'm able to use CalendarThat.
Visit CalendarThat.com to paste any text and instantly generate calendar events.
The CalendarThat email service is intended to be the most convenient way to create events from your email inbox (the destination for events mailing lists, personal invitations, etc.) and also to enable automated event creation from any device (essentially all personal electronic devices can send emails: iPhones, Android phones, smart watches, etc.).
Forward any email with event information to new@calendarthat.com and receive a calendar file (.ics) in seconds.
CalendarThat is built with a core Django server and PostgreSQL database which makes API calls to LLM providers and tracks the results. This server receives user input and sends responses via the browser extension, web, and email user interfaces.
CalendarThat is built on a Django server with a PostgreSQL database, hosted on Railway. The system architecture consists of three core Django apps:
The basic processing flow looks like this.
To serve multiple browsers, I built the Chrome and Firefox extensions from a single codebase using Webpack. This allows for cross-browser support with minimal code duplication. Users authenticate themselves with their calendarthat.com cookies. User preferences for Google Calendar, Outlook, and ICS output formats are saved in extension storage.
The email service uses SendGrid's API for bidirectional email communication:
Calendar event creation on mobile devices is very painful: opening the Google Calendar app and typing with my thumbs is slow and I'm also more likely to be in a rush. Unfortunately, I often encounter interesting events while on my phone (e.g., a text message, an instagram post, a picture of a poster on the street) but lack an easy way to create calendar events. CalendarThat can currently solve some of these use cases via the email interface, but it's clunky.
Making an iOS interface is a clear next step for CalendarThat.
Making an iOS interface a clear next step for CalendarThat.
A dedicated mobile app would:
Rather than requiring users to forward emails to create calendar events, it would be ideal to create calendar events automatically from relevant emails as soon as they enter a user's inbox. An obvious difficulty with such an integration is that it would require handling all / most of the information in a user's inbox, which would be a significant privacy concern for many users.
It would be ideal to handle complex calendar events with a more intelligent/slower LLM and simple events with a less capable but faster LLM. A very sophisticated version of this tool might
One straightforward triage option would be to create some kind of classification layer on top of user input to decide if some user input is a "complex" or "easy" event to create. The routing could look something like the following:
CalendarThat empowers users to easily track and organize the thousands of exciting events in their lives. Try it here!
I'm always looking for feedback and suggestions to make this tool better (GitHub repo). If you have ideas or questions, please reach out!