stefwill fefb61ffae feat: add bottom navigation shell with four tabs
Introduces AppShell with an IndexedStack-backed NavigationBar (Today,
History, Insights, Settings). Stub screens added for Calendar, Insights,
and Settings; app.dart now routes to AppShell instead of LogMoodScreen directly.
2026-04-26 14:21:12 +10:00
2026-04-26 09:04:36 +10:00
2026-04-26 12:18:42 +10:00

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 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
S
Description
Daily mood tracking app
Readme GPL-3.0
412 KiB
Languages
Dart 69.6%
C++ 15.2%
CMake 12%
Swift 1.3%
HTML 0.9%
Other 0.9%