Skip to content
← All case studies

Cross-platform · Mobile

Two native apps over one deterministic core

A native iOS and Android platform where the shared code is strictly the deterministic engine, every pixel is platform-native, and no rule is written twice.

2

native front-ends

1

deterministic engine

0

reimplemented rules

The problem

Shipping the same product on two platforms usually forces a bad trade: a cross-platform UI framework that feels wrong on both, or two independent codebases whose behaviour silently diverges until a bug only reproduces on one of them.

What we built

A monorepo with a hard boundary: game and rules logic lives in a shared deterministic engine, while the UI is always platform-native — Jetpack Compose on Android, SwiftUI on iOS. Shared executable code is deliberately limited to the non-UI engine. A cross-platform parity layer handles catalog assembly and checks the two clients against the same behavioural oracle, and the version boundary is atomic so the platforms can still ship on independent release trains.

The result

Two genuinely native applications that cannot drift in behaviour, because the behaviour is not reimplemented on either side. Release cadence stays independent per platform without giving up a single source of truth for the rules.

What this does not claim

The shared core is deliberately small. Sharing UI code across platforms is where cross-platform projects usually go wrong, so the boundary is enforced rather than encouraged — the constraint is the design.

Jetpack ComposeSwiftUIshared deterministic coreparity orchestrationmonorepo

Have a problem shaped like this?