Rujen Shakya

InfoDevelopers · 2018 — 2022 · Senior Android Developer

mDabali Mobile Banking

White-label mobile banking for Nepal's credit co-operatives and microfinances — one codebase shipping as 300+ branded product flavors.

300+
product flavors, one codebase

Offline
SMS fallback banking mode

End-to-end
banking feature set

JavaMVVMRoomPayment gateways (NPS · Wepay)Biometric loginOffline SMS modeFirebase
mDabali on Play Store ↗
mDabali Mobile Banking app screenshotmDabali Mobile Banking app screenshotmDabali Mobile Banking app screenshotmDabali Mobile Banking app screenshotmDabali Mobile Banking app screenshot

The problem

Nepal’s credit co-operatives and microfinances needed mobile banking — top-ups, utility payments, wallet loads, fund transfers, flight booking, loan payments — but none could afford a bespoke app. The answer: one banking platform, shipped as a separately branded app for every institution.

My role

Senior Android developer owning features from planning through delivery and support, gathering requirements directly from client institutions and mentoring junior developers on the team.

Architecture decisions

The hardest problem

The flavor matrix. Every feature, bug fix and store release multiplied across hundreds of variants with different feature sets and branding. Discipline in configuration architecture and release automation was the difference between a platform and an unmaintainable pile of forks.

Outcome

A single codebase serving 300+ financial institutions on the Play Store, with offline banking capability that reached users far beyond reliable-data coverage — infrastructure-grade Android work delivered years before it was fashionable.