Mussi Pulse
Local-first · End-to-end encrypted

Everything you run, in one pulse.

A desktop app that pulls your code reviews, mail, messages, calendar, money and notes into a single frame — kept on your machine, encrypted with a key that never leaves it.

macOS · Linux · Windows — built on Tauri 2

Mussi PulseE2EE
Open pull requests4 waiting
mussi-pulse#412calendar: RRULE across DSTreview
pulse-cloud#88relay: LISTEN/NOTIFY backpressuremine
mussi-pulse#409mail: image proxy, zero direct fetchmine
onibi-app#51shots: retention windowreview
Local digest

onibi-app#51 is the only thing actually blocked — CI red since 14:02, waiting on you.

Modules

Ten surfaces, one frame.

Every module reads the same way — scope, list, reading pane — so nothing has to be learned twice. Turn on only what you use.

Dashboard

The day in one screen: what is waiting, what is late, and what moved since you last looked.

Development

Pull requests across every git account you own, with what is actually blocking each one — reviewer, CI, or you.

Mail

Unified inbox over IMAP and Microsoft Graph. Remote images are proxied, never fetched by the message itself.

Messages

Telegram and WhatsApp threads sitting next to the work they belong to, instead of in another window.

Calendar

Your own calendar first. Invites that arrive by mail become events without asking a third party for permission.

Notes

Long-form notes and documents, written in the app and kept in the same encrypted store as everything else.

Timesheet

Hours reconstructed from the traces work already leaves behind — commits, reviews, cards — instead of from memory.

Finances

Accounts, spending and runway, in the currencies you actually hold, with the numbers staying on your disk.

Infra

Cloud accounts, health and cost per client and per project, read through keys that can only look.

Knowledge

A local knowledge graph, so the assistant can recall context instead of re-reading everything you own.

Architecture

Local first, cloud optional.

The app is complete before it ever talks to a server. Sync is something you switch on, not something you inherit by installing.

1

It runs on your machine

Data lives in a local SQLite database under your home folder. No account and no connection are needed to open the app and work.

2

The key stays in your keychain

The master key is generated on your device and stored in the operating system keychain. It is never uploaded, and no copy exists on our side.

3

Sync is opt-in and blind

If you turn on Pulse Cloud, anything that leaves the device is already AES-256-GCM ciphertext. The server stores blobs it cannot read.

Because the server never holds your key, we cannot recover your data if you lose every trusted device together with your recovery code. That is a trade this design makes on purpose.

Privacy

Your data is yours alone.

Privacy here is not a policy page bolted onto a product — it is the reason the product is shaped the way it is.

You hold the only key

Content is encrypted with AES-256-GCM using a key that lives in your OS keychain. Holding the key is what proves the data is yours.

The server only ever sees ciphertext

Optional sync uploads encrypted blobs. There is no debug view, no support tool and no query that turns them back into your content.

No ads, no profiling, no resale

Nothing you connect is mined to build a profile, and no third party buys access to it. The app has no advertising business to feed.

You can leave whenever you like

Export your data in open formats, disconnect any integration from Settings, or delete the local database and be genuinely gone.

4e622210430458e5678131579b977bf4679cf27bc817
65471fec60370eb82524363186529eac4af8e9cf9eda
8510cf8c82b074d91440e6014cc7edc0362f19c84505
bf61c2cf1bdc668508cc80b7c197c8946cd3e803e389
2814c16e9bfb78c7f9e06192c14ccf65fc8d242f0842
394f5449538b3795dd211810eb5a580aa4a7b02530ed
79e612fd78af1d18de4693d2c682df6d81a088a4afd8
79205a289b09690a28db9354a12448e172e74104c517
86f70611a0621b819111b9814c89f60873de5c4793e3
09492bd93572d82ae47d5e0f53e706c73816f9fdf43e
91b47d13bdacee6c792b92d030f74c1049a9896215f2
93a5e4e72a20c05587e5189e208b2d459225e104e590
6c2f81812d69c1be888c6ffad655972e51aaa3f367e1
d41958ecf432507f074cafa2d80168d1c8dc42294ab3
553aa29563190a030c0a2a2156951c837831aeec566b
907c8ab75374c63171642f008e7c3bf4acca1a41d783
c77871d024ce625d76c23031e0f4500ec228d101f309
0ed505b43ccdba0ef131cc4a46f326e497ecef6e0857
48fe10f2b8922fb73352336556067425b1a302048613
28dd09c0143706a65f7954b9e8b043ac7145d5f8335b
27666e5304a2a794d3189864cd308ff98748dc5e611e
f13f33d95b0dd48bc7fbc0bd06c6f5da77497f4c0b63
4e622210430458e5678131579b977bf4679cf27bc817
65471fec60370eb82524363186529eac4af8e9cf9eda
8510cf8c82b074d91440e6014cc7edc0362f19c84505
bf61c2cf1bdc668508cc80b7c197c8946cd3e803e389
2814c16e9bfb78c7f9e06192c14ccf65fc8d242f0842
394f5449538b3795dd211810eb5a580aa4a7b02530ed
79e612fd78af1d18de4693d2c682df6d81a088a4afd8
79205a289b09690a28db9354a12448e172e74104c517
86f70611a0621b819111b9814c89f60873de5c4793e3
09492bd93572d82ae47d5e0f53e706c73816f9fdf43e
91b47d13bdacee6c792b92d030f74c1049a9896215f2
93a5e4e72a20c05587e5189e208b2d459225e104e590
6c2f81812d69c1be888c6ffad655972e51aaa3f367e1
d41958ecf432507f074cafa2d80168d1c8dc42294ab3
553aa29563190a030c0a2a2156951c837831aeec566b
907c8ab75374c63171642f008e7c3bf4acca1a41d783
c77871d024ce625d76c23031e0f4500ec228d101f309
0ed505b43ccdba0ef131cc4a46f326e497ecef6e0857
48fe10f2b8922fb73352336556067425b1a302048613
28dd09c0143706a65f7954b9e8b043ac7145d5f8335b
27666e5304a2a794d3189864cd308ff98748dc5e611e
f13f33d95b0dd48bc7fbc0bd06c6f5da77497f4c0b63

AES-256-GCM

Everything that leaves your device is sealed before it goes — and only your device can open it again.

sealed on device

Connections

It connects on your terms.

Every connection is added by you, one at a time, with the narrowest access that makes the feature work — and can be revoked from Settings at any moment.

Google Calendar

Two-way sync of your events, so a meeting created in the app shows up in Google Calendar and the other way around.

OAuth 2.0 · calendar scope

Gmail & Outlook mail

Reads your inbox over IMAP or Microsoft Graph, using an app password or a token you generate yourself.

IMAP · Graph · app password

GitHub

Pull requests, reviews and CI status for the accounts you link — one token per account, each kept in the keychain.

Personal token · per account

Telegram & WhatsApp

Your own bot bridges to the app, so you can drive it from your phone without a middleman holding the conversation.

Bot token · self-hosted

Claude (optional)

Digests and drafts run through Claude only when you ask for them. Without it the app still works — just without the assistant.

Opt-in · no shell access

Cloud providers

Read-only keys used to show the health and cost of infrastructure you already pay for. Nothing is provisioned on your behalf.

Read-only keys

About Google user data: Mussi Pulse's use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Calendar data powers the calendar module inside your own app, is stored encrypted on your device, and is never sold, used for advertising, or read by a human — read the full disclosure.

Platforms

One codebase, three desktops.

Tauri 2 with the native webview: a real desktop app with a real tray icon, not a browser tab wearing a costume.

macOS

Apple silicon and Intel, with a menu bar tray that keeps the app alive when the window closes.

private beta

Linux

AppImage and .deb out of the same build pipeline, with the secret service for keys.

private beta

Windows

Windows 10 and 11, with keys held by the Windows credential manager.

private beta
Private beta

Not open yet — but close.

Mussi Pulse is built in the open by one person, for real daily use before anyone else's. If you want in when the beta widens, write and say what you would use it for.

No public download yet · no account needed to run the app