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/onecalendar
POSTGRES_SSL=false
POSTGRES_SSL_REJECT_UNAUTHORIZED=falseThis project uses Prisma schema sync.
After configuring POSTGRES_URL, initialize schema from schema.prisma:
# Generate Prisma client
bunx prisma generate
# Push schema to database
bunx prisma db pushFor production deployments without SQL migration files, keep schema in sync with:
# Ensure Prisma Client is generated
bunx prisma generate
# Sync schema to database (no SQL migration files required)
bunx prisma db pushContributions 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.