skip to content
all projects
in progress 2026

Emailer

Multi-account mail client and control plane sitting on top of Resend.

TypeScript SvelteKit Svelte 5 Cloudflare Pages D1 Drizzle ORM better-auth Resend Svix Tiptap
webinfra

Emailer connects any number of Resend accounts – API keys encrypted with AES-256-GCM in D1 – and manages all of them from one dashboard: sending, domains and DNS, contacts, broadcasts, templates and suppressions. It exists for two things Resend’s dashboard cannot do: cross-account aggregation, and automatic DNS, where a Cloudflare integration creates, verifies and cleans up sending-domain records and keeps a lifecycle timeline Resend does not persist.

Inbound mail turns it into a mail client. Receiving is opt-in per domain – enabling it flips Resend’s receiving capability while the Cloudflare automation inserts the MX record – and a Gmail-style shell covers a unified inbox, threads, folders and a docked composer with autosaving drafts. Replies set In-Reply-To and accumulate References so they thread in the recipient’s client, inline cid: images resolve, and the compose from-address is bound to verified sending domains.

Every Resend webhook arrives at a receiver that verifies the Svix signature and persists the accepted event; the unsigned receiver that preceded it, which took anonymous writes filed under 'unknown', was deleted outright rather than left behind a flag. Analytics and per-email delivery traces read from that table. List pages fetch bounded per-account windows with a Load more control – deliberately not cursor pagination, because no global cursor spans a merged multi-account list, and Resend rejects any limit above 100.

Deployed git-connected to Cloudflare Pages, where preview branches get their own D1 database. A complete in-memory mock of the Resend API keeps local development keyless.

Writeups

from this project