A privacy-first, weekly-focused open-source calendar built for clarity and control.
Most modern calendar tools are overloaded with automation, notifications, and analytics.
One Calendar takes a different approach:
- Respect user privacy.
- Provide a smooth, local-first planning experience.
- Keep the system understandable.
This project is built for individuals and small teams who value clarity over complexity.
- Drag & drop scheduling β move and resize events directly on the calendar
- Inline editing β create and update events without modal overload
- Right-click actions β fast contextual controls for power users
- Keyboard-friendly interactions β efficient navigation and editing workflows
- Rich event metadata β title, description, time range, and structured fields
- Precise time control β flexible duration handling and adjustments
- Instant updates β optimistic UI for a responsive experience
- Event persistence β reliable storage with PostgreSQL backend
- Soft state handling β controlled updates to avoid accidental data loss
- No AI tracking β no behavioral profiling or data mining
- No analytics by default β zero third-party tracking scripts
- End-to-end encryption (E2EE) β optional encrypted data handling
- User-controlled exports β backup and portability without lock-in
- Secure authentication β hardened session management via Clerk
- Cloud sync (optional) β multi-device synchronization using PostgreSQL
- Account-based access β sign in with third-party providers
- Share-ready architecture β designed for future team and shared calendar support
- Theme configuration β adaptable visual styling
- Default view control β choose how your calendar opens
- Locale-aware formatting β proper date and time formatting per region
- Internationalization (i18n) β language support built-in
- Composable UI system β built with reusable components (shadcn/ui + Tailwind)
| Feature | One Calendar | Google Calendar | Apple Calendar | Outlook Calendar | Proton Calendar |
|---|---|---|---|---|---|
| Event creation & editing | β | β | β | β | β |
| Drag & drop scheduling | β | β | β | β | β |
| All-day events | β | β | β | β | β |
| Event reminders & notifications | β | β | β | β | β |
| Time zone support | β | β | β | β | β |
| Calendar sharing | β | β | β | β | β |
| Multiple calendar views (day/week/month) | β | β | β | β | β |
| Keyboard shortcuts | β | β | β | β | |
| Search events | β | β | β | β | β |
| Quick add / natural input | β | β | β | ||
| Cloud sync | β | β | β | β | β |
| Web application | β | β | β | β | |
| End-to-end encryption (E2EE) | β | β | β | β | β |
| Privacy-first architecture | β | β | β | β | |
| No analytics / tracking by default | β | β | β | β | |
| Open-source | β | β | β | β | |
| Self-hostable | β | β | β | β | β |
| Data export | β | β | β | β | β |
| ICS import / export | β | β | β | β | β |
| Custom themes | β | β | |||
| Custom default view | β | β |
Required Versions:
# Clone the repo
git clone https://github.com/EvanTechDev/One-Calendar.git
cd One-Calendar
# Install dependencies
bun install
# Start the app
bun run devThen visit http://localhost:3000
Copy .env.example to .env and fill in.
Key variables:
# Core
NEXT_PUBLIC_BASE_URL=http://localhost:3000
SALT=Backup-Salt
# Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=...
CLERK_SECRET_KEY=...
# ATProto / Atmosphere (required for /at-oauth)
ATPROTO_SESSION_SECRET=...
# Optional DB (backup/share sync)
POSTGRES_URL=postgres://postgres:postgres@localhost:5432/onecalendarContributions are welcome! Feel free to explore the project and submit improvements.
Please refer to CONTRIBUTING.md for setup instructions and contribution guidelines.
Made with β€οΈ
Published under MIT License.
This project is supported by Cloudflare Project Alexandria.