One Calendar

One Calendar

One Calendar

Vercel Project Status license forks stars issues pull-requests

A beautifully minimal open-source calendar app to plan your week and life.

Deploy with Vercel Deploy to Netlify

What is One Calendar?

One Calendar is a privacy-first, weekly-focused, open-source calendar app, designed to help individuals and teams plan, focus, and stay in sync.

Without One Calendar, your schedule is scattered. With it, your week feels intentional.

Why One Calendar?

Most calendar tools are cluttered, over-engineered, or locked behind paywalls. One Calendar aims to be:

  • 🧠 AI Powered – AI-first app that streamlines your scheduling.
  • 🕹 Interactive & Smooth – Drag, drop, right-click, and edit with ease.
  • 🔐 Private & Local – Your data is yours. Export, backup, and control.
  • ☁️ Cloud Sync – Optional sync via Vercel Blob.
  • 🌐 Clerk-Account – Easily login with third-party.
  • 🌍 International – Automatically adapts to your language (English / 中文).
  • 🧱 Customizable – Tailor themes, default view, and integrations.

Tech Stack

  • Frontend: Next.js 14, Tailwind CSS, shadcn/ui, TypeScript
  • Auth: Clerk
  • Storage: LocalStorage, Vercel Blob, Misskey Drive
  • Weather: OpenWeather API
  • AI: Groq API

TechStack

Preview

Home App

Getting Started

Prerequisites

Required Versions:

Quick Start

# Clone the repo
git clone https://github.com/EvanTechDev/One-Calendar.git
cd One-Calendar

# Install dependencies
bun install

# Start the app
bun run dev

Then visit http://localhost:3000

Environment Variables

Copy .env.example to .env and fill in:

NEXT_PUBLIC_BASE_URL=your-url

# Clerk API key (Require)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your-clerk-publishable-key
CLERK_SECRET_KEY=your-clerk-secret

# Optional
GROQ_API_KEY=your-groq-api
OPENWEATHER_API_KEY=your-open-weather-api-key

# Optional, choose between Misskey and Vercel blob
MISSKEY_URL=https://misskey.io
MISSKEY_TOKEN=your-misskey-token
BLOB_READ_WRITE_TOKEN=your-vercel-blob-token

Enviroment Setup

1.Misskey Drive

Go to social media built with Misskey

Go to Settings < API

API

Click Generate Access Token

Generate_Token

Click Enable All, then confirm

Enable_All

Fill in the env file:

MISSKEY_URL=https://misskey.io (or your url)
MISSKEY_TOKEN=your-misskey-token
  1. Groq

Go to Groq Console and login

Click the Create API Key

Screenshot_20250502_150743

Copy your API Key

Screenshot_20250502_150857

Fill in the env file:

GROQ_API_KEY=your-api-key

Roadmap

You can report a bug or request a new feature on our feedback website

Roadmap & Feedback

Star History

Star History Chart

The Team

Brought to you by a small team of makers who love clean tools and open-source.

Check out our contributors ❤️

Sponsor

BTC: bc1qdhn6c7tlcaflzu3u5fva825l20k9eqnqag5xzj

MOB: 6tKKBDHJFcRhCvTx9wJeNH8gUUfXvPUBHnegCV8M3Qniy4UBDyRzQrHQnxGcGEebibG3Q62RxgKABe75kArpLkd8igwWw6BviTAcyp7DGgZ2LqMBWjSPEgypMSGpDjwqfD6L9PECUm4HZzRGCvMT3jL8rjev4thCqH16jrrVBnUt7VDrqZsoSDVViEAGitG9axZtekUQNK2vzgdYxPEQtnZ4ouYyPLaxPYmKHDW2XrQuA5

Acknowledgements

This project wouldn’t be possible without these awesome services:

Vercel Clerk Groq OpenWeather API

License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
See the LICENSE file for details.

[!NOTE]
Some components are adapted from external sources under the MIT License, including parts of the Zero Email project.
These components retain their original license terms. See relevant files for copyright.

Last updated on