Qsidian is a lightweight Flutter app designed to complement Obsidian by providing fast loading times and powerful home screen widget functionality for quick note access and management.
- Fast Loading: Optimized for quick startup and note access
- Vault Management: Select and manage multiple Obsidian-compatible vaults
- Markdown Support: Full markdown editing with live preview
- File Compatibility: Works with existing Obsidian vaults and markdown files
- Real-time Sync: Automatically detects changes to notes made externally
- Quick Note Creation: Create notes directly from the home screen widget
- Recent Notes Display: View and access your most recent notes
- Vault Information: Display current vault stats and information
- Quick Capture: Capture thoughts instantly without opening the app
- Configurable: Customize widget appearance and functionality
- Material Design 3: Modern, clean interface with light/dark theme support
- Tabbed Navigation: Easy access to Home, Notes, and Settings
- Search Functionality: Quickly find notes by title, content, or tags
- Note Editor: Rich markdown editor with toolbar and live preview
Screenshots will be added once the app is fully tested
- Flutter SDK (3.8.1 or higher)
- Android Studio or VS Code with Flutter extensions
- Android device or emulator for testing
-
Clone the repository:
git clone <repository-url> cd qsidian
-
Install dependencies:
flutter pub get
-
Run the app:
flutter run
flutter build apk --release- Select a Vault: On first launch, select a folder to use as your vault
- Create Notes: Use the floating action button or quick capture widget
- Edit Notes: Tap any note to open the markdown editor
- Configure Widget: Access settings to customize the home screen widget
- Add multiple vaults for different projects or purposes
- Switch between vaults easily from the vault selection screen
- Vaults are compatible with existing Obsidian installations
- Create, edit, and delete markdown notes
- Automatic file watching for external changes
- Search through notes by title, content, or tags
- View recent notes for quick access
- Add the Qsidian widget to your home screen
- Configure widget settings in the app
- Use for quick note creation and access
lib/
├── main.dart # App entry point
├── models/ # Data models
│ ├── note.dart # Note model
│ └── vault.dart # Vault model
├── providers/ # State management
│ ├── notes_provider.dart # Notes state management
│ ├── vault_provider.dart # Vault state management
│ └── theme_provider.dart # Theme state management
├── screens/ # UI screens
│ ├── home_screen.dart # Main home screen
│ ├── notes_list_screen.dart
│ ├── note_editor_screen.dart
│ ├── vault_selection_screen.dart
│ └── settings_screen.dart
├── services/ # Business logic
│ ├── file_service.dart # File operations
│ └── widget_service.dart # Widget communication
├── widgets/ # Reusable UI components
│ ├── note_card.dart
│ ├── vault_info_widget.dart
│ ├── quick_note_widget.dart
│ └── recent_notes_widget.dart
└── utils/
└── app_theme.dart # Theme configuration
- Flutter: Cross-platform mobile development
- Provider: State management
- SharedPreferences: Local data persistence
- File System: Direct file operations for Obsidian compatibility
- Watcher: Real-time file change detection
- Flutter Markdown: Markdown rendering and editing
- Home Widget: Android home screen widget support
- Follow Flutter/Dart conventions
- Use meaningful variable and function names
- Comment complex logic
- Maintain consistent formatting
Run tests with:
flutter test- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
- Basic note management
- Vault selection and management
- Markdown editor with live preview
- Home screen widget foundation
- Material Design 3 UI
- Enhanced widget functionality
- Advanced search and filtering
- Note templates
- Export/import features
- Performance optimizations
- Plugin system architecture
- Cloud sync integration
- Collaboration features
- Advanced markdown features
- iOS widget support
-
Android NDK Version: The build process shows warnings about NDK versions. This doesn't affect functionality but may require updating the NDK version in the future.
-
File Watcher: On some devices, the file watcher may not detect external changes immediately. This is a limitation of the underlying file system monitoring.
-
Widget Limitations: Home screen widget functionality is currently Android-only. iOS support is planned for future releases.
App won't start
- Ensure Flutter SDK is properly installed
- Run
flutter doctorto check for issues - Clear build cache:
flutter clean && flutter pub get
Can't select vault folder
- Check file permissions
- Ensure the folder exists and is accessible
- Try selecting a different folder
Notes not syncing
- Check if the vault folder is still accessible
- Restart the app to refresh file watchers
- Verify file permissions
Widget not updating
- Check widget configuration in settings
- Restart the app to refresh widget data
- Remove and re-add the widget
This project is licensed under the MIT License - see the LICENSE file for details.
- Obsidian team for creating an amazing note-taking app
- Flutter team for the excellent framework
- Contributors to the open-source packages used in this project
For support, feature requests, or bug reports, please open an issue on the GitHub repository.
Note: Qsidian is designed to complement, not replace, Obsidian. It works best when used alongside the main Obsidian application for a complete note-taking workflow.