The Story of Our Big Android App Rewrite
Article Summary
Gojek's driver app serves 2 million+ partners who depend on it for their daily income. When the app goes down for even an hour, drivers lose significant earnings—so a rewrite was high stakes.
Gojek's Driver Platform team faced a critical challenge: their driver SuperApp had outdated design, cluttered legacy code, and struggled on low-end devices used 10-12 hours daily. They needed a complete overhaul without halting feature development or jeopardizing business.
Key Takeaways
- Rejected big-bang rewrite; chose progressive reconstruction with 50% resources on rewrite
- Adopted Clean Architecture with RxJava, component-based UI, and exhaustive testing requirements
- Missed first deadline—held blameless retrospective to improve estimation and planning process
- Used feature toggles for gradual rollout and real-time monitoring across user segments
- Drivers loved the redesign; new architecture scaled for growing team and complex features
Gojek successfully rewrote their mission-critical driver app incrementally over months, delivering modern design and robust architecture while continuing to ship new features.
About This Article
Gojek's driver app ran poorly on low-end devices with 512MB RAM. Drivers needed to use it 10-12 hours daily while keeping battery and network data usage minimal, especially in areas with spotty connectivity.
Aritra Roy's team built the app using Clean Architecture across four layers: data, domain, presentation, and UI. They used RxJava for reactive streams and required exhaustive unit test coverage, which the CI pipeline enforced before any code could merge.
The rewritten app worked reliably across all driver partners. Performance improved noticeably, and the codebase became stable enough to handle rapid team expansion and new features without breaking.