A local first, privacy focused communication platform built with Rust, Tauri 2 and React. Calemity aims to provide familiar community chat and messaging without mandatory dependence on a centralized, company controlled service. The application is designed around local ownership: conversations live on the user's device, remain accessible offline, and can eventually synchronize across multiple devices. Users will be able to connect Calemity to infrastructure they control, including a home server, NAS or VPS. Community operated and professionally managed hosting should also be possible without forcing everyone through one central Calemity service. (I know, it's grand! And I barely have any idea what I'm doing...but I believe!)
Currently capable of displaying
heyin a desktop window. Revolutionary stuff.
- Local-first messaging and offline access.
- Secure identities and multiple authorized devices.
- Direct messages, group chats, communities and channels.
- End-to-end encryption where appropriate.
- Multi-device message synchronization.
- Self-hosting on a PC, NAS, home server or VPS.
- Optional community-operated and managed hosting.
- Portable backups, exports and server migration.
- Voice, video and screen sharing later.
- Open protocols and community-built tools.
- No mandatory subscription tiers or artificial feature paywalls.
- Deep client customization, with themes and plugins planned later.
Self-hosting is intended to be a first-class part of Calemity rather than an unsupported alternative to an official service. In the future, communities should be able to run Calemity using infrastructure such as:
- A local computer or home server.
- A NAS.
- A VPS or dedicated server.
- A compatible third-party hosting provider.
- An optional officially managed Calemity hosting service. Official Calemity hosting may be offered commercially in the future for users who prefer managed infrastructure, storage, backups, monitoring, upgrades and support.
Such services do not change the goal of keeping the core Calemity server open and independently self-hostable.
Calemity should not depend on one networking or cloud provider. The architecture is being explored around interoperable pieces such as:
- Encrypted chat → MLS
- Native connectivity → QUIC / NAT traversal / encrypted relays
- Large files → encrypted content-addressed storage
- Voice / video → WebRTC
- Group media → TURN / SFU
- Media E2EE → SFrame-style application encryption
- Storage → local / NAS / WebDAV / S3-compatible / managed
Calemity is in very early development. Currently implemented:
- Rust multi-crate workspace.
- Tauri 2 desktop application ("desktop application").
- React and TypeScript frontend (once again, maybe a little exaggeration).
- Local SQLite storage.
- Shared protocol models.
- Basic local message saving and loading. Nothing should currently be considered production-ready, security-audited, or safe to entrust with the nuclear launch codes.
- Rust
- Tauri 2
- React
- TypeScript
- SQLite
- SQLx
- Tokio
- Axum
Calemity/
├── apps/
│ └── desktop/
├── crates/
│ ├── calemity-api/
│ ├── calemity-protocol/
│ ├── calemity-storage/
│ ├── calemity-identity/
│ ├── calemity-sync/
│ └── calemity-server/
├── docs/
└── migrations/
Calemity is built with the community, for the community.
Commercial hosting, consulting and support are welcome. Improvements to the app should remain available to everyone, including improvements used by hosted services.
The goal is not to prevent people from building businesses around Calemity.
The goal is to prevent the shared platform from slowly becoming somebody else's closed garden with a premium badge attached.
Calemity is intended to be a community driven communication platform. I welcome commercial use, hosting, and contributions. :3
The AGPL is used because I believe improvements to the platform should remain available to everyone, whether Calemity is distributed as software or offered as a hosted service.
With that said...I'm still shocked I managed to get a window to even pop up! If you've read this--have a lovely morning, noon, afternoon/evening!^^
Contributions are welcome!
Calemity uses the Developer Certificate of Origin (DCO) for contributions rather than requiring contributors to assign their copyright to the project.
See CONTRIBUTING.md for development, contribution and sign-off instructions.
Calemity is licensed under the GNU Affero General Public License v3.0 or later.
The calemity-protocol crate is available under either the MIT License orthe Apache License 2.0, at the user's option.
The license declared in each crate's Cargo.toml is authoritative for that crate.
See LICENSE-AGPL, LICENSE-MIT, and
LICENSE-APACHE for the full license texts.