← Back to portfolio
Case Study / Mobile Engineering

Golak — Digitizing the Kameti Circle

An app that turns kameti, susu, tanda, and chit-fund savings circles from notebooks and social memory into something reliable in software. I owned the Kameti Circle module — creation, member management, and payout rotation — plus payment reminders.

Role Mobile Engineer — Kameti Circle module & reminders
App Golak — Kameti, Money Pool & ROSCA App
Website golak.tech

Context

Golak digitizes one of the oldest informal financial structures in the world — the rotating savings and credit association, known as kameti in Pakistan, susu in West Africa, tanda in Latin America, chit fund in India, and dozens of other names depending on the culture. The mechanics are the same everywhere: a group of people who trust each other contribute a fixed amount on a regular schedule into a shared pool, and each cycle, one member receives the full pooled amount — until everyone in the group has had their turn.

Traditionally this is managed by memory, notebooks, and a lot of social trust. Golak's job is to take that informal structure and make it reliable in software: who's in the circle, how much everyone owes and when, whose turn is next, and making sure nobody has to chase anyone down for a payment. I owned the Kameti Circle module — circle creation, member management, and payout rotation logic — along with the payment reminder system that keeps a circle running on schedule.

The Product

A tour of the Kameti Circle module — creating a circle, managing who's in it, tracking who's paid each round, and the home dashboard that ties circles and upcoming payments together.

The Problem

  • A kameti circle is a small state machine, not just a list. At any point, a circle has a defined set of members, a fixed contribution amount, a cycle schedule, and a payout order — and the app has to track exactly where the circle is in that cycle without ambiguity, since real money and real trust are riding on it being right.
  • The payout order has to be settled once, and honored exactly. Golak's circles use a fixed order determined at circle creation — the entire point of a kameti is that everyone knows in advance when their turn comes, so the rotation logic has to be deterministic once the circle starts, not something that can silently drift.
  • Member management has real social weight. Adding or tracking members in a savings circle directly affects who gets paid when and how much everyone is expected to contribute, so the module had to keep membership consistent with the payout sequence without confusing anyone about their position.
  • Missed payments are the failure mode that breaks trust. In a traditional kameti, a late payment is chased down socially. In a digital version, if the app doesn't proactively remind people before they're late, it's failed at the one thing it was supposed to improve on.

What I Built

Circle setup

Circle creation and configuration

Built the flow for creating a new kameti circle: setting the contribution amount, the cycle frequency (e.g. monthly), and the circle's duration based on member count — the basic parameters that everything else in the circle's lifecycle depends on and refers back to.

Members

Member management

Built the member management logic for a circle — adding members and keeping each member's position in the circle consistent with the payout order they were assigned at setup, so the "who's in this circle and where do they stand" question always has one clear answer.

Rotation

Fixed payout rotation logic

Implemented the payout rotation as a fixed order set at circle creation — once a circle starts, each member's payout turn is locked in and the module steps through that order cycle by cycle, rather than recalculating or reshuffling as the circle progresses. This keeps the core promise of a kameti intact: everyone knows exactly which cycle they'll receive their payout in, from day one.

Reminders

Payment reminders

Built the notification/reminder system that alerts members ahead of their contribution due dates, tied to each circle's cycle schedule — turning the traditionally social job of "chasing" contributions into something the app handles proactively before a payment is even late.

Why These Choices Mattered

The circle as a defined lifecycle

Anchoring circle creation, membership, and rotation around one consistent model of "where is this circle in its cycle" is what makes the rest of the app's behavior — reminders, payout order, member status — predictable and traceable back to a single source of truth.

Locking the payout order at creation

A kameti's entire value proposition is trust and predictability — members join knowing exactly when their turn comes. Making the rotation logic fixed and deterministic once a circle starts protects that promise instead of leaving it open to ambiguity or manual override.

Reminders as a trust mechanic

In a system built on social trust standing in for a bank, being reminded before you're late is the digital equivalent of the social accountability a physical kameti circle relies on — it's core to why someone would trust the app with a savings circle at all, not a peripheral feature.