3.5 KiB
3.5 KiB
HouseHoldKeaper
What This Is
A local-first Flutter app for organizing household chores and one-time projects, built for personal/couple use on Android. Takes the room-based task scheduling model (inspired by BeTidy), strips cloud/account/social features, and wraps it in a calm, minimal Material 3 UI. Fully offline, free, privacy-respecting — all data stays on-device.
Core Value
Users can see what needs doing today, mark it done, and trust the app to schedule the next occurrence — without thinking about it.
Requirements
Validated
(None yet — ship to validate)
Active
- Room CRUD with icons and optional photos
- Task CRUD with frequency intervals and due date calculation
- Daily plan view with overdue/today/upcoming sections
- Task completion with auto-scheduling of next due date
- Bundled task templates per room type (German only)
- Daily summary notification
- Light/dark theme with calm Material 3 palette
- Cleanliness indicator per room (based on overdue vs on-time)
- Task sorting (due date, alphabetical, interval, effort)
- Task history (completion log per task)
Out of Scope
- User accounts & cloud sync — local-only by design
- Leaderboards & points ranking — not a gamification app
- Subscription model / in-app purchases — free forever
- Family profile sharing across devices — single-device app
- Server-side infrastructure — zero backend
- Data export/import (JSON) — deferred to v1.1
- English localization — deferred to v1.1 (ship German-only MVP)
- Real-time cross-device sync — potential future self-hosted feature
- Tablet-optimized layout — future enhancement
- Statistics & insights dashboard — v2.0
- Onboarding wizard — v2.0
- Custom accent color picker — v2.0
Context
- Inspired by BeTidy (iOS/Android household cleaning app) — taking the proven room-based model, removing cloud/social, refining the UI
- Built for personal use with partner on a shared Android device; may publish publicly later
- Code and comments in English; UI strings German-only for MVP
- Room photos are nice-to-have for MVP — icon-only rooms are sufficient initially
- Developer is new to Drift (SQLite ORM) — plan should account for learning curve
- Gitea (self-hosted on Hetzner) for version control; no CI/CD pipeline yet
Constraints
- Tech stack: Flutter + Dart, Riverpod for state management, Drift for local SQLite
- Platform: Android-first (iOS later)
- Offline: 100% offline-capable, zero network dependencies
- Privacy: No data leaves the device, no analytics, no tracking
- Language: German-only UI for MVP, English code/comments
- No CI: No automated build pipeline initially
Key Decisions
| Decision | Rationale | Outcome |
|---|---|---|
| Riverpod over Bloc | Modern, compile-safe, less boilerplate, Dart-native | — Pending |
| Drift over raw sqflite | Type-safe queries, compile-time validation, migration support | — Pending |
| Android-first | Primary device is Android; iOS follows | — Pending |
| German-only MVP | Primary user language; defer localization infrastructure | — Pending |
| No CI initially | Keep scope focused on the app itself | — Pending |
| Calm Material 3 palette | Muted greens, warm grays, gentle blues — calm productivity, not playful | — Pending |
| Clean Architecture | Feature-based folder structure with data/domain/presentation layers | — Pending |
Last updated: 2026-03-15 after initialization