Substack

Publish posts and send email from a self-owned list without recreating discovery or payments

NOT REALLY · consider alternatives
price variesestimated build time closest consolation build: one sittingreplaced by 0 people

A consolation build is possible, but the paid product's decisive value sits outside a solo rebuild. For Substack, publish posts and send email from a self-owned list without recreating discovery or payments. The hard boundary is reader network, recommendations, app distribution, payments, and brand familiarity, plus deliverability, growth network, and integrations.

Build verification: not recorded. How we judge buildability

What you give up

  • reader network, recommendations, app distribution, payments, and brand familiarity
  • inbox-placement expertise
  • advanced automations
  • commerce integrations
  • recommendation and ad networks

Why people still pay

People still pay for Substack because newsletter operators pay for inbox placement, growth mechanics, and operational confidence on publication day. The recurring cost buys DNS authentication, reputation, bounces, complaints, unsubscribe compliance, templates, queues, analytics, backups, and support, not just the visible interface.

Your build guide

The stack, security requirements, and agent rules for a focused replacement.

Before you start

  • Amazon SES account
  • verified sending domain
  • PostgreSQL
  • public HTTPS deploy target
  • DNS access
01
Use Next.js 15, TypeScript, PostgreSQL, Drizzle ORM, and Amazon SES.
02
Model subscribers, consent records, campaigns, delivery attempts, and suppression state; keep stable source IDs and timestamps.
03
Interface for this email newsletters and creator publishing workflow: a local web page with input, progress, review, and export views.
engineering roadmap

Implementation plan

1

Phase 1, architecture and data

Use Next.js 15, TypeScript, PostgreSQL, Drizzle ORM, and Amazon SES. Model subscribers, consent records, campaigns, delivery attempts, and suppression state; keep stable source IDs and timestamps.

2

Phase 2, implement

Implement subscriber import, double opt-in, unsubscribe, suppression, tags, and consent timestamps.

3

Phase 3, implement

Create a Markdown campaign editor with HTML and plain-text previews.

4

Phase 4, review and output

Queue sends through SES with retries, rate limits, idempotency, and resumable batches. Add test sends, seed-list checks, DNS setup guidance, exports, and backups.

5

Phase 5, recovery and acceptance

Queue sends through SES with retries, rate limits, idempotency, and resumable batches. Verify this invariant with a saved fixture: Unsubscribed or bounced addresses must stay suppressed; retrying an ambiguous provider response cannot silently send twice. State the practical limit: reader network, recommendations, app distribution, payments, and brand familiarity.

the pro prompt
Build me a focused email newsletters and creator publishing workflow for the personal core of Substack. Requirements:

- Use Next.js 15, TypeScript, PostgreSQL, Drizzle ORM, and Amazon SES. Model subscribers, consent records, campaigns, delivery attempts, and suppression state; keep stable source IDs and timestamps.
- Paid product context: Publish posts and send email from a self-owned list without recreating discovery or payments. Build only this DIY scope: Collect subscribers on a self-owned list, compose and send compliant email posts, publish a web archive, and report basic delivery and click events without recreating discovery or payments.
- Implement subscriber import, double opt-in, unsubscribe, suppression, tags, and consent timestamps.
- Create a Markdown campaign editor with HTML and plain-text previews.
- Queue sends through SES with retries, rate limits, idempotency, and resumable batches. Process delivery, bounce, complaint, open, and click webhooks without logging message content. Publish a simple issue archive and subscriber preference page.
- Use a local web page with input, progress, review, and export views. Required input or access: Amazon SES account; verified sending domain. Keep credentials in .env.
- Recovery: Queue sends through SES with retries, rate limits, idempotency, and resumable batches.
- Acceptance: with one labelled sample, show the input, saved intermediate state, and exported result; verify this invariant: Unsubscribed or bounced addresses must stay suppressed; retrying an ambiguous provider response cannot silently send twice.
- Out of scope: reader network, recommendations, app distribution, payments, and brand familiarity; inbox-placement expertise. Keep this a personal, inspectable workflow.
- Include a README with setup, a sample input, required keys or permissions, data location, and the supported scope.

$ open in your agent (prompt prefilled, you press enter), copy the prompt or copy AGENTS.md · generated from this app's build plan

share on X ↗

Alternatives to building your own

GhostPosts, newsletters, memberships and payments on your server; Substack's discovery graph does not come in the tarball.55kaug 2026open source↗

no votes, no pay-to-list · just what's real

Substack pricing

planmonthlyannual (per mo)what you get
free publishing$0/workspace$0/workspaceUnlimited free subscribers/posts/email publishing; fees only when charging readers.
paid subscriptions platform fee——10% Substack fee on paid subscription revenue plus payment processing.Revenue share, not a monthly subscription.

free tier$0; unlimited free subscribers, posts and email publishing; fees only when charging readers.

billingno monthly/annual subscription; revenue share on paid subscriptions

hidden costsPaid newsletters pay 10% Substack fee plus Stripe card fees of 2.9% + $0.30 and a 0.7% recurring-billing fee; Stripe/payment-method fees vary by country/method.

pricing sources checked 2026-08-10 · pricing source ↗

Questions about Substack

Can you build your own Substack with AI?

A full replacement is not the recommended project. A consolation build is possible, but the paid product's decisive value sits outside a solo rebuild. For Substack, publish posts and send email from a self-owned list without recreating discovery or payments. The hard boundary is reader network, recommendations, app distribution, payments, and brand familiarity, plus deliverability, growth network, and integrations.

What does the Substack build prompt cover?

The prompt starts with this scope: Collect subscribers on a self-owned list, compose and send compliant email posts, publish a web archive, and report basic delivery and click events without recreating discovery or payments. Full-product capabilities excluded from the comparison include: reader network, recommendations, app distribution, payments, and brand familiarity; inbox-placement expertise; advanced automations. Follow the implementation plan and its prerequisites before expanding the build.

How do I use the prompt, AGENTS.md and agent skills?

Start with the Substack prerequisites and stack, then copy the prompt into your coding agent. Save the project rules as AGENTS.md in the project root. Linked skills are optional packages or source instructions for specific tasks; review their current contents and install only those matching the chosen stack. A skill does not supply API credentials or verify the finished app.

How long will this Substack project take?

The catalogue estimate is closest consolation build: one sitting for the limited scope. Setup, integration approvals, debugging, deployment and ongoing maintenance can add time. This is an estimate, not a delivery guarantee.

What would I give up by replacing Substack?

reader network, recommendations, app distribution, payments, and brand familiarity; inbox-placement expertise; advanced automations; commerce integrations; recommendation and ad networks. People still pay for Substack because newsletter operators pay for inbox placement, growth mechanics, and operational confidence on publication day. The recurring cost buys DNS authentication, reputation, bounces, complaints, unsubscribe compliance, templates, queues, analytics, backups, and support, not just the visible interface.

What can I use instead of building Substack?

Ghost: Posts, newsletters, memberships and payments on your server; Substack's discovery graph does not come in the tarball. Check each option's license, hosting needs and feature limits.

Every week, more subscriptions die.

New verdicts, new prompts, the week's most-doomed apps.
One email. Unsubscribe in one click.

last week:100 Questions · KINDA1of10 · KINDA1Password · KINDA+1090 more

free forever · no scanner spam · the prompt stays on the site, the deaths come to you

$weekly: what got a verdict, what died.