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.

- 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.
- 01Step
Separate marketing tool
Broadcast lists managed outside the business WhatsApp line
- 02Step
Developer-built bots
Fragile webhook scripts with no visual editor or simulation
- 03Step
Manual catalog sharing
Product images and prices sent one-by-one in chat
- 04Step
Spreadsheet lead tracking
Enquiries copied from WhatsApp into a separate CRM
- 05Step
Payment links by hand
Razorpay links pasted manually with no order reconciliation
- 06Step
No unified billing
Multiple vendor subscriptions with no entitlement visibility
What the client needed to achieve
Project Objectives
Engagement scope
8 objectives
Unify WhatsApp marketing, automation, commerce, and lead management in one tenant workspace
Integrate Meta Cloud API with reliable webhook processing and idempotency
Provide a visual flow builder for conversational automation with payment branches
Enable WhatsApp catalog commerce with Meta sync and Razorpay checkout
Support multi-product phone line assignment per tenant pillar
Deliver paced campaign execution that respects Meta rate limits
Implement Razorpay subscription billing with GST invoices and feature entitlements
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
Customer PWA
Campaigns, inbox, flow builder, orders, leads, and billing in one app
Meta Cloud API
Outbound messages and inbound webhooks through a shared adapter layer
Background job processing
Webhooks, campaigns, catalog sync, and scheduled messages queued safely
Flow runtime engine
Visual automation graphs executed per conversation with session state
Razorpay billing
Subscriptions, payment links, and GST invoice PDF generation
Platform admin console
Plans, tenants, Meta settings, and audit from operator workspace
How users move through the system
Product Workflow
User journey
9 steps
- 01Step
Connect WhatsApp line
Tenant links a Meta Cloud API connection and assigns it to product pillars
- 02Step
Import contacts & groups
CSV, spreadsheet, or live data source import for campaign targeting
- 03Step
Build campaign or flow
Template-based broadcast or visual automation graph with preview simulation
- 04Step
Launch with pacing
Campaign processor sends with delay, jitter, and rate-limit backoff
- 05Step
Manage inbox conversations
One-to-one chat with notes, assignee, scheduled messages, and rich media
- 06Step
Commerce checkout in chat
Customer selects catalog items and pays via Razorpay inside the flow
- 07Step
Lead capture & job tracking
Multi-source leads convert to jobs with line items, payments, and PDF documents
- 08Step
Real-time progress
Live campaign delivery counts and chat updates pushed to the dashboard
- 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
- 01Step
Tenant onboarding
Business workspace created with role-based team invitations
- 02Step
Plan subscription
Marketing, automation, commerce, or lead pillars activated via Razorpay
- 03Step
WhatsApp connection
Meta Cloud API line linked and scoped to subscribed product pillars
- 04Step
Isolated operations
Contacts, campaigns, and flows scoped strictly to the tenant boundary
- 05Step
Entitlement enforcement
Feature gates applied on routes and actions based on active plans
- 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
Customer PWA
Next.js app with Serwist offline shell for tenant operations
Admin console
Separate Next.js app for platform operator governance
NestJS API + webhooks
REST endpoints and Meta-compatible webhook ingress
BullMQ workers
Async processing for campaigns, webhooks, and catalog sync
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
WA Blast is a multi-tenant WhatsApp SaaS for marketing, automation, commerce, and lead management built for Indian SMBs.
NestJS, PostgreSQL, Redis, BullMQ, React, and Docker support automation workflows, billing, and realtime updates on wablast.in.
SMBs needed one workspace instead of fragile scripts and disconnected tools for WhatsApp campaigns and customer communication.
About the author

Next step
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.