Hi folks! 👋
I wanted to share a Compose Multiplatform reference app I’ve been working on called Ledger. It targets Android, iOS (via Swift Export), and Desktop.
The goal was to prove out a production-grade architecture using the latest bleeding-edge Jetpack/Compose Multiplatform libraries (Navigation 3, Room 3, and Material3 Adaptive) without any messy platform-specific branching in the UI.
Key architectural details:
• Adaptive UI: The shell uses NavigationSuiteScaffold to adapt automatically (bottom bar vs rail) on all platforms.
• DI & Navigation: It uses Koin Annotations perfectly paired with Navigation 3. Every section has independent back stacks that survive configuration changes.
• State Management: Strict unidirectional data flow mapping Flow to DataResult sealed states.
If you are looking to start a new CMP app and want to skip the boilerplate, I also published the KMP Project Wizard to the JetBrains Marketplace, which generates this exact architecture for you from File → New Project.
Would love for you to check it out and let me know your thoughts!
🐙 Repo:
https://github.com/aoreshkov/kmp-ledger
🔌 Plugin:
https://plugins.jetbrains.com/plugin/31786-kmp-project-wizard