Ian Mahia

Jipay

A savings wallet that puts aside part of every M-PESA payment and uses it to pay for family health cover.

Client
Jipay
When
Sep to Dec 2024
My role
Software engineer at StartAppz TBC: confirm role and team size
Team
TBC: team size, and the parts you owned end to end
Stack
Flutter, Dart, Firebase, Laravel, MySQL, M-PESA API
Downloads
10K+Google Play, October 2026
Rating
4.2 from 93 reviewsGoogle Play, October 2026
Links

Context

Jipay is a micro-savings wallet for informal workers in Kenya. It saves a share of what a subscriber spends through M-PESA, and that money pays for Jipay Afya, an in-patient and out-patient cover for a family of five. The same wallet holds goal savings (Jipay Later) and invests in a money market fund (Jipay Now).

Problem

The founders needed a working app in the Play Store quickly, so they could test “save as you spend” with real users and real money.

Constraints

  • Real money moves through M-PESA, so every payment has to match a confirmation from Safaricom before the wallet changes.
  • Health cover is a regulated product, so what the app promises has to match the policy.
  • Four months from the first commit to the store.
  • TBC: any other constraint worth naming (team size, budget, devices)

What I did

  • Built the Android app in Flutter.
  • Wrote the Laravel API and the MySQL schema behind it.
  • Integrated M-PESA payments and the callbacks that confirm them.
  • TBC: confirm which parts were yours and which were the team’s

Decisions

TBC: two or three decisions you made, each as decision, trade-off, result. For example, how payments are confirmed before the wallet changes.

Outcome

Jipay reached the Play Store in under four months. In October 2026 it shows more than 10,000 downloads and a 4.2 rating from 93 reviews.

TBC: screenshots of the app (with the client’s OK), and one thing you would do differently