Local-first, Markdown-centric, Multiplatform notes.
Built with Kotlin Multiplatform and Compose Multiplatform.
Re-Markor is a modern, cross-platform port of the original Markor project. It preserves the core philosophy—plain text files, offline-first workflow, and no account lock-in—while leveraging Kotlin Multiplatform (KMP) to bring a unified experience to Android and iOS.
- 📝 Markdown-First: Fast editing with live preview and syntax highlighting.
- 🌍 Multiplatform: Shared business logic and UI across Android, iOS, and JVM.
- 📂 Local-First: Your data stays on your device in plain text files.
- 🏷️ Smart Organization: Pinned notes, archive, labels, trash, and recents.
- 🎨 Modern UX: A complete redesign using Material 3 and Compose Multiplatform.
- 🖼️ Asset Aware: Built-in support for images and attachments within your notes.
This project is a showcase of modern Kotlin Multiplatform development:
- UI: Compose Multiplatform (Material 3)
- Database: Room (KMP)
- Dependency Injection: Koin
- Navigation: Navigation 3
- Preferences: DataStore (KMP)
- Concurrency: Kotlinx Coroutines
- Serialization: Kotlinx Serialization
- Images: Coil3 (KMP)
- Theming: Material Kolor (Dynamic Color)
The project follows a standard KMP layout:
shared/: The heart of the app. Contains common UI (Compose), business logic, and data layers (Room, DataStore).app/: Android-specific entry point and resources.iosApp/: iOS-specific Xcode project and Swift entry point.metadata/: App store metadata and screenshots.
- JDK 17 or higher.
- Android Studio (Koala or newer) with the KMP plugin.
- Xcode 15+ (for iOS development).
- CocoaPods (if applicable) or Swift Package Manager.
./gradlew :app:installFlavorDefaultDebug- Open
iosApp/iosApp.xcodeprojin Xcode. - Select a simulator or device.
- Click Run.
Alternatively, via CLI:
./gradlew :shared:embedAndSignAppleFrameworkForXcode- Original Project: Markor by Gregor Santner.
- License: Apache License 2.0. See LICENSE.txt for details.
Made with ❤️ using Kotlin Multiplatform

