File
SMF·SPARK-PREMIUM
Received on
31.07.2026
Reviewed on
28.09.2026
Exhibits annexed
3
Questions
4

SMF·SPARK-PREMIUM

Can a prompt replace Spark Premium?

Email — email clients and hosted mail

Almost Verdict recorded on 28.09.2026 · Verified on 31.07.2026
Price
$10/moSource: sparkmailapp.com · Checked on July 31, 2026
Per year
$120
Build time
A week
Category
Email
Votes
0 votes
YesAlmost (checked)Not yet

Exhibit tracking slip

Exhibit A The prompt
Exhibit B What you lose
Exhibit C Why people still pay: mail infrastructure, integrations, and client polish
Exhibit Q Questions

Verdict

Spark's Smart Inbox is a classifier over headers, not magic: List-Unsubscribe means newsletter, no-reply and automated senders mean notifications, everything else is a person. That triage plus snooze and send-later is a genuinely useful client and a real weekend. What takes the rest of the fortnight is IMAP itself — resumable sync, correct threading, flags that survive a reconnect — and the mobile push that makes an email client usable at all is simply out of reach.

Exhibit B — What you lose

Exhibit A — The prompt

Received on31.07.2026
Build a desktop email client whose defining feature is automatic triage of the inbox into three streams.

Account: one IMAP and SMTP account. Credentials go in the OS keychain, never on disk in the app's own storage. Support both password and OAuth authentication, since major providers now require the latter.

Sync: resumable, incremental IMAP sync using UIDVALIDITY and UIDNEXT, with a visible status showing folder progress and last successful sync. Store headers and bodies in SQLite with full-text search. Handle a broken connection by resuming, not by re-downloading the mailbox.

Triage, which is the point of this build. Classify every arriving message into one of three streams using headers first and content only as a tiebreak:

- Newsletters: presence of List-Unsubscribe or List-Id, or a Precedence header of bulk or list.
- Notifications: sender local-part matching no-reply, noreply, notifications, alerts, or automated; Auto-Submitted header set; a sender domain the user has previously marked as automated.
- People: everything else.

Show the three streams as separate views with independent unread counts, and make reclassification one keystroke that writes a persistent per-sender rule. The rules are visible and editable as a list — a classifier the user cannot correct is one they will stop trusting within a week.

Snooze and send later, both handled locally: snoozing moves the message to a hidden folder on the server and a local timer returns it to the inbox at the chosen time; send-later holds the message in a local outbox and submits it via SMTP at the scheduled moment. Both must state clearly that they only work while the application is running, because a client-side scheduler that silently misses its window is worse than no feature.

Safety: render HTML in a sandboxed view with remote images and remote CSS blocked by default, and an explicit per-sender allow. Never execute scripts in a message.

Also build: standards-based threading by References and In-Reply-To, drafts saved to the server's drafts folder, attachments, and a full local export as mbox.

Out of scope: mobile apps and push, running a mail server, shared or team inboxes, and any AI feature. Say in the README that the absence of push on a phone is the real gap against a commercial client.

Opening prefills the prompt — press enter to run it.

Exhibit B — What you lose

  • B.1 push notifications on a phone, which is where email is actually read
  • B.2 the iOS, Android and Windows clients
  • B.3 team features: shared drafts, comments on a thread, delegation
  • B.4 sync of your snoozes and read state across devices

Prior art

Exhibit C — Why people still pay: mail infrastructure, integrations, and client polish

Because email is checked on a phone, in a queue, at a bus stop. A desktop client with no mobile companion solves the smaller half of the problem.

Questions

Can I bring my Spark setup over?

Mail lives on the IMAP server, so nothing needs migrating there. What does not transfer is Spark's own state: your Smart Inbox training, snoozed messages and scheduled sends are held by Spark's service and are lost when you leave, so check for anything scheduled before cancelling.

How accurate is header-based triage?

Good, and better than it sounds. List-Unsubscribe is nearly universal on legitimate bulk mail, and automated senders are consistent about their local-parts. The failures cluster on transactional mail from small services, which is why per-sender correction rules are part of the core build rather than a setting.

What does it cost to run?

Nothing beyond the mail account you already have. It runs on your machine against your existing provider; there is no server and no API. Disk is the only cost, and a large mailbox with bodies indexed is a few gigabytes.

What is the one thing that does not survive the rebuild?

The phone. Push notification on iOS requires an always-on service holding your credentials and a signed app in the store, which is a business rather than a weekend. Without it, a desktop client is a partial answer to a problem that is mostly mobile.

Receipt

Already built this yourself?