Libre Notes is a local-first, Markdown-first notes app. The current direction is a polished web design prototype first, followed by a native Android app in Kotlin and Jetpack Compose.
apps/web- Vite, React, and TypeScript design prototype for first-run setup, vault status, editor, preview, exports, lock screen, and settings.apps/android- Native Android app scaffold using Kotlin, Jetpack Compose, Material 3, app-layer/domain-layer/data-layer boundaries, vault crypto helpers, and export helpers.legacy/flutter-prototype- Preserved Flutter prototype kept for reference while the native rebuild reaches parity.assets/brand/icon.jpg- Libre Notes brand icon used by the web prototype and Android launcher.
cd apps/web
npm install
npm run devBuild the web artifact:
cd apps/web
npm run buildThe Android app is built from the repository root:
gradle :apps:android:assembleDebugIf Gradle is not installed locally, the GitHub workflow provisions Gradle and builds the debug APK automatically.
GitHub Actions builds and uploads:
libre-notes-web-previewlibre-notes-android-debug-apk
- The production Android app defaults to a selected folder plus an encrypted
libre-notes.vaultfile. - Markdown export keeps the original source exactly.
- HTML, DOC, and PDF exports render Markdown structure instead of wrapping raw Markdown as plain text.
- Biometric unlock is treated as a fast unlock path after a password or PIN has been configured.