Local-first calendar

CalendarBoard

予定は手元に。必要なものだけGoogleへ。iOS、macOS、Widgetで使えるカレンダーです。

App Store公開準備中サポート
白、ミント、コーラルで描かれたCalendarBoardのApp Icon

Features

日々の予定を、ひとつの画面へ。

ローカル予定とGoogleの外部予定を区別しながら、同じ一覧とWidgetで確認できます。

ローカルカレンダー

SwiftDataを正本として、Googleアカウントなしでも予定を管理できます。

Google Calendar

外部予定の表示・編集・削除と、任意のGoogle連携に対応します。

片方向同期

選択したローカル予定をGoogleへ同期します。Google側変更の自動取り込みは行いません。

オフライン対応

ローカル編集を先に保存し、pending状態から手動で再同期できます。

iOS/macOS

ひとつのSwiftUIプロジェクトでiPhone、iPad、Macに対応します。

Widget

Small、Medium、Large、macOSのExtra Largeで予定を確認できます。

多様な予定

通常、終日、複数日、繰り返し予定を統合された一覧で扱います。

Screenshots

実画面は準備中です。

個人情報を含まないRelease画面へ後から置き換えます。ダミー画面は掲載していません。

macOS 一覧+詳細public/screenshots/event-list-detail.png

4種類のWidgetpublic/screenshots/widgets.png

予定の作成・編集public/screenshots/event-editor.png

Google同期状態public/screenshots/sync-status.png

How it works

正本と同期先を分けています。

ローカル予定が正本

単一のCalendarBoardカレンダーをSwiftDataへ保存し、オフラインでも編集します。

Google同期は任意

同期を有効にしたローカル予定だけをGoogle Calendarへ送ります。

Google予定は外部データ

Googleから取得した予定は別データとして表示し、同期済みコピーは重複表示しません。

安全なGoogle連携

開発者管理のOAuth ClientとPKCEを使用し、Tokenは端末のKeychainへ保存します。

Privacy

開発者サーバーを使いません。

予定は基本的に端末内へ保存します。Google連携時だけGoogle APIと直接通信します。iOS版の予定一覧下部だけにGoogleのバナー広告を1枠表示し、macOSとWidgetには広告を表示しません。独自サーバー、独自Analytics、IDFAは使用しません。

プライバシーポリシーを読む

App Store

無料で公開予定です。

CalendarBoardはiOS 17以降とmacOS 14以降に対応し、App Storeで無料配布する予定です。

iOS

予定一覧下部に同意管理付きAdaptive Bannerを1枠表示します。編集、詳細、ログイン画面には表示しません。

macOS/Widget

広告を表示せず、広告SDKもリンクしません。

Google連携

任意で連携でき、Googleログインなしでもローカル予定を管理できます。

App Storeリンクは公開後に掲載します。