Glovo Guillermo Mazzola Jul 19, 2021

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

Critical Insight

Glovo standardized tracking across all platforms using KMP-generated native artifacts, proving you can get cross-platform benefits without rewriting existing apps.

The 'Multiplatform Native library' approach isn't officially supported yet, which is exactly why Glovo isn't scaling it further (for now).

About This Article

Problem

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.

Solution

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.

Impact

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.