mailSCW

Local-first email, calendar & notes

Your mail is a file on your disk.

mailSCW puts Microsoft 365, Gmail and any IMAP account in one window, with the calendars, contacts and notes that go with them. Everything it knows sits in a single database on your own machine. There is no mailSCW account, no copy of your mailbox in our infrastructure, and nothing to pay every month to read your own email.

Windows  ·  macOS  ·  Linux  ·  one codebase, one database format

The trade nobody mentions

Every mail client asks you to give something up

Pick anything on the market and you are handing over privacy, platforms or capability. Usually two of the three.

Outlook

Heavy, Microsoft-first, and genuinely good only when your whole working life already lives on Exchange.

Gmail on the web

Fast, and still a browser tab. No real offline, no local search, one ecosystem, and the mailbox is the product.

Spark, Superhuman

Polished. Your mail is relayed through and stored on their servers, and you rent access to it for as long as you want to keep reading it.

Thunderbird

Private, free, and working roughly the way it did a decade ago. The calendar is an add-on with opinions of its own.

Mimestream

Excellent, and the closest thing to this in spirit. macOS only, Gmail only. That rules out most people before they start.

The gap

Nothing is private, current, multi-provider and on all three desktops at the same time. mailSCW is the attempt at all four at once.

Privacy first

Privacy here is architecture, not a policy page

Most clients tell you what they promise to do with your mail. mailSCW is built so that the promise is mostly unnecessary: there is no server of ours for your mail to sit on, so there is nothing for us to undertake not to read, sell, index or lose.

Provider APIs

Microsoft Graph, Gmail, IMAP, CalDAV — your own accounts, contacted directly by the app on your machine.

The push relay

One small server we run, forwarding a notice of roughly 200 bytes that says "account X changed". No subjects, no bodies, no attachments.

Your AI provider

Only when you press an AI button, only on a key you supply, and only the text that action needed.

Nothing else

No mailbox mirror. No content telemetry. No third-party sync service between your own two computers.

The relay moves a signal, not a message. It exists because Microsoft and Google will only push change notifications to a public HTTPS endpoint, and a laptop behind a router is not one. It gets told that something happened; the app then goes and reads it, directly, over your own credentials.

In the reader

Senders that phone home get named

Tracking pixels are detected when the body is fetched and flagged per message, so you can see which senders are watching you open their mail. Remote images stay off until you allow them, then cache locally with a lifetime you set — a sender does not get a fresh ping every time you reopen a thread.

Outbound

Unsubscribe without being probed

One-click unsubscribe takes its target from a header the sender wrote, and the request leaves from inside your network. mailSCW follows those redirects itself and checks every hop: still HTTPS, never a private, loopback or link-local address. Chromium would happily walk that chain for you. It does not get to.

On disk

Attachments are treated as foreign

Saved attachments are written with the internet zone marker, so Word and Excel open them in Protected View instead of trusting them because they came off your own drive. Your API keys never cross into the UI layer at all — they are read and used in the main process only.

The full privacy and security detail, mechanism by mechanism →

What it is

One app. Every account you actually have.

Not a Gmail client with IMAP bolted on the side. Each provider is implemented properly, in its own module, against its own API — so shared mailboxes, labels, categories and delta sync all behave the way that provider expects.

Mail

  • Microsoft 365, shared mailboxes included
  • Gmail
  • Any IMAP server

Calendar

  • Microsoft 365
  • Google Calendar
  • CalDAV
  • ICS and webcal:// feeds

Contacts

  • Microsoft 365 and Google
  • Photos and birthdays
  • Per-contact mail history

And the rest

  • Notes with real formatting
  • Microsoft To Do and Google Tasks, with reminders that survive a repeat
  • Categories, tags, saved searches

All of it in one window, all of it offline. Mail, calendar, contacts and notes share one local database, so a search hits everything at once and nothing waits on a network round trip.

The product

One window, at the density you want

Sender, subject and a preview line when you are reading. Three times the rows when you are triaging. Same folder, same app, one setting.

mailSCW mail view in comfortable density, showing folders, message list with previews, and the reading pane
Comfortable — sender, subject and a preview line.
The same mailbox in compact density, fitting roughly three times as many rows on screen
Compact — the same folder, three times the rows.

The one nobody else has

Calendar mirroring across accounts

Two jobs, two calendars, one human being. mailSCW keeps your busy time in step between them, in any direction, without inviting anybody to anything.

  • The real meeting stays where it belongs. Your other calendars get a matching block, so nobody books over you.
  • Microsoft 365, Google and CalDAV, in any combination. Work into personal, personal into work, or both at once.
  • You choose how much shows, per account. Just "Busy", the title, or full detail with the guest list.
  • It can never invite anyone. Copies deliberately carry no attendees, so mirroring cannot fire an invitation at your colleagues by accident.
  • Exclude one event with one checkbox. Keep a single appointment off your other calendars without turning mirroring off.

The hard parts

  • Drift repair. Move or cancel the real meeting and a sweep reconciles every copy, then tells you what it did.
  • Two PCs do not multiply copies. Each copy is tagged at the provider rather than in a local table, so a second install recognises it instead of copying it again.
  • Retired machines clean up. Copies left behind by an install that no longer exists can still be found and removed.
  • Silent saves. An event opened and closed unchanged is never written back, so it never re-invites the room. Graph has no quiet update; the only safe move is not to write.
Month view with several accounts overlaid in one grid, each calendar in its own colour
Every account overlaid in one grid. Mirrored blocks land here as ordinary events, so one screen answers "am I free?" across all of them.

AI

Real assistance, on your own key

No AI subscription, no shared endpoint, no mailbox handed to a vendor as training data. You bring a key from a provider you already trust, mailSCW uses it, and it shows you what each call cost.

In your mail

  • Summarize a thread
  • Draft a reply in your voice
  • Rewrite the tone before sending
  • Turn an email into a note

In your notes

  • Rewrite and restructure
  • Pull out the tasks a note is hiding
  • Turn a note back into an outgoing message

How it behaves

  • Per-provider keys and model choice, reasoning models included
  • The key is stored and used in the main process and never reaches the UI
  • Live token and cost display
  • Long requests are trimmed to fit the provider limit rather than just failing

Finding things

Every file you were ever sent, in one list

Not a search that returns messages you then have to open. The attachments view is one row per file, with its own name, type and size — a message with four attachments is four rows. Inline images are left out, so what you see is the files people actually sent you.

Filters stack, and one can subtract

Every term matches the file name, the sender or the subject. Add as many as you like and flip any of them to exclude. "Invoice, not draft" is two clicks.

Every account at once

Or pick one and narrow to a folder using the same tree the mail view uses. Click a row to open the message it arrived in.

It reads your disk

No search round trip, no repeating yourself per account, and the list is there with the network off.

Sync

Seconds, not minutes — and it degrades instead of breaking

Push, properly

Microsoft Graph and Google push notifications land mail and calendar changes in seconds instead of waiting out a poll interval.

Gmail IDLE and Pub/Sub

Gmail changes arrive over an IDLE connection and Google Cloud Pub/Sub, again with no message content passing through anything of ours.

Falls back on purpose

Every push path asks whether the relay understands it and reverts to a timer if the answer never comes. A push feature is not allowed to break the app.

Incremental by design

Both calendar providers sync from a stored cursor and both mail providers sync deltas, so a mailbox with hundreds of thousands of messages costs about the same per tick as a small one.

This is developed against a mailbox with roughly 166,000 messages in it, which is where most of the unglamorous work has gone: deleting thousands of messages, marking a huge folder read and running a rule over a year of mail all happen without locking up the window. Composer keystroke latency and reply-open time were each profiled and fixed rather than left at good enough.

Depth

The features people leave a mail client over

Competitors have some of these. The list below is the short version — every one of them is in the shipping app, on every platform it runs on.

Mail

  • Snooze, and Watch for Reply
  • Rules, with a dry run before they touch anything
  • Mail merge from a CSV
  • Undo send, on a delay you set
  • Share links instead of 30 MB attachments
  • Signatures per account, and per new / reply / forward

Calendar

  • Recurrence, including "second Tuesday of the month"
  • RSVP, and propose a new time
  • Join buttons for Teams, Zoom and Webex
  • Forward an invite as a real .ics
  • Declining removes it from your calendar, not just your reply
  • Native reminder popups that know when to wait

The app itself

  • A full theme editor, not a light/dark switch
  • Notifications suppressed during presentations and games
  • Per-account offline cache, or bodies on demand
  • Pop-out reader and composer windows
  • Auto-update with delta downloads
  • Log viewer and changelog inside the app

The complete feature list →

Two computers

Your setup follows you, with nobody in the middle

Notes and settings sync between your machines through a hidden folder in a mailbox you already own. No mailSCW backend is involved and there is nothing extra to pay for.

  • Your mailbox is the transport. No new account, no third-party sync service, nothing that stops working when a vendor does.
  • Merged per key, not per document. Change a signature on the desktop and a toggle on the laptop in the same minute and you keep both.
  • Conflicts are shown, not silently resolved. When two machines edit one note you get both versions side by side and pick.
  • Machine-local settings stay local. Anything keyed to one install's ids is deliberately excluded rather than replicated into nonsense.

The usual answer

Create an account with the vendor, upload your settings — and often your mail — to their cloud, and pay monthly for the privilege of owning two computers.

This one

A folder in your own mailbox that you can open, export or delete. Your data, in your account, the whole way through.

The short version

How it compares

mailSCW Outlook Gmail web Spark / Superhuman Thunderbird
Mail stored locally, works offline YesPartialNoCachedYes
Mail relayed through a vendor server Nevern/an/aYesNever
Windows, macOS and Linux YesWin / MacBrowserWin / MacYes
Microsoft 365, Gmail and IMAP together YesPartialNoYesYes
Calendar mirroring across accounts YesNoNoNoNo
AI on your own key, no subscription YesCopilotGeminiBundledNo
Meeting recording built in YesNoNoNoNo
Mail merge from a CSV YesWith WordNoNoAdd-on
Multi-PC sync without a vendor account YesNoNoNoNo
Cost model Buy it onceMicrosoft 365Free / adsSubscriptionFree

Why this is where email is going

The cloud client was the detour

For fifteen years the trade was worth it. Storage was expensive, laptops were slow, and putting the mailbox on somebody else's machine bought you search, sync and a phone client you could not otherwise have had. That bargain has quietly expired. A cheap laptop has a fast SSD and enough RAM to hold a decade of mail locally, and the providers all expose delta APIs that make keeping a local copy current a solved problem rather than a research project.

What has changed underneath it is who wants your mailbox. An inbox is now the most valuable training corpus most people own, and the clients in the middle are the ones with access. A design where the mail never leaves your disk is not nostalgia — it is the only version of this that stays yours when the terms of service are rewritten.

So the bet is a simple one. Everything that made a web client feel modern — instant search, push in seconds, working across your accounts, AI that actually helps — is achievable on the desktop now, and it is achievable without a vendor holding the mailbox. mailSCW is what that looks like when you refuse the trade instead of negotiating it down.

Roadmap

What is done, and what honestly is not

Near term

  • Print from the calendar and the reader windows
  • A fuller keyboard-shortcut map
  • Reusable canned replies

Reach

  • Email screening. Mail from a sender you have never approved does not reach the inbox. One decision per person, and it holds for everything they send after.
  • Deeper IMAP parity. Server-side search, IDLE and flags, which unlocks Fastmail, Proton Bridge, iCloud and self-hosted mail.

The big ones

  • Mobile, Android first. Built on the same core package rather than the desktop UI squeezed onto a phone.
  • End-to-end encryption. PGP and S/MIME, with keys that never leave your machine.
All three desktops ship. Windows, macOS and Linux are built from the same source tree in the same release, and each updates itself from inside the app. The Mac build is signed and notarized by Apple and runs on Apple silicon; Intel Macs are not built for.

The hard part is behind it. Multi-provider sync, a local database that survives a real mailbox, push, calendar mirroring and AI are all shipping. What is left is breadth.

Wait list

Get mailSCW

mailSCW is with a small group of testers while the rough edges come off. Leave an address and you will hear when there is room for more — once, by email, and not for anything else.

Kept on our own server, never shared, and removed on request. Details.

What it runs on

  • Windows — signed installer; registers as the system mail handler.
  • macOS — signed and notarized by Apple, for Apple silicon Macs.
  • Linux — .deb and AppImage.

All three update themselves from inside the app, and share one database format.