# DailyYou A private, on-device mood journal for Android and iOS built with Flutter. All data stays on your device — no cloud, no accounts. ## Features - **Multi-step mood logging** — guided wizard capturing mood, sleep, energy, positivity, and self-worth in one flow - **Activity tagging** — log what you've been doing; custom activities supported - **On-device AI insights** — weekly and monthly reflections powered by MediaPipe on-device LLM (no data leaves the device) - **Calendar heatmap** — daily mood averages visualised across a month - **Reminders** — optional local notifications to prompt daily check-ins - **Biometric lock** — optional fingerprint/Face ID protection - **Dark mode** — follows system theme ## Tech stack | Layer | Library | |---|---| | UI | Flutter 3.x, Material 3 | | State management | flutter_riverpod 3.x (non-codegen) | | Database | Drift 2.x (SQLite) | | Charts | fl_chart | | On-device LLM | flutter_mediapipe_chat | | Notifications | flutter_local_notifications | | Biometrics | local_auth | | Export | pdf + share_plus | ## Getting started ```bash flutter pub get dart run build_runner build --delete-conflicting-outputs flutter run ``` > Android requires core library desugaring — already configured in `android/app/build.gradle.kts`. ## Project structure ``` lib/ app.dart # Root widget, theme, routing main.dart # Entry point core/ database/ # Drift schema, DAOs, generated code llm/ # LlmService abstraction + MediaPipe impl providers/ # Riverpod providers (mood, activity, settings, LLM, insights) features/ log_mood/ # Mood logging wizard screen + widgets shared/ widgets/ # Reusable UI components ``` ## To-do ### Core screens - [x] Bottom nav shell (home, history, insights, settings) - [x] History / calendar heatmap screen - [x] Day detail screen — list entries for a selected day - [x] Insights screen — weekly/monthly AI summaries - [x] Settings screen — reminders, biometrics, theme, data export - [ ] Onboarding flow — first-launch walkthrough ### Mood logging - [ ] Edit existing entry (tap from day detail) - [ ] Free-text note step in the wizard - [ ] Tag selection step ### Activities - [ ] Activity management screen — add, reorder, delete custom activities - [x] Seed database with default activities on first launch ### AI / insights - [x] Model setup screen — manual transfer instructions + scan button - [ ] Query mode — ask a free-form question about your data - [x] Prompt builder — serialize mood history into LLM context ### Analytics - [ ] Charts screen — mood trend line, activity frequency bar chart, sleep vs mood scatter ### Infrastructure - [ ] Local notifications — schedule and cancel reminders - [ ] Biometric lock — gate app on fingerprint/Face ID - [ ] PDF export and share sheet - [ ] App icon and splash screen --- ## Database schema - `MoodEntries` — mood (1–5), sleep minutes, energy, positivity, self-worth, optional note - `Activities` — built-in and custom activities with icon and colour - `EntryActivities` — many-to-many join between entries and activities - `Tags` — free-form tags - `LlmInsights` — cached AI-generated insight text keyed by prompt SHA-256 - `UserSettings` — key/value store for app preferences