From Hacking to Shipping: Kotlin Multiplatform Mobile at Hootsuite
Article Summary
Hootsuite's mobile team shipped a major product rewrite using Kotlin Multiplatform Mobile—sharing business logic across iOS and Android while keeping native UIs. Here's how they went from hackathon experiment to production.
The team rebuilt their Inbox feature from scratch, sharing domain and data layers between platforms for the first time. This detailed retrospective covers their architecture decisions, technical challenges, and lessons learned from adopting KMM in mature native apps.
Key Takeaways
- Started with hackathon proof of concept converting Amplify feature to shared KMM code
- Shared domain and data layers via Clean Architecture, kept ViewModels native
- Used Git submodules and XCFramework exports to bridge Android and iOS repos
- Built custom Flow to RxSwift/RxJava bridges for async operation interop
- Shipped production Inbox feature May 2023 after rigorous testing cycles
Critical Insight
Hootsuite successfully adopted KMM for a major feature rewrite, sharing business logic across platforms while maintaining fully native UIs and developer experience.