000%
COMMISSION Nº 03 · 2023–25 — ANDROID PARITY
CERTILIFE · Android

Certilife Android — outsourced track first, then in-house ownership.

Certilife Android — managed against the iOS roadmap as an outsourced track first, then handed in-house and continued directly. Same domain, same screens, same release cadence as iOS.

FIG. 01CERTILIFE — ANDROID — CERTILIFE · Android
COMMISSIONAndroid · Kotlin · Hilt · Coroutines · Retrofit · ML Kit + CameraX · WebView Bridge2023 — 2025

Android started in coordination mode. The first phase was scheduling work: drafting tickets in the same shape iOS used, reviewing pull requests against the iOS release train so parity did not drift. Most of the decisions about which features the app should add and how to schedule them were already made on iOS and re-stated for Android consumption — same domain language, same screens, same release contract.

The second phase was the handover. The Android codebase came home and entered the same single-engineer ownership cycle as iOS. Fixes, new features, store releases — one head holding two operating systems at once, with every change touching both sides on the same release cadence.

The codebase is Kotlin with AndroidX Views, Coroutines and Flow, Hilt, Jetpack lifecycle, Retrofit + OkHttp, ML Kit + CameraX for scanning, and Firebase for messaging and analytics.

The repository itself is factored for four audiences — patient, hospital, manufacturer, and a commerce shell — sharing first-party libraries for scanning, barcode parsing, common scaffolding, and the design system. Scanning supports three tasks: products are scanned in while a certificate is issued, clinic staff sign in by pointing the camera at a code, and a push notification can open the scanner directly for batch work. The barcode layer speaks GS1, the labeling grammar of medical devices; the consumer app signs in through Kakao, a widely used login service in Korea. One lint ruleset runs across every module.

Holding both iOS and Android end-to-end at the same time was the part of this role I took the most out of.

— FIN —