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

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

01

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

02

Double-entry ledger with balances derived from immutable entries

03

Scheduled contribution collection and rotating payout rounds

04

Shareable circle invites with membership and schedule visibility

05

Idempotent payment and ledger writes to prevent duplicate charges

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.