


ACMS — the Advanced Contact Management System — treats your address book as something too important to live on one device. Contacts are stored in the cloud and kept in sync everywhere: an iPhone, an Android phone and a desktop application all see the same, current book.
It's built for teams as much as individuals — members share contacts with each other through the cloud, so a colleague's new number propagates to the whole group without anyone forwarding a card.
I built both native mobile clients, iOS and Android, with the entire sync engine running silently in the background — plus a mapping layer designed specifically to work in China.
Sync is the invisible feature: it only gets noticed when it stalls the interface. The entire synchronization pipeline runs off the main thread — uploads, downloads, merges — so the contact list stays instant while the cloud catches up behind it, and edits from several devices converge without losing anyone's changes.
The map was its own adventure. The app targets China, where Google services are unreliable, so I combined third-party Chinese map providers with a Google Maps overlay — reconciling the two so contact locations land where they should for users on both sides of the wall.
Mobile — iOS · Android · native clients
Languages — Swift · Kotlin · Java
Data — REST · cloud sync · native contacts APIs
Maps — third-party Chinese providers · Google Maps overlay
Architecture — MVVM · Clean Architecture · multithreading