Skip to content

Service

One codebase for the logic, native on both stores

Kotlin Multiplatform shares the parts that should behave identically on iOS and Android, and leaves the interface native on each. You get one place to fix a rule, and apps that still feel like iOS and Android apps.

What this covers

  1. Shared business layer

    Models, networking, storage, validation and sync rules written once and used by both apps.

  2. Native interfaces

    SwiftUI on iOS and Jetpack Compose on Android, so navigation, accessibility and platform behaviour stay native.

  3. Migration from two codebases

    Moving an existing pair of apps piece by piece, starting with the layer that causes the most duplicated bugs.

  4. Back office and API

    The web back office and the API that feed both apps, so data and rules line up end to end.

How we work

  1. Pick the first shared piece

    We start with one module worth sharing, not the whole app, so the risk stays small and measurable.

  2. Set up the build

    Gradle and Xcode wiring, CI and a release path, before the shared code grows.

  3. Grow the shared layer

    Each feature moves across when it is cheaper to share than to duplicate, and the apps ship as usual throughout.

Where I have done it

  1. Client apps built this way in 2026

    Nura, Youz and Vitlex are Kotlin Multiplatform apps with React back offices, built as a small team.

  2. Shared libraries in a field app

    Shared Kotlin Multiplatform libraries inside the LEAKAPP field application at VonRoll Hydro.

Questions I get asked

Is Kotlin Multiplatform ready for production?
It is what I use on client apps that are in production today. The shared layer is Kotlin compiled for both platforms, and the interface stays native, so the risk sits in the shared layer rather than in the whole app.
Does the app still feel native?
Yes, because the interface is not shared. SwiftUI on iOS, Compose on Android, and only the logic underneath is common.
Can we migrate gradually?
That is the usual route. One module at a time, with both apps shipping normally between steps.

Related services

Have a project like this?

Book a 20-minute call and tell me what you are building. If I am not the right fit, I will say so on the call.

Book a 20-min call