Coati - one Rust core, two native apps

  • Rust
  • UniFFI
  • SwiftUI
  • Jetpack Compose
  • axum

Coati is the successor to Voluble: an event platform with real-time translation baked in. The interesting bit is the architecture.

Both apps, iOS in SwiftUI and Android in Jetpack Compose, share one Rust domain core through UniFFI bindings, sitting behind a Rust axum backend. Business logic lives in one place, in one language, and both platforms call into it instead of reimplementing it twice.

I built the whole thing solo, including the auth stack (Firebase, Apple and Google Sign-In, Universal and App Links) and Maestro end-to-end flows.