# listmonk / Keila / Ghost

Own the list. listmonk is the single-binary newsletter app; Keila is the AGPL ConvertKit-shaped tool; Ghost covers a paid publication.

**Replaces:** Substack / ConvertKit

**Tier:** Easy

## Problem

Substack takes a cut of paid subs. ConvertKit (Kit) meters the list. You wanted broadcasts, segments, and a list you can export. listmonk is one Go binary + Postgres. Keila is the visual automations path. Ghost if the newsletter is also the site.

## Stack

- [listmonk](https://listmonk.app) — Single-binary, self-hosted newsletter and mailing lists
- [Keila](https://keila.io) — Open-source newsletter and automations
- [Ghost](https://ghost.org) — Publishing plus paid newsletters if the site is the product

## Estimated SaaS cost saved

| You stop paying | Typical / year | Self-host instead |
|---|---:|---|
| ConvertKit / Kit paid plan | $1,800 | listmonk or Keila + Resend |
| Substack paid-sub cut | $1,800 | Ghost memberships + listmonk |

**About $1,800 / year** on a small team, before you count lock-in.

## Deploy on Railway

Placeholder: listmonk + Postgres (easiest), or Keila + Postgres, or Ghost if the publication is the product. SMTP via Resend. This site already mirrors subscribers in PocketBase — listmonk is the upgrade path past Plunk.

[Start on Railway](https://c17.io/go/railway/listmonk-email?from=%2Fstacks%2Flistmonk-email.md)

## AGENT_PROMPT

```
Replace Substack or ConvertKit/Kit with a list you host.

Preferred: listmonk (https://listmonk.app) + Postgres + Resend. Keila if you need visual automations. Ghost if the newsletter is a publication with a site.
- Import a CSV of the existing list. Double opt-in. send. subdomain for SMTP.
- Write AGENT_PROMPT.md. Do not promise Substack Notes or ConvertKit commerce you have not rebuilt.
```

## FAQ

### Why not Plunk?

Plunk is already the Mailchimp/SendGrid stack on this site. Substack and ConvertKit are editorial lists. listmonk is the small, fast box for that job.

Source: https://c17.io/stacks/listmonk-email
