All case studies
Zaakiyah logo
Fintech · Charity

Zaakiyah

Transparent Zakaat and Sadaqah distribution at scale

Tech Lead & Backend Architect·LivePaymentsMicroservicesAI

Problem

Muslims need a trusted way to track wealth, calculate Zakaat against live nisaab thresholds, give transparently, and vet beneficiaries — not spreadsheets and guesswork.

Context

Multi-repo platform: NestJS API, React web app, admin panel, and marketing site. Donations, Zakaat applications, community features, and an AI advisor share one PostgreSQL core with strict audit and RBAC.

Approach

  • Modularised the API into wealth, nisaab, currency, Zakaat, donation, payment, community, and admin domains with Prisma on PostgreSQL.
  • Used Redis caching and BullMQ for notifications, scheduled nisaab/currency jobs, and async side effects via EventEmitter.
  • Integrated Paystack for donations, Cloudinary for media, OpenAI for the advisor, and Firebase for push — with global JWT auth, throttling, and audit interceptors.
  • Shipped separate React (Vite) surfaces for donors, admins at ca.zaakiyah.com, and the public marketing site.

Architecture

01NestJS REST API on Render
02Prisma + PostgreSQL + Redis + BullMQ
03React SPA + admin panel + marketing site
04Event-driven notifications and scheduled jobs
05RBAC admin with audit logging
06Paystack + OpenAI + Firebase + Cloudinary

Outcome

Live platform for Islamic financial tracking, Zakaat calculation, transparent donations, beneficiary vetting, and community — with admin tooling and audit trails across production surfaces.

Metrics

Transaction volume

Coming soon

Distribution latency

Coming soon

Platform uptime

Coming soon

Stack

Node.jsTypeScriptNestJSPrismaPostgreSQLRedisBullMQReactVitePaystackOpenAIFirebaseCloudinaryRender