78aa032c1be9d1dbf6fc790a0fe3f35c3e16677c
- Daily reminder scheduling via flutter_local_notifications (inexact, repeating at chosen time) - Biometric lock gate on app launch with auto-prompt and manual unlock button - Theme mode selector (System/Light/Dark) persisted to settings DB - PDF export of full mood history shared via share_plus - Android: POST_NOTIFICATIONS, USE_BIOMETRIC permissions; switched to FlutterFragmentActivity
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
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
- Bottom nav shell (home, history, insights, settings)
- History / calendar heatmap screen
- Day detail screen — list entries for a selected day
- Insights screen — weekly/monthly AI summaries
- 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
- Seed database with default activities on first launch
AI / insights
- Model setup screen — manual transfer instructions + scan button
- Query mode — ask a free-form question about your data
- 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 noteActivities— built-in and custom activities with icon and colourEntryActivities— many-to-many join between entries and activitiesTags— free-form tagsLlmInsights— cached AI-generated insight text keyed by prompt SHA-256UserSettings— key/value store for app preferences
Languages
Dart
69.6%
C++
15.2%
CMake
12%
Swift
1.3%
HTML
0.9%
Other
0.9%