SMS Marketing
    Twilio
    Cloudflare Workers
    React
    ActiveCampaign
    10DLC
    Marketing Automation

    Multi-Brand SMS Automation Platform Case Study

    Production blasts with analytics that match Twilio

    Built a full-stack SMS marketing platform for a wellness brand: React dashboard on Cloudflare Pages, Worker API with queues, ActiveCampaign tag audiences, and 10DLC-compliant Twilio routing. Fixed analytics drift so replies and opt-outs matched Twilio Insights on a 2,383-contact blast.

    Role
    Full-Stack Engineer
    Timeline
    2025 to 2026
    Client
    Wellness brand (Spellsology deployment)
    Stack
    React
    TypeScript
    Cloudflare Workers
    Twilio
    ActiveCampaign
    KV
    Queues

    The Problem

    A wellness brand needed to run SMS blasts to thousands of contacts across multiple product lines. The first version worked for sending, but marketing could not trust the numbers after a blast finished.

    • Dashboard metrics did not match Twilio Insights after large sends, so teams could not trust reply and opt-out counts
    • 10DLC compliance and routing had to be correct per brand before scaling production blasts
    • No reliable post-blast reconciliation: staff exported CSVs and compared Twilio manually after every campaign
    • Multiple brands needed separate Twilio and ActiveCampaign configs without running separate admin tools
    • Bulk SMS required queue-based sending, per-number status, and failure diagnostics, not one fire-and-forget API call

    The Solution

    I built a multi-brand SMS admin on Cloudflare: React frontend, Worker API, queue-based Twilio sends, ActiveCampaign tag audiences, and webhook-driven status updates. The key fix was Twilio sync so dashboard analytics match Twilio Insights after every production blast.

    Marketing admin (React on Cloudflare Pages)
                  |
                  v
        Cloudflare Worker API (auth, brands, campaigns)
                  |
         +--------+---------+
         |                  |
         v                  v
    ActiveCampaign      Cloudflare Queue
    (tag audiences)          |
                             v
                       Twilio SMS API
                             |
                  delivery + inbound webhooks
                             |
                             v
                  KV status + dashboard analytics
    • Multi-brand admin: per-brand Twilio credentials, ActiveCampaign tags, and audience counts in one React dashboard
    • Cloudflare Worker API with KV storage and Queue consumers for rate-safe, retry-friendly outbound SMS
    • Twilio delivery webhooks plus inbound STOP handling to update per-phone status in near real time
    • One-click Sync with Twilio to pull authoritative reply and opt-out totals after each blast
    • Campaign detail views with failure diagnostics, retry for single numbers or full failed batch
    • Timezone-aware scheduling, Gmail-style campaign list, and secure admin auth on all API routes

    Before and After

    BeforeAfter
    Reply and opt-out counts drifted from Twilio after large blasts33 replies and 25 opt-outs matched Twilio Insights on a 2,383-contact send
    Post-blast reconciliation via manual CSV exportsOne-click Sync with Twilio on campaign detail
    Separate tools per brand for Twilio and ActiveCampaignSingle multi-brand admin with per-brand config and tags
    Fire-and-forget bulk sends with weak failure visibilityQueue-based sends with per-phone status, retries, and diagnostics

    Results

    • Reply count (33) and opt-out count (25) matched Twilio Insights exactly on a 2,383-contact production blast
    • Roughly 80% delivery rate on the real campaign with clear visibility into failures and list hygiene
    • Manual CSV reconciliation after every send replaced by one-click Twilio sync
    • Marketing team runs multiple brands from one panel with 10DLC-compliant routing per brand
    • Edge deployment on Cloudflare Pages + Workers for low-latency admin and scalable queue processing

    Key Features

    1. Multi-brand campaign admin

    Create, schedule, and filter campaigns per brand. Load audiences from ActiveCampaign tags without leaving the dashboard.

    2. Queue-based Twilio sending

    Cloudflare Queue workers dequeue each number, send via Twilio, and record delivery state in KV for live polling.

    3. Twilio sync and trusted analytics

    Sync with Twilio pulls authoritative reply and opt-out totals so dashboard numbers match Twilio Insights.

    4. Failure diagnostics and retry

    See why individual numbers failed, retry one contact or retry all failed in a batch after a blast.

    5. Inbound STOP and unsubscribe

    Webhook handlers process opt-outs and replies so lists stay compliant and analytics stay accurate.

    6. 10DLC-ready brand setup

    Per-brand Twilio messaging configuration supports compliant US SMS routing for production marketing sends.

    Screenshots

    spellsology-26f.pages.dev
    Admin dashboard and campaign overview
    Admin dashboard and campaign overview
    spellsology-26f.pages.dev
    Multi-brand Twilio and ActiveCampaign setup
    Multi-brand Twilio and ActiveCampaign setup
    spellsology-26f.pages.dev
    Production campaign detail: 2,383 contacts, Sync with Twilio, and failure breakdown
    Production campaign detail: 2,383 contacts, Sync with Twilio, and failure breakdown
    spellsology-26f.pages.dev
    Twilio totals card: 33 replies and 25 opt-outs matched Twilio Insights after sync
    Twilio totals card: 33 replies and 25 opt-outs matched Twilio Insights after sync
    spellsology-26f.pages.dev
    Create campaign and ActiveCampaign audience tag selection
    Create campaign and ActiveCampaign audience tag selection
    spellsology-26f.pages.dev
    Engagement metrics aligned with per-recipient phone results
    Engagement metrics aligned with per-recipient phone results

    Technical Highlights

    • React 19 + TypeScript + Vite dashboard deployed on Cloudflare Pages
    • Worker API: auth middleware, brand CRUD, campaign lifecycle, webhook endpoints
    • ActiveCampaign REST integration for tag-based audience export before enqueue
    • KV for campaign metadata and per-recipient status; Queues for outbound worker fan-out
    • Twilio Programmable SMS with delivery status callbacks and inbound message routing
    • Mock send mode for staging plus live mode for production blasts

    Privacy note: Twilio SIDs, auth tokens, and API secrets are stored in environment bindings only and are never published in this case study or client-facing docs.

    Why Hire Me for SMS and Marketing Automation

    • SMS at scale with queues, webhooks, and per-number traceability
    • CRM integration (ActiveCampaign tags) wired into campaign creation
    • Analytics clients trust because numbers reconcile with Twilio
    • Edge deployment on Cloudflare without managing servers
    • Full-stack delivery from React UI through Worker API to third-party SMS APIs

    Need SMS, Twilio, or CRM integration work?

    I build production marketing tools with analytics clients trust. Available on Upwork, Fiverr, or direct.

    MD Rifatul Islam