Navigate
Start a conversation

Nairobi, Kenya · Available for thoughtful work.

Mobile & web / Fintech

OneKitty

Making group finance feel effortless.

FlutterGetXDioGetStoragePayments

The problem

Group finance breaks in predictable places: someone forgets a contribution, the ledger drifts from reality, and trust erodes. OneKitty treats the ledger as the product.

I built the mobile experience end to end in Flutter — a single controller per slice, sealed UI state, and a design system that holds up from a 5-inch phone to a tablet. Every mutation re-reads from the source of truth, so the balance on screen is never a guess.

The hard part was not the UI. It was making failure legible: a payment that is pending must never look like a payment that succeeded.

What’s inside

Contributions without confusion

Group pots, scheduled contributions, and a running ledger so every member can see where the money went without asking.

Statements people keep

Filterable transactions with exportable statements for personal records and group reporting.

Payments that fit the region

Regional payment integrations, KYC flows, and multilingual copy built around how people actually transact.

More than money

Event ticket validation inside the same app, so community life does not need a second product.

What came out of it

  • One codebase serving phone and tablet layouts
  • Statement export and PDF-ready transaction history
  • KYC, multilingual, and payment flows behind a single state model

Next project