All work
Case StudySelf-hosted email infrastructure

QQueue.

A self-hosted email platform for campaigns, transactional messages, and scheduled sends, using existing SMTP providers with queues, retries, tracking, and webhooks.

QQueue
Role
Software Engineer
Stack
TypeScript · Node.js · PostgreSQL
Status
Live
The constraint

Applications need more than an SMTP connection: queued delivery, retries, scheduled campaigns, and bounce handling. I wanted to reuse that infrastructure across my projects while keeping the choice of email provider.

The approach

A self-hosted layer on top of any SMTP provider (Mailcow, SES, Postmark, Resend, Brevo). A BullMQ + Redis queue and workers handle sending and campaign fan-out with backoff and attempt tracking; opens and clicks are signed with HMAC tokens; messy ESP bounce/complaint payloads are normalized to one inbound webhook shape. Everything ships behind a documented REST API and a typed TypeScript SDK, and the whole stack comes up via Docker Compose behind Caddy/TLS.

Capabilities
BullMQ
Queues, workers & retries on Redis
Campaigns
+ transactional API: send-now, scheduled, recurring cron
HMAC
signed open/click tracking + normalized inbound webhooks
BYO SMTP
Docker-deployable, no per-contact pricing
Tech stack
TypeScriptNode.jsPostgreSQLRedisBullMQDocker