MindVault is a powerful on-device AI search application built with Flutter that helps you organize, search, and manage your documents using semantic search capabilities. All processing happens locally on your device, ensuring privacy and speed.
- π Document Management: Create, read, update, and delete documents with rich text content
- π AI-Powered Search: Semantic search using advanced text similarity algorithms
- π± Modern UI: Clean Material Design 3 interface with dark/light theme support
- π On-Device Processing: All AI operations run locally for privacy and offline functionality
- πΎ Local Database: Fast ObjectBox NoSQL database for document storage
- π― Smart Search: Fuzzy matching and Levenshtein distance algorithms for intelligent text matching
- π Bulk Operations: Select and delete multiple documents at once
- π·οΈ Categories & Tags: Organize documents with categories and auto-generated tags
- π Document Analytics: Track creation dates and manage document metadata
- π Real-time Updates: Reactive UI updates using BLoC state management
MindVault follows Clean Architecture principles with three distinct layers:
lib/
βββ core/ # Shared components
β βββ di/ # Dependency injection
β βββ error/ # Error handling
β βββ usecases/ # Base use case classes
β βββ utils/ # Utilities and helpers
βββ features/
β βββ search/ # Main feature module
β βββ domain/ # Business logic layer
β β βββ entities/ # Core business objects
β β βββ repositories/ # Repository contracts
β β βββ usecases/ # Business use cases
β βββ data/ # Data access layer
β β βββ datasources/ # Data source implementations
β β βββ models/ # Data models
β β βββ repositories/ # Repository implementations
β βββ presentation/ # UI layer
β βββ bloc/ # State management
β βββ pages/ # App screens
β βββ widgets/ # Reusable UI components
βββ main.dart # App entry point
- Flutter 3.35.1 or higher
- Dart 3.9.0 or higher
- Android Studio / VS Code
- Android SDK (for Android builds)
- Xcode (for iOS builds on macOS)
-
Clone the repository
git clone <repository-url> cd mindvault
-
Install dependencies
flutter pub get
-
Generate ObjectBox models
flutter packages pub run build_runner build
-
Run the app
flutter run
- flutter_bloc (8.1.6): State management using the BLoC pattern
- objectbox (2.5.1): High-performance NoSQL database
- get_it (7.7.0): Dependency injection service locator
- dartz (0.10.1): Functional programming utilities
- equatable (2.0.5): Value equality for objects
- cupertino_icons (1.0.2): iOS-style icons
- path_provider (2.1.5): File system path access
- injectable (2.5.1): Code generation for dependency injection
- flutter_lints (2.0.3): Dart/Flutter linting rules
- build_runner (2.4.13): Code generation runner
- objectbox_generator (2.5.1): ObjectBox model generation
- Tap the "+" floating action button
- Enter a title for your document
- Add content in the text area
- Optionally select a category
- Tap "Save Document"
- Use the search bar at the top of the main screen
- Type your search query - the app will find documents using:
- Exact matches in titles and content
- Partial matches for similar words
- Fuzzy matching for misspellings
- Semantic similarity for related concepts
- Tap on any document card
- Modify the title, content, or category
- Tap "Update Document" to save changes
- Long-press on any document to enter selection mode
- Tap additional documents to select them
- Use the delete button in the app bar to remove selected documents
- Tap the "X" to exit selection mode
Documents can be organized into categories:
- Work: Professional documents and notes
- Personal: Personal thoughts and ideas
- Study: Educational content and research
- Project: Project-related documentation
MindVault uses a sophisticated multi-layered search approach:
- Text Preprocessing: Normalizes input and splits into words
- Word Matching: Direct and partial word comparisons
- Fuzzy Matching: Levenshtein distance for typo tolerance
- Similarity Scoring: Weighted relevance scoring
- Result Ranking: Orders results by relevance score
- Real TensorFlow Lite Integration: On-device AI processing for privacy and speed
- Semantic Embeddings: 384-dimensional text embeddings for accurate similarity
- Advanced Tokenization: Vocabulary-based text preprocessing with 500+ words
- Cosine Similarity: Mathematical precision in document relevance scoring
- Auto-categorization: Automatic category suggestions based on content analysis
- Tag extraction: AI-powered tag generation from document content
- Content summarization: Generate brief summaries of long documents
- Similar document discovery: Find related documents using embedding similarity
- Dynamic theming with system color extraction
- Adaptive layouts for different screen sizes
- Smooth animations and transitions
- Accessibility support with semantic labels
- Automatic theme switching based on system preference
- Optimized colors for both light and dark themes
- Consistent branding across themes
- 100% On-Device Processing: No data leaves your device
- Local Database: All documents stored locally using ObjectBox
- No Network Requests: App works completely offline
- No Analytics: No tracking or data collection
- Open Source: Transparent and auditable codebase
Run the test suite:
flutter testRun integration tests:
flutter drive --target=test_driver/app.dart- β Android (API 21+)
- β iOS (iOS 11+)
- π§ Web (Coming soon)
- π§ Desktop (Windows, macOS, Linux - Coming soon)
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter Team for the amazing cross-platform framework
- ObjectBox for the high-performance local database
- BLoC Library for elegant state management
- Material Design for the beautiful design system
- Real TensorFlow Lite model integration β
- AI-powered semantic search with embeddings β
- Interactive AI features demonstration β
- On-device processing for privacy β
- Voice-to-text document creation
- Document sharing and export
- Cloud sync (optional)
- Advanced text formatting
- Multi-language support
- Plugin system for extensibility
- Advanced AI features (summarization, Q&A)
- Collaborative editing
- Desktop applications
If you encounter any issues or have questions:
Built with β€οΈ using Flutter & Clean Architecture by Sohail Mahmud
MindVault - Your Personal Knowledge Vault