DailyPulse is a Kotlin Multiplatform (KMP) and Compose Multiplatform (CMP) sample application created as part of my learning journey into cross-platform development.
The project documents my progression from sharing only business logic using Kotlin Multiplatform to building a fully shared user interface with Compose Multiplatform.
The early development (approximately the first seven branches) focuses on Kotlin Multiplatform with native Android and iOS UIs, while the later branches transition to Compose Multiplatform, enabling a shared UI across multiple platforms.
- Kotlin Multiplatform (KMP)
- Compose Multiplatform (CMP)
- Clean Architecture
- MVI
- Koin (Dependency Injection)
- Ktor (Networking)
- Kotlin Coroutines
- Flow
- Kotlinx Serialization
- SQLDelight
- ✅ Android
- ✅ iOS
Shared business logic with platform-specific user interfaces.
- ✅ Android
- ✅ iOS
- ✅ Desktop
- ✅ Web
Shared business logic and shared UI built entirely with Compose Multiplatform.
This project is built to explore and practice:
- Kotlin Multiplatform architecture
- Compose Multiplatform UI development
- Shared business logic
- Dependency Injection with Koin
- Networking using Ktor
- Local database integration with SQLDelight
- State management with MVVM
- Reactive programming using Flow and Coroutines
- Navigation
- Platform-specific implementations using expect/actual
- Cross-platform project structure
- Best practices for scalable Multiplatform applications
The repository represents my learning progression:
-
Branches 1–7
- Kotlin Multiplatform
- Native Android UI (Jetpack Compose)
- Native iOS UI (SwiftUI)
-
Latest Branches
- Compose Multiplatform
- Shared UI across Android, iOS, Desktop, and Web
This gradual migration demonstrates how a Kotlin Multiplatform project can evolve into a fully shared Compose Multiplatform application.
This project is my own implementation while following the Kotlin Multiplatform course by Petros Efthymiou on Udemy.
It is intended for learning, experimentation, and portfolio purposes while exploring modern cross-platform application development.
This project is licensed under the MIT License.