MJ Stories
Android craftsmanship stories
Your optimistic local row gets replaced by the server's authoritative one with no cleanup code of yours. PowerSync write checkpoints hold incoming server state until your uploads are accounted for, then reconcile the local database to match — sweeping away any row the server never knew about.

Series · 4 parts
Offline-First 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.
More Stories
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.

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.










