Pincode Migration Journey with Compose Multiplatform
Article Summary
Chethan N from PhonePe's Pincode team just shared how they migrated their Android seller app to desktop using Compose Multiplatform. The twist? They kept both codebases running in the same repo during migration.
PhonePe's Pincode seller app needed to expand beyond Android to support sellers managing catalogs, orders, and billing on Windows desktops. Rather than building separate apps, the team chose Compose Multiplatform to share code across platforms while keeping iOS as a future option.
Key Takeaways
- Migrated module by module while keeping Android releases flowing from same repository
- Used 12 column grid system for adaptive UI across mobile and desktop
- Built custom solutions like KMP Chucker equivalent when libraries weren't available
- Chose Squirrel for silent Windows updates, bypassing Windows Store entirely
- Replaced Hilt with Koin, OkHttp with Ktor, Glide with Coil for multiplatform
PhonePe successfully unified their Android and desktop development using Compose Multiplatform, reducing code redundancy while delivering consistent seller experiences across platforms.
About This Article
When PhonePe's Pincode team moved to multiplatform development, they ran into resource issues specific to Android. Things like R files for strings, fonts, and icons couldn't be shared in common code.
The team moved Android resources over to multiplatform resources and switched to CMP material3 adaptive layouts. They replaced Android-specific tools like Hilt with Koin and Glide with Coil so the code could work across platforms.
PhonePe built a 12-column grid system with dynamic navigation that shifts between a desktop sidebar and mobile hamburger menu. This let them adapt the UI across different devices without maintaining separate codebases.