The Self-Hosted Email Marketing Stack for Indie Hackers
How to assemble a self-hosted email marketing stack: the sending layer, list/campaign layer, DNS, and workflow — with a concrete example stack for an indie hacker on a budget.
Overview
A self-hosted email marketing stack is the set of pieces you assemble to send and manage email on your own infrastructure. The mistake is thinking of it as one tool; it's a small system with clear layers, and getting the boundaries right is what keeps it maintainable. Here's the architecture, then a concrete example stack you could run cheaply as an indie hacker.
The layers of the stack
Four layers, bottom to top. 1) Delivery: Amazon SES (cheap, reliable IP reputation) — you almost never run your own MTA. 2) Sending app: useSend on top of SES for an API, dashboard, and domain/key management. 3) List/campaign: Listmonk for newsletters, or skip it if a workflow layer covers campaigns. 4) Workflow: reply inbox, AI drafts, analytics. Keep transactional and marketing logically separate within this.
The boundaries matter: each layer should be swappable. If SES is the delivery layer and useSend the API, you can change list tools or workflow layers without touching delivery. That separation is what stops a self-hosted stack from becoming an unmaintainable tangle.
- Delivery: AWS SES (don't run your own MTA)
- Sending app: useSend (API + dashboard on SES)
- List/campaign: Listmonk (or a workflow layer)
- Workflow: reply inbox, drafts, analytics
A concrete budget stack
An example that runs cheaply: a small VPS or Coolify/Railway box running useSend, pointed at Amazon SES for delivery, with SPF/DKIM/DMARC on your domain and SNS wired up for bounces. Total cost: a few dollars of server plus fractions of a cent per email through SES. Add Listmonk if you want a dedicated newsletter manager.
For the workflow layer, you either build it or buy it. Mailbase is the buy option — BYO useSend at €5/mo gives you campaigns, a shared reply inbox, analytics, and suppression on the delivery you already run, so you don't reinvent the inbox. See self-hosted email marketing costs for the full budget and email infrastructure for indie hackers.
- VPS/Coolify/Railway + useSend + SES + DNS auth
- Cost: a few $ server + ~cents/1k emails via SES
- Add Listmonk for dedicated newsletters
- Build or buy the workflow layer (Mailbase BYO €5/mo)
Common Mistakes
- Assuming “self-hosted” means plug-and-play — DNS and SES work remain.
- Forgetting the SES sandbox exit and SNS bounce/complaint wiring.
- Self-hosting the app but expecting it to fix IP reputation for you.
- Skipping the workflow layer and stitching five tools together by hand.
Sources & Further Reading
Official docs for current setup details, pricing, and API behavior — verify specifics there, since they change.
Related guides
More on self-hosted email marketing stack and the surrounding self-hosted email workflow:
FAQ
What's in a self-hosted email marketing stack?
Four layers: delivery (Amazon SES), a sending app (useSend) for the API and dashboard, an optional list/campaign manager (Listmonk), and a workflow layer (reply inbox, drafts, analytics). Keep each layer swappable and transactional separate from marketing.
How much does a self-hosted email stack cost?
Often just a few dollars a month for a small server plus Amazon SES usage (fractions of a cent per email), versus per-contact SaaS pricing that scales with your list. Add a workflow layer like Mailbase (€5/mo BYO useSend) if you don't want to build the inbox and campaign tooling.
What's the simplest self-hosted email stack for an indie hacker?
useSend on a cheap Coolify, Railway, or VPS box, relaying through Amazon SES, with SPF/DKIM/DMARC configured. Add Listmonk only if you need a dedicated newsletter manager, and a workflow layer only when you need shared replies and campaigns.