Blog
Notes on Flutter and native mobile development, ASO, product analytics, CI automation, testing and AI-assisted engineering by Mikhail Babozhko.
-
· 5 min read
Flutter Pigeon: Wrapping a Native-Only SDK the Safe Way
When an SDK ships only for iOS and Android, Flutter Pigeon gives you a typed bridge. Here is how to keep that bridge thin, testable and easy to replace.
-
· 5 min read
Localized App Store Screenshots: An ASO Lever That Works
Why localized App Store screenshots moved Mapika's listing more than text metadata, and a simple caption-first method to build them for five languages.
-
· 6 min read
A UoPeople Study Schedule That Fits a Full-Time Dev Job
A UoPeople study schedule that plans each learning week backwards from the Wednesday deadline, so a CS degree fits around a full-time job.
-
· 5 min read
Maestro Tests for Flutter: Use Semantics Identifiers
Why Maestro UI tests for Flutter break when they select widgets by visible text, and how Semantics identifiers give each widget a stable id to tap.
-
· 5 min read
Xcode Cloud for Flutter: The ci_post_clone.sh Script
How to build a Flutter app on Xcode Cloud with one ci_post_clone.sh script, where the file must live, and the mistakes that break the first build.
-
· 4 min read
Swapping Ad Providers in Flutter Without Touching the UI
How an abstract AdService interface let me replace an ad network in a Flutter app by changing one class and one DI binding, with Cubits and UI left untouched.
-
· 5 min read
Offline-First Mobile Sync: Use Triggers, Not Timers
A practical pattern for offline-first mobile apps that treats the device as the source of truth and syncs on app open and after key actions, not on a timer.