Mailing Manager

A visual email-template editor and campaign-sending platform for MultiGroup. A drag-and-drop Puck builder with 18 email-safe blocks, a four-step campaign wizard, recipient groups, and scheduled or background sends through Cloudflare Queues — plus open/click tracking, send-time bounce auto-suppression, and HMAC-signed one-click unsubscribe. Built on Next.js 16 with Cloudflare D1, R2, and Email Sending, deployed to Workers via OpenNext.

TypeScript, Cloudflare
Mailing Manager

Visual email-template editor and campaign-sending platform built for MultiGroup. A drag-and-drop Puck canvas composes table-based, email-client-safe HTML from 18 reusable blocks, and a four-step wizard takes a campaign from template → compose → recipients → review.

Highlights

  • Visual editor — 18 email blocks (hero, buttons, stats, two-column, social, …) with inline rich text, an R2-backed image picker, and a live mail-client preview.
  • Campaigns — reusable recipient groups, CSV import, scheduled sends, test sends, and one-click cloning of a sent campaign into a fresh draft.
  • Background sending — clicking Send enqueues the job on Cloudflare Queues and returns in ~50ms; a separate consumer worker renders and sends per-recipient, reserving daily quota in D1 and resuming the next day if the cap is hit.
  • Deliverability — send-time bounce detection with auto-suppression, app-owned open/click tracking (a signed /r redirect plus pixel), and per-recipient HMAC-signed, RFC 8058 one-click unsubscribe with a non-removable footer.
  • Compliance — GDPR per-email data export, a domain-health check (SPF / DKIM / DMARC), and a D1-backed limits dashboard with overage cost projection.

Stack

Next.js 16 (App Router) + Tailwind 4 + shadcn/ui, Drizzle ORM over Cloudflare D1, assets in R2, transactional mail through Cloudflare Email Sending, and three separate Workers (app, per-minute cron, queue consumer) deployed via OpenNext. Turkish UI throughout.