A streamlined, offline-first markdown note-taking and organization application built with Flutter. Think Obsidian, but more focused and extensible.
- Local markdown file management
- Real-time markdown preview
- Offline-first architecture
- Cross-platform (Linux desktop + Android)
- Fast and responsive UI
- Extensible for future features
See ARCHITECTURE.md for detailed technical documentation and development roadmap.
- Flutter SDK (3.0 or higher)
- Dart SDK (included with Flutter)
- Linux development setup OR Android development setup
On Linux:
# Download Flutter SDK
cd ~
git clone https://github.com/flutter/flutter.git -b stable
# Add Flutter to PATH (add to ~/.bashrc or ~/.zshrc)
export PATH="$PATH:$HOME/flutter/bin"
# Reload shell configuration
source ~/.bashrc # or source ~/.zshrc
# Verify installation
flutter doctor# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y \
clang \
cmake \
ninja-build \
pkg-config \
libgtk-3-dev \
liblzma-dev
# Fedora
sudo dnf install -y \
clang \
cmake \
ninja-build \
pkg-config \
gtk3-devel \
xz-develflutter config --enable-linux-desktopflutter doctor
# Should show Linux desktop and Android (if configured) as availablecd /home/user/mdreader
flutter pub getflutter run -d linuxflutter devices # List available devices
flutter run -d <device-id>mdreader/
├── lib/
│ ├── main.dart # App entry point
│ ├── core/ # Core utilities, constants, theme
│ ├── features/ # Feature modules
│ │ ├── file_browser/
│ │ ├── note_editor/
│ │ ├── note_viewer/
│ │ └── search/
│ └── shared/ # Shared widgets and providers
├── test/ # Unit and widget tests
├── integration_test/ # Integration tests
├── linux/ # Linux platform code
├── android/ # Android platform code
└── assets/ # Images, fonts, etc.
- Architecture planning
- Project initialization
- Basic file browser
- Simple note editor
- Markdown rendering
- File operations (CRUD)
- Search functionality
- Split view (edit + preview)
- Auto-save
- Settings screen
- Themes (light/dark)
- Tags system
- Backlinks
- Graph view
- Full-text search
- Export functionality
- Android optimization
- Mobile gestures
- Performance tuning
- Advanced theming
flutter build linux
# Output: build/linux/x64/release/bundle/flutter build apk
# Output: build/app/outputs/flutter-apk/app-release.apk# Run all tests
flutter test
# Run with coverage
flutter test --coverage
# Run integration tests
flutter test integration_test/This is a personal project, but suggestions and feedback are welcome!
- Framework: Flutter
- Language: Dart
- State Management: Riverpod
- Local Storage: SQLite (sqflite) + Shared Preferences
- Markdown: flutter_markdown
- File System: dart:io + path_provider
MIT License (to be added)
Inspired by:
- Obsidian
- Notion
- Notable
- Joplin
Status: In Development Version: 0.1.0-alpha Last Updated: 2025-10-24