Case study · SaaS / Sales outreach
OutreachProCold email outreach through your own Gmail or Outlook mailbox
A cold email platform for lists, templates, multi-step sequences, and delivery through the sender's own Gmail or Outlook mailbox — with deliverability safeguards, reply detection, a public API, and signed webhooks.

The challenge
Outreach has to be paced, compliant, and deliverable: bulk senders must honour one-click unsubscribes, stay inside mailbox limits, and recover cleanly when a send fails — without a web request doing the sending.
The solution
Campaigns are queued, not sent, by the request that starts them. A scheduled worker claims batches with FOR UPDATE SKIP LOCKED, checks suppression lists and send windows, reserves a slot on the mailbox (daily and hourly caps, warm-up ramp, pacing) in a single atomic update, then sends and records the outcome.
What we built
- Lists, templates, sequences with follow-ups threaded into the original conversation
- Gmail and Outlook sending over OAuth
- One-click List-Unsubscribe, account-wide suppression, and multipart text + HTML mail
- Open, click, reply, and bounce tracking
- SPF, DKIM, and DMARC checks plus a spam-risk score for templates
- Public API with hashed keys and HMAC-signed webhooks
Architecture
- Application
- Next.js 16, React 19, TypeScript
- Data
- Supabase Postgres with row-level security
- Integrations
- Gmail API, Microsoft Graph, Cloudinary
- Operations
- Queue worker triggered every five minutes by GitHub Actions
Engineering challenges
- A worker that never sleeps between messages: pacing lives in the database, so function time is spent sending
- Failures classified into reconnect, bounce, or retry-with-backoff-and-jitter
- OAuth tokens encrypted at rest; unsubscribe and tracking links use HMAC-signed, purpose-separated tokens
- Row-level security with an explicit policy on every table, and a cron secret compared in constant time


