Skip to content
All case studies
ProductSaaS / Communications

BulkReach

Multi-tenant bulk & scheduled messaging for Slack and WhatsApp

In short: BulkReach is an in-house DanixSoft product (SaaS / Communications): Multi-tenant bulk & scheduled messaging for Slack and WhatsApp. It is built and operated by the DanixSoft studio.

A multi-tenant SaaS for sending bulk and scheduled messages to Slack workspaces and WhatsApp numbers, with a dashboard, a marketing site and a separate always-on messaging service.

BulkReach social card: the BulkReach logo with the line “Reach everyone, without the copy-paste.”
Industry
SaaS / Communications
Scope
Products we build and run in-house at DanixSoft
Core stack
Next.js 16 · TypeScript · Supabase · PostgreSQL
Year
2026

The problem

Teams announcing to many Slack channels or WhatsApp contacts need sends that respect rate limits, survive timeouts, keep each customer’s data isolated, and never message people who haven’t opted in.

The solution

Every send becomes a queue of per-recipient delivery rows, drained under each platform’s rate limits — right after a send and by a Postgres cron job every minute — so interrupted campaigns resume instead of restarting.

DanixSoft team

An in-house DanixSoft product — built and operated by the studio, not for a client.

Technical challenges

The engineering problems this build had to get right.

  • Tenant isolation in every RLS policy, plus an audit query that must return zero rows
  • Tokens and messaging sessions encrypted at rest (AES-256-GCM)
  • Randomised spacing and a hard floor between WhatsApp messages

Architecture

Frontend
Next.js 16 (App Router, Server Actions), TypeScript, Tailwind CSS v4
Backend
Always-on Node messaging service (Render)
Database
Supabase Postgres with row-level security
Infrastructure
pg_cron + pg_net, one tick a minute; Slack Web API

Implementation — what shipped

Slack OAuth v2 install and paced channel messaging
WhatsApp delivery through a dedicated always-on Node service
Scheduled sends without a separate scheduler table
CSV import with explicit consent; opt-out re-checked at send time

Engineering notes

Lesson for similar SaaS builds: design for tenant isolation in every RLS policy, plus an audit query that must return zero rows and tokens and messaging sessions encrypted at rest (AES-256-GCM) up front — these are the parts that are expensive to retrofit once the feature list grows.

Technologies

  • Next.js 16
  • TypeScript
  • Supabase
  • PostgreSQL
  • Slack API
  • Node.js
  • Vitest

Building something similar?

A 30-minute discovery call is enough to scope the approach and a realistic budget.