Zero-to-one · Cross-platform mobile

Two mobile platforms built from zero to product.

Android and iOS applications built from scratch with shared Kotlin Multiplatform logic and native interfaces, then evolved with the product toward React Native and Expo.

Role
Mobile Engineer · Contract
Period
September 2020 – October 2024
Scope
Android · iOS · Architecture · Release
Product
OttoConnect / SurfCast

A new product needed both mobile platforms without two isolated codebases.

The initial delivery used Kotlin Multiplatform for shared logic while preserving native Jetpack Compose and SwiftUI experiences. As the product and team changed, the architecture later moved toward React Native and Expo.

Delivery across platforms, seasons, and architecture changes.

Zero-to-one mobile build

I built the Android and iOS applications from scratch, sharing product logic through Kotlin Multiplatform and delivering native interfaces with Jetpack Compose and SwiftUI.

Architecture evolution

I later helped move SurfCast from its KMP-based implementation toward React Native and Expo as the delivery needs changed.

Product ownership

The work also included requirements refinement, release readiness, and mentoring a junior engineer rather than stopping at feature implementation.

  • Kotlin Multiplatform
  • Jetpack Compose
  • SwiftUI
  • React Native
  • Expo
  • Android
  • iOS

Faster delivery with less duplicated product logic.

The cross-platform work reduced duplication and helped improve feature-delivery speed. The product generated approximately $1M in its first season.

~20%faster feature delivery
−30%code duplication
~$1Mfirst-season revenue