Emails and Notifications

Trust-building communication.


Goal

Customize transactional email without changing core app logic.

Email stack overview

  • Email sending is centralized in workers/app/src/lib/server/email.ts.
  • Mailgun is wired as the default provider.

Transactional emails included

  • Welcome email.
  • Password reset email.
  • Magic link email.

Customizing copy

  • Templates live in workers/app/src/emails.
  • Copy and layout changes happen in those templates.

Templates and styling

  • React Email templates keep styling consistent.
  • Keep text concise and brand-aligned.

Testing emails locally

  • Run the email dev server:
npm run email:dev --workspace workers/app

Common gotchas

  • Missing Mailgun credentials in env.
  • Forgetting to update links for production domains.