2026-04-26 12:18:42 +10:00
|
|
|
|
# DailyYou
|
2026-04-26 09:04:36 +10:00
|
|
|
|
|
2026-04-26 12:18:42 +10:00
|
|
|
|
A private, on-device mood journal for Android and iOS built with Flutter. All data stays on your device — no cloud, no accounts.
|
2026-04-26 10:39:51 +10:00
|
|
|
|
|
2026-04-26 12:18:42 +10:00
|
|
|
|
## Features
|
2026-04-26 10:39:51 +10:00
|
|
|
|
|
2026-04-26 12:18:42 +10:00
|
|
|
|
- **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
|
2026-04-26 10:39:51 +10:00
|
|
|
|
|
2026-04-26 12:18:42 +10:00
|
|
|
|
## Tech stack
|
2026-04-26 10:39:51 +10:00
|
|
|
|
|
2026-04-26 12:18:42 +10:00
|
|
|
|
| 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 |
|
2026-04-26 10:39:51 +10:00
|
|
|
|
|
2026-04-26 12:18:42 +10:00
|
|
|
|
## 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
|
2026-04-26 15:49:52 +10:00
|
|
|
|
- [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
|
2026-04-26 12:18:42 +10:00
|
|
|
|
- [ ] 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
|
2026-04-26 15:49:52 +10:00
|
|
|
|
- [x] Seed database with default activities on first launch
|
2026-04-26 12:18:42 +10:00
|
|
|
|
|
|
|
|
|
|
### AI / insights
|
2026-04-26 15:49:52 +10:00
|
|
|
|
- [x] Model setup screen — manual transfer instructions + scan button
|
2026-04-26 12:18:42 +10:00
|
|
|
|
- [ ] Query mode — ask a free-form question about your data
|
2026-04-26 15:49:52 +10:00
|
|
|
|
- [x] Prompt builder — serialize mood history into LLM context
|
2026-04-26 12:18:42 +10:00
|
|
|
|
|
|
|
|
|
|
### 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
|