Kotlin Multiplatform Mobile Development at Glovo
Article Summary
Guillermo Mazzola from Glovo turned a Friday afternoon experiment into a production system that solved a problem most multi-platform teams don't even realize they can fix.
Glovo faced a classic data integrity problem: tracking events had different field names across Android, iOS, and web (cityName vs city_name). Rather than manually syncing code across platforms, Mazzola spent his Friday learning time building a Kotlin Multiplatform solution that generates native artifacts (CocoaPods for iOS, NPM for web) from a single source of truth.
Key Takeaways
- Used YAML definitions to auto-generate tracking events as native libraries per platform
- Created CocoaPods and NPM packages from KMP code without forcing platform rewrites
- Shipped to production after one quarter with a dedicated team
- KMP works best for greenfield projects due to skill and integration barriers
Glovo standardized tracking across all platforms using KMP-generated native artifacts, proving you can get cross-platform benefits without rewriting existing apps.
About This Article
Glovo's tracking events weren't standardized across platforms. Android sent cityName while iOS sent city_name, which created data inconsistencies and made it harder for the company to make informed decisions.
Guillermo Mazzola built a Kotlin Multiplatform library that used YAML event definitions and automated build processes. It generated platform-specific native artifacts like CocoaPods for iOS and NPM for web, all from a single source.
After one quarter, the experimental project moved to production with a dedicated team supporting it. It established a pattern for cross-platform standardization that didn't require rewriting existing apps.