Aurora Calendar
A self-hosted, privacy-first calendar built for full data ownership and Google Calendar feature parity, with zero Google integration.
Overview
Aurora Calendar is a self-hosted calendar that runs entirely on hardware you control. It aims to match Google Calendar feature for feature and go beyond it, while keeping every piece of data - events, reminders, and even email parsing - on your own server.
Try a live slice of it
This is a small, self-contained piece of Aurora running right here in the page. Click an email in the inbox to scan it (the real app uses a local LLM; here the result is simulated), approve or dismiss the proposal, and drag events around the week. Nothing leaves your browser.
Tip: drag an event to another slot, or select it and use the arrow keys.
Email to event, with your approval
Aurora reads your mailbox over read-only IMAP and hands incoming emails to a local LLM running on your own machine. Extracted events are never added automatically - each one lands in a review queue as a proposal you approve, edit, or dismiss. No email content is ever sent to a third-party AI API.
Key features
- Day, Week, Month, Agenda, and Year views with drag-to-move and resize
- Recurring events (RRULE) with client-side occurrence expansion
- Email inbox scanning that turns invites and free text into proposed events
- CalDAV server for two-way sync with any standard calendar client
- Installable PWA with web push reminders and a daily agenda digest
- Shared calendars via signed, token-based read-only feeds
- Natural-language quick-add ("lunch w/ Ama fri 12")
- .ics import/export, including idempotent Google Takeout import
Tech stack
- Frontend: React, TypeScript, Vite, Tailwind CSS
- Backend: Node.js, NestJS, TypeScript
- Database: PostgreSQL, Prisma ORM
- Sync: standards-based CalDAV server built on top of the same database
- Email parsing: local LLM via LM Studio / Ollama, with rules-based .ics parsing first
- Notifications: Web Push (VAPID) via a service worker
- Deployment: Docker Compose on a self-hosted VPS