All selected work

02 / Full-stack SaaS · Consulting

BulkBees

From QR pairing to scheduled delivery.

A multi-tenant campaign platform with isolated WhatsApp sessions, contact and campaign tools, scheduling, billing and delivery reporting.

My role
Full-stack architecture & development
Technology
Next.js 15 / Express / PostgreSQL / Prisma / Baileys / Cashfree / Docker / Nginx

The problem

A multi-user campaign product must keep every customer's WhatsApp connection separate while coordinating contacts, scheduled delivery, quotas and payments. Sessions also need to recover after a service restart without exposing another tenant's credentials.

What I built

I built a hybrid Next.js and Express application around Baileys, backed by PostgreSQL and Prisma. JWT and Google OAuth handle product access, Cashfree handles billing, and scheduled workers dispatch campaigns, reset quotas, clean old records and generate CMS content.

The challenge

Managing concurrent WebSocket sessions and scheduled work reliably while keeping each tenant's connection, usage and campaign history isolated.

Implementation approach

A custom Node.js server owns the Express API and delegates page requests to Next.js. A dedicated WhatsApp manager handles pairing and session recovery, while cron workers process due campaigns and maintenance tasks independently from page requests.

Workflow overview

From QR pairing to scheduled delivery.

BulkBees
  1. 01Sign-in & QR pairing
  2. 02Contacts & campaigns
  3. 03Scheduling & delivery
  4. 04Cashfree billing & reports

A simplified view of the product workflow.

BulkBees — a capture of the public product website.
BulkBees — a capture of the public product website.

The result

A deployed multi-tenant product with QR pairing, contact imports, scheduled campaigns, delivery history, daily quotas and paid access. The public website credits my development work.

Next projectHD Render Pipeline