04 / Real-time Messaging

Role

Sole architect

Where

Dubizzle Labs

Category

Real-time Messaging

5,000+
Conversations a day
10+
Enterprise brands moved off Gupshup
3
Markets: UAE, KSA, Pakistan

The problem

Customer messaging for 10+ enterprise brands, among them Dubizzle in the UAE, Bayut in KSA, and OLX and Zameen in Pakistan, ran on Gupshup. That meant no control over bot behaviour, SLAs or per-tenant configuration.

The approach

  • 01

    Multi-tenant from the ground up: each tenant defines its own bot behaviour, SLAs and conversation flows, with enterprise SSO.

  • 02

    A WebSocket server on Socket.IO with Redis clustering, for sub-second delivery that scales horizontally.

  • 03

    A RabbitMQ layer with at-least-once delivery: acknowledgements, retries and dead-letter queues, so no message is silently dropped.

  • 04

    Per-tenant bots that handle first-contact inquiries on their own.

  • 05

    Deployed on AWS ECS Fargate, with GitHub Actions for zero-downtime releases.

Stack

  • NestJS
  • TypeScript
  • React
  • Socket.IO
  • Redis
  • RabbitMQ
  • PostgreSQL
  • Docker
  • AWS ECS Fargate
  • GitHub Actions

Next project

SmartDoc →