Jago Bank
Digital Bank App
A digital bank app for end-to-end financial services: self-KYC account opening, transfers between accounts, and day-to-day finance management.

Overview
Jago's digital bank app provides an end-to-end financial service: online banking and the services around it in Indonesia. People can open an account through self-KYC, transfer between accounts, and manage their finances in the app.
The engagement ran for 12 months and ended in August 2020. At the time, the product team was 48+ people in 4 squads, with 12+ members in each squad.
The Challenge
The app had to stay coherent across a large mobile organization. Four squads needed a shared Flutter core, a clear technical direction, and a way to turn business requirements into implementation without each squad inventing its own approach.
That also meant coordinating with the client engineering team, keeping technical quality consistent, and making architecture decisions with the risk of the implementation in view.
My Role
I was technical leader for the mobile work.
- Built a codebase and a common core with Flutter and Dart
- Found engineering practices, analyzed issues, and proposed a development strategy
- Researched newer implementations instead of defaulting to the traditional approach
- Reviewed code and supported senior and junior developers
- Took part in interviews to build the team
- Set a technical vision, resolved technical disagreements, and managed the technical quality of what the team delivered
- Made decisions and identified risk from the implementation and technical architecture
- Led the mobile team on a large-scale application
- Aligned the technical direction
- Coordinated with the client-side engineering team
- Discussed and analyzed technical implementation against business requirements
Architecture
The mobile app is a Flutter and Dart client built around a shared core. It talks to a Node.js backend. Data and infrastructure are MongoDB and AWS.
The diagram is only that stack. It is not a full banking-system design.
Engineering highlights
- 01
Shared mobile core
Built a codebase and a common core with Flutter and Dart so squads could share implementation instead of repeating it.
- 02
Engineering direction
Looked for engineering practices, analyzed issues, and proposed a development strategy, including newer implementations where the traditional approach was a poor fit.
- 03
Technical quality
Set a technical vision, resolved disagreements, and made architecture decisions with the implementation risk in view.
- 04
Team leadership
Led the mobile team, reviewed code, supported senior and junior developers, interviewed candidates, and aligned technical direction with the client engineering team.
Architecture (simplified)
┌──────────────────────┐
│ Digital bank app │
│ Flutter / Dart │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Backend │
│ Node.js │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Data / Infra │
│ │
│ MongoDB · AWS │
└──────────────────────┘