FyberPay is a multi-tenant ISP billing and payments platform where a mobile money payment triggers a change-of-authorization RADIUS packet directly at the network router, so a customer is online seconds after paying.
What I built as the sole engineer:
- 8 payment rails: M-Pesa STK Push, B2B, reversals, Paystack, KopoKopo, and bank paybills, behind unified API response contracts
- 3-layer idempotency: namespaced request interceptors, unique database receipt constraints, and a transactional outbox, so network drops and duplicate webhooks never double-charge or lose a receipt
- Per-tenant circuit breakers that separate a customer's wrong PIN from a provider outage
- Reconciliation state machine with automated dunning and PDF invoicing
- FreeRADIUS and MikroTik integration for hotspot and PPPoE subscriber control
- 17 Docker microservices with 75 outbox event listeners, and schema-shape assertions that block container updates on broken migrations
Scale: 876 production HTTP endpoints, 263 hand-written SQL migrations, 8,200+ automated tests (the API test suite is 81 percent the size of the production code).
Stack: Next.js, NestJS, TypeScript, PostgreSQL, Redis, BullMQ, FreeRADIUS, MikroTik, Docker.
Case study: https://kiragu.alkenacode.dev
Built with