A privacy-first, offline-only note-taking application built with Flutter
Your thoughts, secured and offline. No cloud, no tracking, just pure privacy.
Features โข Installation โข Download โข Documentation
- About
- Features
- Screenshots
- Download
- Tech Stack
- Prerequisites
- Installation
- Development
- Project Structure
- Design Philosophy
- Roadmap
- Contributing
- License
NoteSecret is a privacy-conscious, offline-first note-taking application designed to replace cloud-based alternatives like Google Keep. It prioritizes user privacy, data ownership, and a distraction-free writing experience with "Calm Technology" principles.
- 100% Offline: All data stays on your device. No internet required.
- Zero Tracking: No analytics, no telemetry, no third-party services.
- Military-Grade Encryption: AES-256 encrypted backups with password protection.
- Biometric Security: Vault feature with fingerprint/face authentication.
- Cross-Platform: Full support for Android and Windows Desktop.
- Google Keep Style: Minimalist design with Pinterest/Masonry layout.
- Lightning Fast: NoSQL database (Isar) for instant search and retrieval.
- โ Rich Note Editor: Distraction-free writing with auto-save (2s debounce)
- โ Markdown Support: Write and preview markdown-formatted notes
- โ Full-Text Search: Real-time search across all notes (200ms debounce)
- โ Organization: Folders and tags for structured note management
- โ Pin Important Notes: Keep critical notes at the top
- โ Color Coding: Full background color cards with smart text contrast
- โ Masonry Layout: Pinterest-style staggered grid (Google Keep UI)
- โ Grid/List View: Toggle between viewing modes
- โ Vault Feature: Lock sensitive notes behind biometric/PIN authentication
- โ Auto-Lock: Automatic vault locking after 30s of inactivity
- โ
Encrypted Backups: AES-256 password-protected
.notesecretfiles - โ Secure Storage: PIN and sensitive data stored using flutter_secure_storage
- โ No Cloud Sync: 100% offline, zero external connections
- โ No Tracking: Zero analytics, telemetry, or third-party services
- โ Trash/Bin: Soft delete with 30-day retention period
- โ Export Options: Export notes to Markdown (.md) or Plain Text (.txt)
- โ Backup & Restore: Create and restore from encrypted backups with UI
- โ Share Notes: System share sheet integration
- โ File Picker: Easy backup file selection for restore
- โ Dark/Light Themes: Parchment White (Light) and Warm Black (Dark)
- โ System Theme: Auto-match system appearance
- โ Onboarding Flow: 4-screen introduction for new users
- โ Empty States: Beautiful illustrations and helpful CTAs
- โ Skeleton Loaders: Smooth loading experience (no spinners)
- โ Button Animations: Scale to 0.97 on press (150ms)
- โ Responsive UI: Optimized for both mobile and desktop
- โ Android Support: API 21+ (Android 5.0 Lollipop and above)
- โ Windows Desktop: Windows 10/11 (x64)
- โ Same Features: Full feature parity across platforms
- โ Responsive Design: Adapts to different screen sizes
Coming soon - Screenshots will be added in the next update
๐ฆ Download from GitHub Releases
- Download: notesecret-v1.0.0-android.apk
- Min SDK: Android 5.0 (API 21) and above
- Target SDK: Android 14 (API 34)
- Architecture: Universal (arm64-v8a, armeabi-v7a, x86_64)
- Size: ~30-40 MB
Installation Steps:
- Download the APK file from GitHub Releases
- Enable "Install from Unknown Sources" in Android Settings
- Open the downloaded APK file
- Follow the installation prompts
- Launch NoteSecret and start taking notes!
- Download: notesecret-v1.0.0-windows-x64.zip
- Platform: Windows 10/11 (x64)
- Size: ~25-35 MB (compressed)
Installation Steps:
- Download the ZIP file from GitHub Releases
- Extract the ZIP file to your preferred location
- Run
notesecret.exe - (Optional) Create a desktop shortcut for quick access
See Installation section below for instructions on building from source.
| Category | Technology | Package |
|---|---|---|
| Framework | Flutter 3.x | flutter, dart |
| State Management | Riverpod | flutter_riverpod, riverpod_annotation |
| Routing | GoRouter | go_router |
| Database | Isar (NoSQL) | isar, isar_flutter_libs |
| Security | Biometrics & Encryption | local_auth, encrypt, flutter_secure_storage |
| UI/Icons | Lucide & Google Fonts | lucide_icons, google_fonts |
| UI/Layout | Masonry Grid | flutter_staggered_grid_view |
| Utilities | Formatting & Sharing | intl, uuid, share_plus, file_picker |
| Markdown | Rendering | flutter_markdown |
| Notifications | Local Notifications | flutter_local_notifications |
Before you begin, ensure you have the following installed:
- Flutter SDK: 3.10.8 or higher (Download)
- Dart SDK: 3.10.8 or higher (comes with Flutter)
- Android Studio or VS Code with Flutter extensions
- Java JDK: 17 or higher (for Android builds)
- Visual Studio 2022: With "Desktop development with C++" (for Windows builds)
- Git: For version control
Verify installation:
flutter --version
dart --version
java -versiongit clone https://github.com/yourusername/notesecret.git
cd notesecretflutter pub getdart run build_runner build --delete-conflicting-outputsAndroid:
flutter runWindows Desktop:
flutter run -d windowsSelect Specific Device:
flutter devices
flutter run -d <device-id># Android
flutter run
# Windows
flutter run -d windows# Watch mode - automatically regenerates code on file changes
dart run build_runner watch --delete-conflicting-outputs# Analyze code for linting errors
flutter analyze
# Run tests
flutter testAndroid:
# APK
flutter build apk --release
# App Bundle (for Play Store)
flutter build appbundle --releaseWindows:
# Desktop executable
flutter build windows --releaseWhile running flutter run:
- Press
rfor hot reload (fast UI updates) - Press
Rfor hot restart (full app restart) - Press
qto quit
lib/
โโโ app/ # App-wide configurations
โ โโโ app.dart # Root widget (MaterialApp)
โ โโโ router/ # GoRouter configuration
โ โโโ theme/ # Design system (Colors, Typography)
โโโ core/ # Core utilities and services
โ โโโ auth/ # Biometric & PIN authentication
โ โโโ backup/ # Backup & restore services
โ โโโ database/ # Isar schema & database access
โ โโโ encryption/ # AES-256 encryption logic
โ โโโ notifications/ # Local notification service
โโโ features/ # Feature modules (Screens + Logic)
โ โโโ notes/ # Note listing, editing, searching
โ โ โโโ models/ # Note-related data models
โ โ โโโ providers/ # Riverpod state providers
โ โ โโโ repositories/ # Data access layer
โ โ โโโ screens/ # UI screens
โ โโโ vault/ # Locked notes feature
โ โโโ folders/ # Folder & Tag management
โ โโโ settings/ # App preferences & config
โ โโโ onboarding/ # Intro screens
โ โโโ splash/ # Splash screen
โโโ shared/ # Reusable components
โ โโโ widgets/ # Atoms/Molecules (Buttons, Cards)
โ โโโ utils/ # Helpers (Formatters, Extensions)
โโโ main.dart # Entry point
docs/
โโโ specs.md # Project specifications & guidelines
โโโ task.md # Development task list
โโโ changelog.md # Version history & changes
โโโ design-system.xml # UI/UX design specifications
NoteSecret follows the "Calm Technology" philosophy:
- Content-First Hierarchy: Notes are the hero, UI fades to the background
- Zero Friction: No sign-ups, no cloud sync, instant access
- Thumb-Friendly Navigation: Bottom navigation optimized for one-handed use
- Ink on Paper Aesthetic: Serif typography (Lora, Merriweather) for readability
- Google Keep Inspired: Masonry layout with full background color cards
- Light Theme: Parchment White (
#FAF8F5) with Deep Charcoal (#2C2C2C) - Dark Theme: Warm Black (
#1A1A1A) with Soft Cream (#E8E4DF) - Accent: Sage Green (
#6B7F5E) for primary actions
- Headings: Lora (Serif)
- Body: Merriweather (Serif)
- UI Labels: Inter (Sans-serif)
- Code: JetBrains Mono
- Button Press: Scale to
0.97with 150ms duration - Page Transitions: Fade + slide animations
- Loading: Skeleton shimmer (no circular spinners)
- Touch Targets: Minimum 44x44px for accessibility
For complete design specifications, see docs/design-system.xml.
- Core note-taking (CRUD operations)
- Full-text search with Isar indexing
- Folder and tag organization
- Vault with biometric/PIN authentication
- Dark/Light/System theme modes
- Trash/Bin with 30-day retention
- AES-256 encrypted backups with UI
- Export to Markdown/Plain Text
- Onboarding flow (4 screens)
- Local notifications for reminders
- Pinterest/Masonry layout (Google Keep style)
- Full background color cards with smart contrast
- Windows Desktop support
- Cross-platform compatibility (Android + Windows)
- Backup & Restore UI in Settings
- iOS/macOS support
- Linux desktop support
- Handwriting recognition
- Voice memos attachment
- Advanced markdown editor with live preview
- Customizable themes and color palettes
- Note templates
- Import from other apps (Google Keep, Evernote)
- Collaborative features (offline P2P sync)
- Widget support (Android/Windows)
Contributions are welcome! Please follow these guidelines:
- Check existing Issues
- Create a new issue with:
- Clear description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Screenshots (if applicable)
- Device/OS information
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Follow code style guidelines (see
docs/specs.md) - Test your changes thoroughly
- Commit with descriptive messages (
git commit -m 'feat: add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow
analysis_options.yamllinting rules - Use 2 spaces for indentation
- Prefer
finalandconstwhere possible - Write descriptive variable/function names
- Add comments for complex logic only
This project is licensed under the MIT License - see the LICENSE file for details.
- Design Inspiration: Apple Notes, Bear, Obsidian, Google Keep
- Icons: Lucide Icons
- Fonts: Google Fonts
- Community: Flutter & Riverpod communities
- Special Thanks: All contributors and testers
Project Maintainer: tamaproject360
Issues: GitHub Issues
Documentation: Project Wiki
Email: tamaproject360@gmail.com