← All projects

Case study

Ajo

Digital savings circles with Naira wallets, a double-entry ledger, Paystack funding, and automated payout rounds.

Role
Full-Stack Developer
Year
2026
Status
Live
Stack
TypeScript · PostgreSQL · Paystack
Ajo interface

Overview

Ajo brings the familiar rotating savings circle online: members fund individual wallets, contribute on a set schedule, and receive the full pot when it is their turn. The product keeps every movement traceable without asking one member to hold the group's money.

What it does

  1. 01

    Naira wallets with card and bank-transfer top-ups through Paystack

  2. 02

    Double-entry ledger with balances derived from immutable entries

  3. 03

    Scheduled contribution collection and rotating payout rounds

  4. 04

    Shareable circle invites with membership and schedule visibility

  5. 05

    Idempotent payment and ledger writes to prevent duplicate charges

  6. 06

    Transparent missed-payment records for every circle member

The hard part

Money movement needs to remain correct when a payment is retried, a webhook is delivered twice, or a scheduled round runs more than once. Idempotency keys and database transactions ensure each movement is settled exactly once or not at all.

What it taught me

For a financial product, the ledger is the source of truth. Deriving balances from matching debit and credit entries makes both the system and its audit trail easier to trust.