← All writingLab / Why I Built Cloister: A 5 MB Messaging App in Rust and TauriMuntahi Safwan
Lab · 3 min read ·

Why I Built Cloister: A 5 MB Messaging App in Rust and Tauri

Cloister is a free, open source desktop app that keeps your messaging services in a single window. It is written in Rust with Tauri, the Windows installer is about 5 MB, and it has no account, no telemetry and no server of mine behind it.

I built it because my own work was spread across four places. Clients write on WhatsApp, my team talks on Discord, proposals arrive by email, and a few people still prefer Messenger. Each of those wanted its own window, and each window was quietly a whole browser. On an ordinary laptop that is a lot of memory spent on reading short messages.

What does Cloister actually do?

It gives every service a place in one sidebar and loads a service only when you open it. There are built-in recipes for WhatsApp, Messenger, Discord, Gmail, Outlook, Telegram, Slack, Microsoft Teams and a few more, and you can add any website yourself. Each service runs in its own browser profile, so cookies and logins never mix, and you can add the same service twice for two accounts.

Notifications from the sites become normal Windows notifications, and the unread total shows on the taskbar and the tray. A command palette on Ctrl K jumps to any service or action, because I did not want to reach for the mouse to change conversations.

Why is it only 5 MB?

Most all-in-one messengers are built on Electron, which ships a full copy of Chromium inside every app. Cloister uses the browser engine that is already on the computer, which on Windows is WebView2. The app itself is a thin Rust shell around those web views, so there is very little to download.

Memory gets the same treatment. Pages you are not looking at are asked to keep a low memory target while still receiving notifications, and a service can be set to unload after a period of inactivity and come back when you return. The settings screen shows how much memory each service is using, so the claim is something you can check.

Privacy as a feature, not a setting

The part I care about most is a feature called Veil. One shortcut blurs chats, previews and messages in every service at once, which is useful when you share your screen or work in a public place. You can hover to peek, and notifications hide their text while Veil is on.

Cloister can also lock itself behind Windows Hello when it starts or after you have been away. And there are focus sessions, which hold notifications for a set time, let named people through, and give you a summary of what arrived when the session ends.

None of this talks to a server. Fonts and icons ship inside the app, and the notification history lives in memory only.

Why Rust?

Partly because it suits the job. A messaging app runs all day in the background, so it should be small and it should not leak. Rust and Tauri make both of those easier than the alternatives I looked at.

The other reason is that I wanted to learn Rust properly, and I learn best with a real project in front of me. I run a software agency and I am still a computer science student, so most of my working hours go to client deadlines. A side project is where I get to be a beginner again without a client paying for my mistakes.

Where it stands

Cloister is at version 0.4, released under the MIT licence. It started as a Windows app for Windows 10 and 11, and the 0.4 release added installers for other systems. You can download it or read the source from the Cloister site.

It replaced four icons on my taskbar with one. If it does the same for you, or if it breaks, I would like to hear about it.

Written by Muntahi Safwan, founder of Octarnal, a software agency in Dhaka, and a Computer Science and Engineering student at AIUB.