Vibe Coding a Mobile App: KMP Productivity App with Claude

Mobile development is hard. Cross-platform mobile development is harder. Kotlin Multiplatform sits in the middle — shared business logic with native UI on each platform. The Gradle configuration alone can take hours. Can Claude handle it? This is the most technically challenging project in the entire series. KMP has expect/actual declarations, platform-specific dependency injection, multiplatform Gradle config, and two completely different UI frameworks (Jetpack Compose for Android, SwiftUI for iOS). ...

July 3, 2026 · 23 min

KMP Tutorial #17: Building the UI Layer — Compose + SwiftUI with Shared ViewModel

In the previous tutorial, we built the shared data layer with Ktor, SQLDelight, and offline-first sync. The data layer works, but the UI is basic. You can only see a list of notes with a “+” button that creates placeholder notes. In this tutorial, we build a proper UI layer. You will add navigation between screens, a note editing screen with a color picker, pull-to-refresh sync, and loading and error states. All of this works on both Android (Compose) and iOS (SwiftUI). ...

April 6, 2026 · 14 min