← all systems

shared infrastructure

Notification service

One provider-agnostic pipeline for email, SMS and WhatsApp that every Dhiway product sends through.

role
Designer and implementer, Dhiway
year
2025
status
open source
stack
TypeScript · Fastify · Redis · MSG91 · AWS SES

Context

Jobstack and the identity products each needed OTPs, signup confirmations and application updates across several channels. Each product integrating each provider directly would have multiplied failure handling and credentials.

What I built

A single notification service built on Fastify and Redis queues. Products send one signed request; the service picks the channel adapter (email, SMS via MSG91, WhatsApp) and delivers.

Engineering

  • Signed requests. Callers sign with HMAC, so only known services can trigger messages.
  • Failure handling. Deliveries retry from Redis queues; messages that keep failing land in a dead-letter queue instead of disappearing.
  • Provider-agnostic. Adding or swapping a provider is an adapter change, not a change in every product.