Case Study - SENDTIP — Fintech Backend Platform

SENDTIP is a mobile-first fintech platform targeting East African markets, built as a distributed system of 11 independently deployable microservices handling wallets, payments, KYC, and agent networks.

Client
ImageLeft
Year
Service
Backend Engineering, Microservices Architecture

The Problem

Building a compliant, multi-channel payment platform in East Africa means handling real constraints: M-Pesa as a dominant payment rail, KYC requirements under Kenyan regulation, agent-based cash distribution networks, and users who may prefer SMS over email. A monolith would have made these concerns tightly coupled and impossible to scale independently.

What I Built

A distributed backend system of 11 independently deployable microservices, each owning its own PostgreSQL database. Services communicate asynchronously via Redpanda (Kafka-compatible) and synchronously through a central API Gateway.

Services I designed and implemented: User Service (registration, JWT auth, KYC via Smile Identity), Wallet Service (multi-currency wallets, M-Pesa STK push), Transactions Service (immutable ledger across Paystack/M-Pesa/Bank/Internal channels), Banking Service (deposits & withdrawals), Agents Service (document upload onboarding with approval workflow), Notification Service (SMS + email via event consumers), Admin Config Service (feature flags, runtime mobile config), Gateway Service (JWT verification, API key management, proxy routing), Loans & Savings, Redpanda broker infrastructure, and Client Service for mobile asset delivery.

Technical Decisions

Event-driven notifications: Rather than calling the notification service directly from user-service, registration events are published to Redpanda. This decouples delivery and makes it trivial to add push notifications later without touching the user service.

KYC on registration: Integrated Smile Identity to verify government IDs at signup — a hard requirement for regulatory compliance in the Kenyan market.

Gateway as the single auth boundary: All JWT validation and API key rate limiting lives in the gateway. Individual services trust the gateway's forwarded identity — no auth duplication across 11 services.

Per-service Prisma schemas: Each service manages its own migrations independently. Zero shared schema files — enforcing service boundaries and letting teams deploy on different schedules.

Stack: Node.js · Express · PostgreSQL · Prisma ORM · Redpanda (Kafka) · Redis · Docker · JWT · Swagger · Smile Identity · M-Pesa API · Paystack API · Mocha/Chai

What I did

  • Backend Engineering
  • Microservices Architecture
  • Event-Driven Systems
  • Payments Integration
  • KYC Integration
  • DevOps

More case studies

PhilAIsion — Your Civic Liaison

PhilAIsion is an AI-powered civic assistant built at Philly Code Fest that helps Philadelphia residents navigate 700+ city services pulled directly from phila.gov.

Read more

Clinic Finance & Management System

A full-stack clinic management platform handling patient records, financial transactions, inventory, and multi-role shareholder reporting — live in production.

Read more

Tell me about your project

Current Location

  • Philadelphia
    Philadelphia, PA