A Quantified Self Journal & Identity Snapshot OS
DayVault is an offline-first, high-security personal journaling platform designed for the aesthetic-conscious "Quantified Self" enthusiast.
Features β’ Quick Start β’ Architecture β’ Security β’ Roadmap
DayVault (internally known as Memory Palace) is more than just a diary. It's a structured system for capturing daily reflections ("Stories"), specific moments ("Events"), and your evolving personal preferences ("Identity Snapshots").
Built with a stunning Glassmorphic UI, it focuses on "Preference Drift"βtracking how your tastes in movies, books, and beliefs change over time, providing a high-fidelity mirror of your self-evolution.
| Feature | Traditional Apps | DayVault |
|---|---|---|
| Privacy | Cloud-synced (Public) | Offline-First (Private) |
| Security | Simple Password | AES-256 + PBKDF2 + Biometrics |
| Identity | Text-only | Structured Rankings & Drift Tracking |
| Aesthetics | Generic/Material | Glassmorphism & Ambient Orbs |
| AI | Server-side (OpenAI) | Local On-Device AI (GGUF/AICore) |
- Dual-Mode Logging: Choose between Story Mode (daily reflections) and Event Mode (specific moment capture).
- Rich Metadata: Track 14+ emotional states, feelings, and location tags.
- Auto-Save: Never lose a thought with 3-second debounced background saving.
- Preference Tracking: Rank your favorite movies, books, and more to monitor your "Preference Drift."
- Custom Categories: Create and manage personal ranking systems with drag-and-drop organization.
- Drift Badges: Special badges (π₯π₯π₯) for your top-tier preferences.
- Heatmap Indicators: Visual dots (Indigo for Stories, Emerald for Events) show your journaling density.
- Infinite History: Seamless horizontal scrolling through years of memories.
- Day Detail Sheets: Quick-peek at entries without leaving the calendar view.
- On-Device LLM: Chat with your memories using local GGUF models or Android AICore.
- Privacy-Preserving: Your data never leaves your device for AI processing.
- Smart Search: Semantic search and insights powered by local embeddings.
- Multi-Layer Auth: 4-6 digit PIN with PBKDF2-hardened derivation (100k iterations).
- Field-Level Encryption: AES-256-CBC encryption with random IVs for all sensitive data.
- Biometric Lock: Instant access via Fingerprint or Face ID.
- Glassmorphism: High-sigma backdrop blurs and semi-transparent gradients.
- Ambient Orbs: Floating background animations that respond to the app's state.
- Haptic Design: Precise tactile feedback for every interaction.
- Flutter SDK:
^3.2.0 - Dart SDK:
^3.2.0 - Android: API 26+ (for AICore)
- iOS: 12.0+
-
Clone the repository
git clone https://github.com/yourusername/dayvault.git cd dayvault -
Install dependencies
flutter pub get
-
Generate code (ObjectBox & Freezed)
dart run build_runner build --delete-conflicting-outputs
-
Run the app
flutter run
DayVault follows a Layered Service-Repository Pattern to ensure strict separation of concerns and maximum testability.
graph TD
A[UI Layer] --> B[Riverpod Providers]
B --> C[Service Layer]
C --> D[Repository Layer]
D --> E[ObjectBox / Secure Storage]
subgraph "Core Services"
C1[SecurityService]
C2[EncryptionService]
C3[BackupService]
C4[AIService]
end
| Decision | Implementation | Why? |
|---|---|---|
| Database | ObjectBox | NoSQL performance + Offline-first capability. |
| State Mgmt | Riverpod 3.x | Compile-time safety + Code generation. |
| Models | Freezed | Immutability + Union types + Pattern matching. |
| Security | PBKDF2 | Brute-force resistance for PIN derivation. |
| Encryption | AES-256-CBC | Industry-standard field-level data protection. |
| Package | Purpose |
|---|---|
flutter_secure_storage |
Platform-native keystore for secrets. |
encrypt |
AES-256 cryptographic primitives. |
local_auth |
Biometric authentication (FaceID/Fingerprint). |
google_fonts |
Typography (Outfit & Libre Baskerville). |
image_picker |
Multi-source image capture. |
Detailed guides are available in the docs/ folder:
- π Getting Started β Full installation and setup guide.
- β¨ Features Catalog β Deep dive into every DayVault module.
- π Security Protocol β Detailed breakdown of our encryption layers.
- π€ Contributing β How to help improve DayVault.
- π Changelog β Version history and release notes.
- Rich Text Editor: Support for bold, italic, and bullet points in entries.
- Screenshot Prevention: Disable screenshots on sensitive screens (Android).
- Mood Analytics: Chart-based visualization of emotional trends over time.
- Tags System: Universal tagging for entries and identity items.
- End-to-End Cloud Sync: Encrypted backup synchronization via WebDAV/Nextcloud.
- Panic PIN: A special code to wipe local data in emergencies.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Built with β€οΈ for the Quantified Self community.
DayVault β Your memories, vaulted.