Skip to content

Commit 96b0ec2

Browse files
committed
Initial commit - KashCal landing page
0 parents  commit 96b0ec2

2 files changed

Lines changed: 867 additions & 0 deletions

File tree

README.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# KashCal
2+
3+
**Your calendar. Your device. Your rules.**
4+
5+
[![Build](https://github.com/KashCal/KashCal/actions/workflows/build.yml/badge.svg)](https://github.com/KashCal/KashCal/actions/workflows/build.yml)
6+
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/KashCal/KashCal/blob/main/LICENSE)
7+
[![Android](https://img.shields.io/badge/Android-8.0%2B-green.svg)](https://developer.android.com/about/versions/oreo)
8+
9+
A privacy-first calendar that works offline and looks beautiful. Connect to iCloud — or don't. Your schedule, your choice.
10+
11+
---
12+
13+
<p align="center">
14+
<img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/HomePage-with-AboutMe.png" width="180">&nbsp;
15+
<img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/NewEvent.png" width="180">&nbsp;
16+
<img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/NewEvent-Date-Time-Picker.png" width="180">&nbsp;
17+
<img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/Settings.png" width="180">
18+
</p>
19+
20+
<p align="center">
21+
<img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/Apple-Calendar-Connect.png" width="180">&nbsp;
22+
<img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/Sync-with-iCloud.png" width="180">&nbsp;
23+
<img src="https://raw.githubusercontent.com/KashCal/KashCal/main/fastlane/metadata/android/en-US/images/phoneScreenshots/ICS-Subscription.png" width="180">
24+
</p>
25+
26+
---
27+
28+
## Why KashCal?
29+
30+
| | KashCal | Others |
31+
|---|---------|--------|
32+
| Analytics | None | Often |
33+
| Account Required | No | Usually |
34+
| Works Offline | Full | Limited |
35+
| Open Source | Yes | Rarely |
36+
| iCloud on Android | Yes | Rare |
37+
38+
## Features
39+
40+
- **Privacy-First** — Zero analytics, zero tracking. Your schedule stays private.
41+
- **Offline-First** — Works without internet. Sync when you want, not when the app wants.
42+
- **iCloud Sync** — Native CalDAV support for Apple Calendar on Android.
43+
- **Material You** — Beautiful, modern design with dynamic theming.
44+
- **Home Widget** — Today's agenda at a glance.
45+
- **Recurring Events** — Full RFC 5545 RRULE support with exceptions.
46+
- **Progressive Sync** — Events appear in 2-5 seconds, not 30.
47+
- **Search** — Full-text search across all your events.
48+
- **Timezone Support** — Per-event timezone with smart display.
49+
50+
## How It Works
51+
52+
```
53+
User Action → Local DB (instant) → Background Sync (only if using iCloud)
54+
```
55+
56+
All operations save locally first. Sync happens in the background — your calendar works even without internet or any external calendar service.
57+
58+
## Security & Privacy
59+
60+
### Your Data Stays Yours
61+
- **No Analytics** — Zero tracking, telemetry, or data collection
62+
- **No Accounts** — No KashCal account required
63+
- **Local-First** — Calendar data stored on your device
64+
- **Open Source** — Fully auditable codebase
65+
66+
### Secure by Design
67+
- **Encrypted Credentials** — AES-256-GCM via Android Keystore
68+
- **HTTPS Only** — Cleartext traffic blocked
69+
- **No WebViews** — Native UI only, no embedded browsers
70+
- **Minimal Permissions** — Only what's necessary
71+
72+
## Download
73+
74+
**[GitHub Releases](https://github.com/KashCal/KashCal/releases)** — Download the latest APK
75+
76+
**F-Droid** — Coming soon
77+
78+
**IzzyOnDroid** — Coming soon
79+
80+
## iCloud Setup
81+
82+
1. Go to [appleid.apple.com](https://appleid.apple.com)
83+
2. Sign in → **Sign-In and Security****App-Specific Passwords**
84+
3. Generate a password named "KashCal"
85+
4. In KashCal: **Settings****iCloud Account** → Enter email and app-specific password
86+
87+
## Tech Stack
88+
89+
- **UI**: Jetpack Compose + Material 3
90+
- **Widget**: Jetpack Glance
91+
- **DI**: Hilt
92+
- **Database**: Room
93+
- **Async**: Kotlin Coroutines + Flow
94+
- **Background**: WorkManager
95+
- **Network**: OkHttp
96+
- **iCal**: ical4j + lib-recur
97+
98+
## Contributing
99+
100+
See [CONTRIBUTING.md](https://github.com/KashCal/KashCal/blob/main/CONTRIBUTING.md) for guidelines.
101+
102+
## License
103+
104+
Apache License 2.0 — see [LICENSE](https://github.com/KashCal/KashCal/blob/main/LICENSE)
105+
106+
---
107+
108+
<p align="center">
109+
<b>KashCal</b><br>
110+
Your calendar. Your privacy. Your control.
111+
</p>

0 commit comments

Comments
 (0)