Files
dailyou/README.md
T

97 lines
3.3 KiB
Markdown
Raw Normal View History

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 12:18:42 +10:00
## Features
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 12:18:42 +10:00
## Tech stack
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 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
- [ ] 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 download + progress UI
- [ ] 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 (15), 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