Skip to main content

Case study

WA Blast

Multi-Tenant WhatsApp SaaS

  • One WhatsApp workspace for Indian SMBs — marketing, automation, commerce, and lead management.
  • Connect WhatsApp Business lines, run campaigns, and build conversational flows without custom scripts.
  • Sell through WhatsApp catalog checkout with Razorpay payments inside automated conversations.
  • Multi-tenant SaaS with subscription pillars, GST billing, and a platform admin for operators.
Visit Live Platform
WA Blast WhatsApp marketing and automation dashboard
Industry
WhatsApp SaaS
Duration
4 Months
Platform
Multi-Tenant SaaS
Users
SMBs & Operators
Stack
NestJS · PostgreSQL · Redis · BullMQ · React

What was built and why it matters

Executive Summary

Indian small and medium businesses rely on WhatsApp for customer communication — but marketing broadcasts, chat automation, catalog sales, and lead pipelines typically live in separate tools, fragile webhook scripts, or manual processes tied to individual phone lines.

WA Blast unifies those workflows in a subscription SaaS platform. Tenants connect their WhatsApp Business lines, subscribe to product pillars — Marketing, Automation, Commerce, and Lead Management — and manage daily operations from a customer PWA. Platform operators govern plans, tenants, and Meta app configuration from a separate admin console.

The platform handles Meta Cloud API integration, paced campaign execution, a visual flow builder with payment branches, catalog sync, Razorpay billing with GST invoices, and real-time updates — so businesses grow on WhatsApp without building custom infrastructure.

What problem existed before this project

The Business Challenge

SMBs needed one trusted workspace for WhatsApp — not four disconnected products held together with spreadsheets and developer scripts.

Status quo

Before the platform

  • Marketing broadcasts sent manually or through unreliable third-party tools
  • No visual way to build conversational automation without developers
  • Catalog sales and order tracking disconnected from WhatsApp chat
  • Lead pipelines managed in spreadsheets with no link to customer conversations
  • Meta webhook retries causing duplicate messages and confused customers
  • Rate limits halting campaigns mid-send with no pause or resume control

What it cost

Business consequences

  • Campaign reach limited by manual sending and account bans from poor pacing
  • Sales opportunities lost when chat automation breaks on rapid inbound messages
  • Commerce orders tracked separately from the conversation that created them
  • Lead follow-up delayed because CRM and inbox are different systems
  • Engineering cost every time Meta API policies or webhook formats change
  • No single view of subscription entitlements across multiple product pillars

Previous workflow

How work happened before

A disconnected chain of manual steps — each handoff added delay, errors, and lost visibility.

  1. 01Step

    Separate marketing tool

    Broadcast lists managed outside the business WhatsApp line

  2. 02Step

    Developer-built bots

    Fragile webhook scripts with no visual editor or simulation

  3. 03Step

    Manual catalog sharing

    Product images and prices sent one-by-one in chat

  4. 04Step

    Spreadsheet lead tracking

    Enquiries copied from WhatsApp into a separate CRM

  5. 05Step

    Payment links by hand

    Razorpay links pasted manually with no order reconciliation

  6. 06Step

    No unified billing

    Multiple vendor subscriptions with no entitlement visibility

What the client needed to achieve

Project Objectives

Engagement scope

8 objectives

  1. Unify WhatsApp marketing, automation, commerce, and lead management in one tenant workspace

  2. Integrate Meta Cloud API with reliable webhook processing and idempotency

  3. Provide a visual flow builder for conversational automation with payment branches

  4. Enable WhatsApp catalog commerce with Meta sync and Razorpay checkout

  5. Support multi-product phone line assignment per tenant pillar

  6. Deliver paced campaign execution that respects Meta rate limits

  7. Implement Razorpay subscription billing with GST invoices and feature entitlements

  8. Give platform operators admin control over plans, tenants, and Meta configuration

How the platform addresses the challenge

The Solution

WA Blast ships as three applications sharing one domain model: a Next.js customer PWA for marketing, automation, commerce, and lead management; a Next.js admin console for platform operations; and a NestJS API handling REST endpoints, Meta webhook ingress, and a real-time gateway.

Tenants subscribe to product pillars with additive entitlements — multiple active plans merge into a single feature view. Inbound WhatsApp payloads are verified, enqueued asynchronously with database idempotency, and routed to chat, flow executor, commerce, and lead handlers.

The visual flow builder stores node graphs as JSON with simulation preview before live sends. Commerce tenants get an auto-provisioned checkout flow so they can sell immediately after connecting WhatsApp.

Platform architecture

6 components

  1. Customer PWA

    Campaigns, inbox, flow builder, orders, leads, and billing in one app

  2. Meta Cloud API

    Outbound messages and inbound webhooks through a shared adapter layer

  3. Background job processing

    Webhooks, campaigns, catalog sync, and scheduled messages queued safely

  4. Flow runtime engine

    Visual automation graphs executed per conversation with session state

  5. Razorpay billing

    Subscriptions, payment links, and GST invoice PDF generation

  6. Platform admin console

    Plans, tenants, Meta settings, and audit from operator workspace

How users move through the system

Product Workflow

User journey

9 steps

  1. 01Step

    Connect WhatsApp line

    Tenant links a Meta Cloud API connection and assigns it to product pillars

  2. 02Step

    Import contacts & groups

    CSV, spreadsheet, or live data source import for campaign targeting

  3. 03Step

    Build campaign or flow

    Template-based broadcast or visual automation graph with preview simulation

  4. 04Step

    Launch with pacing

    Campaign processor sends with delay, jitter, and rate-limit backoff

  5. 05Step

    Manage inbox conversations

    One-to-one chat with notes, assignee, scheduled messages, and rich media

  6. 06Step

    Commerce checkout in chat

    Customer selects catalog items and pays via Razorpay inside the flow

  7. 07Step

    Lead capture & job tracking

    Multi-source leads convert to jobs with line items, payments, and PDF documents

  8. 08Step

    Real-time progress

    Live campaign delivery counts and chat updates pushed to the dashboard

  9. 09Step

    Subscription & entitlements

    Razorpay billing renews plans; feature gates enforce pillar access automatically

What the platform delivers

Core Features

Platform capabilities

14 features

  • WhatsApp Marketing Campaigns

    Contact groups, template rotation, paced execution, and delivery tracking — all from one dashboard.

  • Visual Flow Builder

    React Flow graph editor with message, input, condition, payment, commerce, PDF, and delay nodes.

  • WhatsApp Inbox

    One-to-one chat with notes, assignee, scheduled messages, and rich media compose backed by cloud storage.

  • Product Catalog & Commerce

    Variants, brands, categories, delivery zones, and Meta catalog batch sync for WhatsApp selling.

  • Razorpay Checkout in Flows

    Payment branches inside automation graphs with order reconciliation and receipt PDF defaults.

  • Lead Management CRM

    Multi-source lead ingest, status pipeline, jobs with line items, and public feedback forms.

  • Product-Scoped Phone Lines

    Distinct WhatsApp connections per pillar when marketing, automation, commerce, and leads need separation.

  • Template & Catalog Sync

    Template sync for campaigns and batch catalog sync with pacing and rate-limit backoff.

  • Subscription Billing

    Razorpay subscriptions with GST invoice PDFs and entitlement-driven feature gates.

  • Additive Entitlements

    Multiple active plans merge into a single feature cap view with per-tenant overrides.

  • Real-Time Updates

    Live campaign progress, chat messages, and tenant events via Socket.IO gateway.

  • Firebase Push Notifications

    Device token registration with foreground toasts and background delivery for chat and lead alerts.

  • Data Source Queries in Flows

    SQL and query nodes against tenant-connected databases with validated identifiers and safe previews.

  • Platform Admin Console

    Dedicated operator workspace for plans, features, tenant lifecycle, and Meta app configuration.

Dashboard, workflows, and portals

Product Screenshots

Product UI

2 screenshots

One platform, many independent businesses

Multi-Tenant WhatsApp SaaS

Each business operates in an isolated tenant workspace with its own contacts, campaigns, flows, catalog, leads, and billing. Platform operators onboard tenants, configure Meta app settings, and manage subscription pillars from a separate admin console.

Product-scoped phone line assignment lets a single tenant run marketing, automation, commerce, and lead management on distinct WhatsApp connections — while additive entitlements merge multiple active subscriptions into one unified feature view.

Tenant lifecycle

6 steps

  1. 01Step

    Tenant onboarding

    Business workspace created with role-based team invitations

  2. 02Step

    Plan subscription

    Marketing, automation, commerce, or lead pillars activated via Razorpay

  3. 03Step

    WhatsApp connection

    Meta Cloud API line linked and scoped to subscribed product pillars

  4. 04Step

    Isolated operations

    Contacts, campaigns, and flows scoped strictly to the tenant boundary

  5. 05Step

    Entitlement enforcement

    Feature gates applied on routes and actions based on active plans

  6. 06Step

    Platform governance

    Operators manage plans, overrides, and Meta configuration centrally

Platform safeguards

6 controls

  • Tenant-scoped data with encrypted integration credentials at rest

  • Product-scoped WhatsApp phone line assignment per pillar

  • Additive merge of numeric caps across active subscription plans

  • Per-tenant feature overrides without changing base plan definitions

  • Separate admin console for platform operations and audit

  • Webhook idempotency preventing duplicate processing across tenants

How the system is structured

Technical Architecture

Three deployable applications share one domain model on NestJS with Fastify, Prisma on PostgreSQL, Redis with BullMQ for background jobs, and Socket.IO for real-time updates. External integrations include Meta Cloud API, Razorpay, Resend, DigitalOcean Spaces, Firebase push, and Puppeteer for PDF generation.

Inbound WhatsApp payloads are verified and enqueued with database idempotency before domain handlers run. Secure authentication with role-based access, encrypted integration credentials, webhook signature verification, and entitlement-driven feature gates protect tenant data.

System layers

5 layers

  1. Customer PWA

    Next.js app with Serwist offline shell for tenant operations

  2. Admin console

    Separate Next.js app for platform operator governance

  3. NestJS API + webhooks

    REST endpoints and Meta-compatible webhook ingress

  4. BullMQ workers

    Async processing for campaigns, webhooks, and catalog sync

  5. PostgreSQL + Redis

    Relational tenant data with queue infrastructure and idempotency keys

Infrastructure components

10 services

  • Next.js customer PWA with TanStack Query and React Flow

  • Next.js platform admin console

  • NestJS API on Fastify with versioned REST endpoints

  • Meta Cloud API adapter with product-scoped routing

  • BullMQ campaign processor with pacing and rate-limit backoff

  • Flow runtime executor with session state and Handlebars PDF templates

  • Socket.IO real-time gateway with tenant membership validation

  • Razorpay subscription and payment webhook processing

  • Prisma ORM on PostgreSQL with tenant-scoped queries

  • DigitalOcean Spaces for media and Firebase for push delivery

Hard problems and how they were solved

Engineering Challenges

Challenge 1

Meta webhook retries duplicate processing

Solution

Database idempotency keys per message id and composite keys for delivery status lifecycle events.

Challenge 2

Meta rate limits during broadcasts

Solution

Campaign processor with delay, jitter, consecutive rate-limit cap, and pause/resume on executions.

Challenge 3

Multi-product WhatsApp on one tenant

Solution

Product-scoped phone assignments so marketing, automation, commerce, and leads can use distinct connections.

Challenge 4

Flow race on rapid inbound messages

Solution

Optional conversation lock with TTL to serialize automation per tenant and phone line.

Challenge 5

Subscription feature overlap

Solution

Additive merge of numeric caps across active plans into a single entitlement view per tenant.

Challenge 6

PWA and realtime on mobile

Solution

Serwist offline shell with Socket.IO campaign and chat hooks plus FCM fallback for background delivery.

Production technologies

Technology Stack

Frontend

  • Next.js
  • React.js
  • TypeScript
  • TanStack Query
  • React Flow
  • Serwist PWA

Backend

  • NestJS
  • Fastify
  • Prisma
  • BullMQ
  • Socket.IO

Data & messaging

  • PostgreSQL
  • Redis
  • Firebase Cloud Messaging

Infrastructure

  • Docker
  • Nginx
  • DigitalOcean Spaces
  • Razorpay

Built for production load

Performance & Scalability

Production readiness

8 optimizations

  • BullMQ workers offload webhooks, campaigns, catalog sync, and scheduled WhatsApp messages

  • Campaign pacing and chunking respect Meta rate limits with configurable backoff

  • Redis-backed idempotency and optional conversation locks for dedupe

  • Stateless API scales horizontally behind Nginx with shared JWT and Redis state

  • Prisma selective includes and pagination on tenant-scoped list endpoints

  • TanStack Query cache on customer and admin apps with targeted invalidation per product

  • Serwist PWA precaching for faster customer dashboard repeat loads

  • Structured log rotation keeping API disk usage bounded in production

Operational and commercial outcomes

Business Impact

WA Blast replaced fragmented WhatsApp tooling with one subscription platform — giving Indian SMBs marketing reach, conversational automation, catalog commerce, and lead pipelines without custom development.

Outcomes delivered

8 outcomes

  • Four product pillars unified in a single tenant workspace

  • Campaign broadcasts paced to avoid Meta rate-limit failures

  • Visual automation replacing developer-maintained webhook scripts

  • WhatsApp catalog checkout with Razorpay payments inside conversations

  • Lead pipeline connected directly to the WhatsApp inbox

  • Subscription billing with GST invoices and entitlement-driven access

  • Real-time campaign and chat updates on mobile PWA

  • Platform operators scaling tenants without per-customer infrastructure

Technology choices explained

Why This Architecture Works

Design rationale

6 decisions

  • Why this choice

    Meta Cloud API adapter

    Centralized webhook verification and outbound routing isolates Meta policy changes from tenant business logic.

  • Why this choice

    BullMQ campaign processor

    Paced sending with jitter and backoff is the only reliable way to run large broadcasts within Meta rate limits.

  • Why this choice

    React Flow + JSON graph storage

    Non-developers need a visual editor with simulation preview before messages reach real customers.

  • Why this choice

    Additive entitlement merge

    Tenants subscribing to multiple pillars need one feature view — not conflicting caps per plan.

  • Why this choice

    Serwist PWA + Socket.IO + FCM

    Mobile-first SMB users need live inbox updates even when the browser tab is backgrounded.

  • Why this choice

    Three-app separation

    Tenant daily operations and platform Meta configuration have different users and security boundaries.

What this project reinforced

Lessons Learned

Key takeaways

5 lessons

  • Meta webhook idempotency is non-negotiable — retries are frequent and duplicate processing erodes customer trust fast.

  • Campaign pacing must be configurable per tenant; one-size-fits-all send rates cause either slow delivery or account restrictions.

  • Auto-provisioned commerce checkout flows dramatically reduce time-to-first-sale for new WhatsApp commerce tenants.

  • Product-scoped phone lines prevent marketing broadcast traffic from interfering with support inbox conversations.

  • Additive entitlements simplify billing UX when tenants subscribe to multiple pillars over time.

Explore related work

Similar Projects & Services

Common questions about the WA Blast project

Case Study FAQ

About the author

Kennedy Chokkalingam — available for development partnerships

Next step

Looking to Build Something Similar?

Whether you're building a multi-tenant SaaS, marketplace, CRM, ERP, or AI platform — let's discuss your project and how a dedicated development partnership can deliver it.