Clustering Geodata for Mobile Commerce Project


E-commerce, Digital Marketing, Automotive Manufacturing, Convenience Stores, Fleets, Consumer Packaged Goods, and Order Ahead


Android: MVP, MVVM, Realm, Java, and Retrofit+RxJava; iOS: MVP, MVVM, Realm, mapKit, and Swift


The customer is a company that provides secure cloud-based mobile commerce and digital marketing solutions.


The customer came to us with an idea to develop a secure mobile app that provides cloud-based payments for gasoline and other goods at gas stations. One of the most challenging tasks of this project was connected to clustering geodata—convenient locations of gas stations on the map for two platforms: iOS and Android.


The key point during the development process was to display a large number of similar objects such as gas stations, convenient stores, and quick service restaurants with high density in predefined areas.

In order to avoid disorder with such a large amount of data, we applied clustering based on Google Maps and the custom interface.

Google Maps provides data for a fee. Therefore, our specialists labored to develop the best way to minimize the quantity of incoming requests. 

We developed the functionality for clustering geodata to work with a massive amount of data stored in the cache on the backend side. The result is that a preliminary search and selection is performed within a certain radius that helps filter out unnecessary data and bypasses the fees. This functionality also improves the application performance and cuts the cost of third-party APIs by 3x.



Our specialists demonstrated their top-notch skills by implementing into this project a highly practical functionality—clustering geodata.

The customer was extremely happy with our results and we continue to grow our team inside the framework of this project. And, within 5 years, our project team has grown from 2 specialists to 50.