# Choosing the right architecture for a \[new\] Kotlin Multiplatform, Jetpack Compose and SwiftUI app

DevFeed: [Choosing the right architecture for a \[new\] Kotlin Multiplatform, Jetpack Compose and SwiftUI app](<https://devfeed.tech/articles/choosing-the-right-architecture-for-a-new-kotlin-multiplatform-jetpack-compose-and-swiftui-app-25545.md>)

Original publisher: [Read original article](<https://www.marcogomiero.com/posts/2020/kmm-shared-app-architecture/>)

Author: Marco Gomiero

Published: 2020-10-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [Posts on Marco Gomiero](<https://devfeed.tech/sources/posts-on-marco-gomiero.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [App](<https://devfeed.tech/topics/app.md>), [macOS](<https://devfeed.tech/topics/macos.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [app](<https://devfeed.tech/tags/app.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [compose](<https://devfeed.tech/tags/compose.md>), [design](<https://devfeed.tech/tags/design.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [macos](<https://devfeed.tech/tags/macos.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

## AI overview

The article documents architectural decisions for Money Flow, a Kotlin Multiplatform mobile application targeting Android, iOS, and macOS. It describes sharing business logic in Kotlin, using Jetpack Compose and SwiftUI for declarative user interfaces, and choosing an MVP design with common Model, View, and Presenter components.

## Source excerpt

Recently, I've started to work on (yet another) side project: Money Flow. As the name suggests, this is an application to help me track all the expenses and incomes. I've thought and designed it almost a year ago but only now I've found the time to start writing actual code. A first design iteration, that will change a bit