MJ Stories

Android craftsmanship stories

Cover Image for Your API key is not a secret

We have been hiding API keys in Android apps for a decade — with BuildConfig tricks, NDK, obfuscation libraries. None of it works. The fix is not better hiding; it is treating the key as a public identifier and proving the app is genuine instead.

Android
androidsecurityplay-integritybffarchitecture

More Stories

Cover Image for Choosing an offline-first sync layer for KMP

Choosing an offline-first sync layer for KMP

When your mobile app must work without internet as a standard — not an edge case — picking the right sync layer becomes the most critical architectural decision. Here is how we evaluated the landscape.

Android
androidkmpoffline-firstpowersyncarchitecture
Cover Image for Share iOs string resources with Android

Share iOs string resources with Android

There might be a requirement for mobile string resources to be defined or adjusted by management or copywriters. There also might be a requirement to add localization later by those roles. And on top of that strings should be synced across platforms.

Android
androidresourcessharedpoeditor