A free and open source cross-platform manga reader built with Kotlin Multiplatform and Compose Multiplatform.
- Cross-platform: Android and iOS
- Plugin-based extension system for content sources
- Local file reading (CBZ, CBR, PDF)
- Material Design 3 UI with dark/light theme support
- Clean Architecture with Unidirectional Data Flow
- Kotlin Multiplatform (KMP) — shared business logic
- Compose Multiplatform (CMP) — shared UI
- Ktor — networking
- SQLDelight — local database
- Koin — dependency injection
- Coil 3 — image loading
- Voyager — navigation
- QuickJS — sandboxed extension runtime
- Stabilize extension runtime compatibility using universal adapter profiles.
- Improve reader reliability (resume target, read/unread transitions, progress persistence).
- Keep Updates semantics accurate (real new chapters, not unread backlog noise).
- Preserve user data safely across migrations (library, history, reading progress, installed sources).
- Prepare a stable daily-reading release candidate for Android and iOS.
./gradlew :composeApp:assembleDebugOpen iosApp/iosApp.xcodeproj in Xcode and build.
Wahon is in active beta, and core architecture/runtime work is still moving fast. Before implementing large features, open an issue or discussion so we can align on direction and avoid duplicate work.
By submitting a contribution, you agree to the project Contributor License Agreement.
See CONTRIBUTING.md for workflow, development expectations, and review policy.
The developer(s) of this application does not have any affiliation with the content providers available, and this application hosts zero content. See DISCLAIMER.md for details.
- App source code is licensed under GNU GPL v3.0.
- Contributions require agreement with the project CLA.
- Translation assets are licensed separately under Apache License 2.0.