Skip to main content
← Back to Open source
06Open-source build

Hedwig Mail

A self-hosted broadcast email tool for contact lists, visual campaign design, scheduled delivery, and engagement tracking.

Autter-dev/hedwig-mail
06
01Contacts and lists
02Visual editor
03Postgres queue
04Resend or SES
TypeScriptMIT

The reason for the build

Teams should be able to run a mailing list without handing contact data and campaign history to a marketing platform. Hedwig Mail packages the editor, sender, queue, tracking, and signup forms into one deployable application.

How the pieces connect

The application stores contacts, campaigns, jobs, and migrations in Postgres. pg-boss runs the delivery queue, Resend or Amazon SES sends mail, and optional S3-compatible storage holds reusable campaign assets.

What the project handles

01

Campaign workspace

The visual block editor supports previews, merge tags, reusable templates, scheduling, and cancellation.

02

Contact operations

Teams can import CSV or XLSX files, organize lists, track subscription state, and expose signup forms.

03

Delivery controls

Provider rate limits, one-click unsubscribe, double opt-in, and suppression checks shape each send.

04

Owned analytics

Open and click events stay with campaign records, and the dashboard turns them into per-campaign charts.

Constraints that shaped it

01

Postgres handles both application data and queued jobs, which removes Redis from the standard deployment.

02

A Docker Compose setup provides the editor, database, and local development path in one repository.

  • TypeScript
  • Postgres
  • pg-boss
  • Resend
  • Amazon SES
  • Docker

Read the code, issues, and decisions in context.

Open on GitHub