← All case studiesCase studyMuntahi Safwan
04 · Open source desktop app

Cloister

A quiet, private, lightweight home for your messaging apps.

Cloister on a device
Role
Solo build
Stack
Rust · Tauri 2 · Svelte 5 · TypeScript
Status
v0.4.1, open source (MIT)
Link
muntahi-safwan.github.io/Cloister

The problem

Most all-in-one messengers ship a full copy of Chromium and keep every service awake. On an ordinary laptop that is a lot of memory for reading short messages, and privacy is usually a setting buried in a menu. I wanted WhatsApp, Discord, Gmail and Messenger in one window that stayed light and treated privacy as the starting point.

What I built

  1. Light on memory

    Cloister is written in Rust with Tauri, so it uses the browser engine already on the computer instead of shipping its own. A service loads only when you open it, and idle ones can be put to sleep.

  2. Isolated sessions

    Every service runs in its own browser profile. Cookies and logins never mix.

  3. Native notifications

    Messages arrive as Windows notifications, with unread counts on the tray and the taskbar.

  4. Veil and app lock

    One shortcut blurs every chat for screen sharing or working in public, and the app can lock behind Windows Hello.

  5. Focus sessions

    Hold notifications for a set time, let named people through, and get a summary of what arrived when the session ends.

  6. A command palette

    Jump to any service or action from the keyboard. Any website can be added as a service of its own.

  7. Local only

    No account, no telemetry and no server of mine. Fonts and icons ship inside the app.

What it led to

Released as open source under the MIT licence, with installers for Windows and other systems (the Windows one is about 5 MB) and a landing page where anyone can download it.

How it fits together

Tauri shell · Rust
Interface · Svelte 5 and TypeScript
WebView2 · one isolated profile per service
Notification bridge · Windows toasts, tray and taskbar badge

What is next

Keeping the releases coming, and listening to what the first users ask for.

Next projectElorva →