A personal email client over IMAP is a good weekend: sync mailboxes into SQLite, merge them into one inbox, then add snooze, send later, templates and an LLM that summarises a thread. The gaps are in the plumbing. Gmail and Outlook want OAuth, and Google's review for sensitive scopes isn't something one person wants to go through, so app passwords carry it. Spark's own help says send later and Teams need its servers, and a local copy needs a machine that stays on. Phone apps with push, and the shared threads and comments teams pay for, stay out of reach.
Before you buildSpark Free already covers unlimited accounts, snooze, send later and a smart inbox. Try it before paying or building: the AI and team features are what Plus and Pro add.
Build me a personal email client to replace Spark Premium. Requirements:
- Node.js 22 + TypeScript: a Fastify API and a React UI built with Vite. `npm start` serves
http://localhost:4750 and keeps running in the background so scheduled sends and snoozes fire.
- Accounts: any number of IMAP/SMTP mailboxes using `imapflow` and `nodemailer`, each with an app
password stored in .env (no OAuth); a sync worker per account that listens with IDLE.
- Storage: better-sqlite3 in ./data/mail.db for headers, parsed bodies (`mailparser`), threads
and local state; attachments stay on the server and are fetched on demand.
- Inbox: one unified inbox across accounts, threaded, with keyboard shortcuts (j/k, e to archive,
r to reply), full-text search through SQLite FTS5 and a Gatekeeper: mail from first-time
senders waits in a screening list until I accept or block them.
- Time tools: snooze a thread until a time, send later, and follow-up reminders when nobody
replied in N days; all are rows in SQLite checked every 30 seconds.
- Templates with {{name}}-style variables and per-account signatures.
- AI is optional: with an OpenAI-compatible key in .env, a thread summary and a draft-reply button
send only that thread's text; with no key the buttons are hidden.
- Single user. No accounts, no telemetry, local-first: the only outbound calls are IMAP, SMTP and
the optional AI endpoint.
- Out of scope: shared inboxes and team comments, calendar, meeting notes, mobile apps, push.
- README: creating app passwords for Gmail, iCloud and Fastmail, and a note that the app must stay
running for scheduled sends.Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Spark Premium.
Add a newsletter digest to the email client in this folder. Requirements: - Detect bulk mail by the List-Unsubscribe or List-Id header and move it out of the inbox into a Digest view without marking it read. - At 08:00 local time, build one digest per account: sender, subject and a two-line summary from the AI endpoint when a key is set, otherwise the first 200 characters. - A "Keep in inbox" action that remembers the sender, and a one-click unsubscribe that uses the List-Unsubscribe-Post header when present and otherwise opens the link. - Update the README.
Add voice-matched reply drafts to the email client in this folder. Requirements: - Build a style sample from the last 200 messages I sent: sentence length, greeting, sign-off and the phrases I repeat, stored as a short text profile in SQLite. - The draft-reply button sends the thread plus that profile to the AI endpoint and puts the result in the composer as an editable draft; nothing is ever sent without my click. - Let me rate each draft up or down and keep the ten best-rated edits as examples in the next prompt. - Show in settings exactly which text leaves the machine. - Update the README.
Add mail rules to the email client in this folder. Requirements: - A rules page where each rule has conditions (from, to, subject contains, has attachment, header present) and actions (move to folder, mark read, pin, snooze 1 day, forward to an address). - Rules run when a message arrives, in a visible order, and stop at the first match when "stop processing" is on. - A dry-run button that lists what a rule would have done to the last 500 messages. - Log every action with the message id so I can undo the last 20. - Update the README with a table for copying your existing rules across.
Email is where a missed message costs money, so people pay for a client that syncs across phone, laptop and watch and puts AI on top of the Gmail or Outlook account they already use. Teams pay for the shared drafts and comments that stop two people answering the same customer.
Estimate · Free on a computer you already leave on; a $5 VPS if not. AI summaries cost a few cents per hundred threads on a small model. The build is token usage on your agent plan.
Checked 2026-10-19 against Spark Premium's docs: 1, 2, 3, 4, 5
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0/user | $0/user | Unlimited email accounts, smart inbox, unified inbox, snooze, send later, reminders, calendar, 5 AI meeting notes for life, an AI assistant limited to 1 month of mail history. |
| Plus | $10/user | $8.25/user | Free plus Gatekeeper, priority senders, smart folders, templates, Spark +AI with an extended monthly quota, an AI assistant that searches 1 year of mail, 40 meeting notes a month. |
| Pro | $20/user | $16.58/user | Plus plus a higher AI quota, full mail history for the assistant, unlimited meeting notes, Autopilot rules, Auto-Drafts in your voice, read statuses, HubSpot integration, triage access for the Spark CLI. |
| Enterprise | custom | — | Pro plus security controls, a customer success manager and productivity coaching. |
Spark Free gives unlimited accounts, the smart inbox, snooze, send later and a calendar, with a small preview of the AI assistant.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: iOS, Android and Apple Watch apps with push notifications, Shared threads, private comments, assignments and shared inboxes for a team.
About $10 a month on the Plus plan per seat, $120 a year (checked 2026-10-19).
iOS, Android and Apple Watch apps with push notifications; Shared threads, private comments, assignments and shared inboxes for a team; Native Gmail and Outlook sign-in without app passwords; Calendar with Zoom, Google Meet and Teams links, and AI meeting notes; Autopilot rules and drafts written in your voice from your sent mail. If any of those matter to you, keep paying.
Yes: Thunderbird (open source), Thunderbird for Android (open source), Mailspring (open source).