Gojek Ashish Pathak

How Gojek Modularizes Its Driver App for Android: Benefits & Way Ahead (Part-3)

Original post Modularizing Our Driver App for Android: Benefits & Way Ahead (Part-3)

Article Summary

Gojek's driver app modularization cut CI build times by 33% and unlocked team-level productivity metrics. Here's what they learned from breaking up their monolith.

This is Part 3 of Gojek's series on modularizing their Android driver app. After extracting core modules, utilities, and features, the team measured the real-world impact on build speeds, code quality, and team productivity.

Key Takeaways

Critical Insight

Modularization delivered faster builds and cleaner interfaces, but required careful planning, automated guardrails, and ongoing code review discipline to succeed.

Continue reading

What This Article Covers

Problem

Gojek's driver app had messy code architecture. About 78% of classes were crammed into a single app module, which made it hard to separate concerns and slowed down IDE compilation.

Solution

Ashish Pathak's team broke things apart by creating core modules, utility modules, and feature modules with clear boundaries between API and implementation. They set up automated guardrails and code reviews to keep shared modules from turning into a dumping ground for common logic.

Impact

The cleaner interfaces and decoupled APIs reduced code entanglement. The team could now assign feature ownership clearly and track test coverage, binary size per feature, and crashes per feature without affecting other parts of the codebase.

The team shares why identifying inputs and outputs for each feature was the key to unlocking architectural freedom across different parts of the app.

This page summarizes “Modularizing Our Driver App for Android: Benefits & Way Ahead (Part-3)” by Gojek, published Sep 27, 2023. All credit for the original work goes to the authors.

Read the original on medium.com (opens in new tab)

AI tools for Android

Browse all AI tools →