Files
HouseHoldKeaper/.planning/research/FEATURES.md

18 KiB

Feature Research

Domain: Household chore / cleaning schedule management app (local-first, Android) Researched: 2026-03-15 Confidence: MEDIUM-HIGH (competitor apps analyzed directly; user pain points verified from multiple sources)


Feature Landscape

Table Stakes (Users Expect These)

Features users assume exist. Missing these = product feels incomplete or broken.

Feature Why Expected Complexity Notes
Room-based organization Every competitor (Tody, Sweepy, BeTidy, OurHome) uses rooms as the primary organizing unit. Users mentally group chores by room, not by abstract category. LOW Rooms need icon support at minimum; photos are optional
Task CRUD with recurrence intervals Core loop of any chore app — create a task, set how often it repeats, mark it done. Without this nothing else works. MEDIUM Intervals: daily, every N days, weekly, monthly, seasonal. "Every N days" is more flexible than day-of-week pickers.
Auto-scheduling next due date after completion After marking done, the next due date must recalculate automatically. Without this users must manually manage dates — defeats the purpose. LOW Next due = completion date + interval
Visual "today" view with overdue/upcoming sections All competitors surface what needs doing today. Overdue items must be visually distinct (users feel guilt-free pressure, not anxiety). MEDIUM Three-band layout: Overdue / Due Today / Upcoming
Task completion (mark done) Obvious but critical — the satisfying tap that completes a task and updates the schedule. LOW Should feel responsive and immediate
Daily notification / reminder Every competitor offers push notifications for daily task reminders. Users who don't get reminded forget to open the app. LOW Single daily summary notification is enough; per-task reminders are scope creep for MVP
Bundled task templates per room type Users don't know what tasks to create for a new "Bathroom" room. Templates eliminate blank-slate anxiety and time-to-value. BeTidy and Sweepy both do this. MEDIUM Curate ~5-10 tasks per room type; templates should be pre-seeded, not user-created
Light/dark theme support Material 3 baseline expectation on Android. Users switching themes see a broken experience if unsupported. LOW System-default follow; explicit toggle is a v2 nicety
Task sorting (at minimum by due date) Overcrowded task lists are unreadable without sort. Due date sort is the baseline; additional sorts are differentiators. LOW Due date sort must ship at MVP; alphabetical/interval/effort sorts are v1.x

Differentiators (Competitive Advantage)

Features that set the product apart from competitors. Not table stakes, but provide meaningful value aligned with the core value proposition.

Feature Value Proposition Complexity Notes
Cleanliness indicator per room Tody pioneered the green-to-red "dirtiness" visual. It gives users an at-a-glance health check without opening every room. HouseHoldKeaper's local-first, calm design can do this without cloud dependency. MEDIUM Derived from overdue task ratio; no network required. Formula: ratio of overdue tasks vs total tasks per room
Task history / completion log Most apps don't surface history prominently. Users with OCD tendencies and couples wanting accountability ("did anyone clean the bathroom last week?") want a log. Home Tasker and HomeHero charge for this. MEDIUM Store completion timestamps in SQLite; display as scrollable log per task. Drift makes this straightforward.
Zero account, zero cloud, zero data leaving device No competitor offers this by default. Every top app (Tody, Sweepy, BeTidy, OurHome) requires an account or subscription for sync. Privacy-conscious users (the explicit target) have no good option today. LOW (by design) This is a design constraint, not a feature to build — but it IS a selling point that sets the app apart fundamentally
Calm, non-gamified UI Sweepy and OurHome lean heavily into points, leaderboards, and coins. Tody's "Dusty" mascot is polarizing. Research shows gamification causes long-term drop-off; calm productivity has a distinct audience. LOW Material 3 muted palette (greens, warm grays, gentle blues) — the design philosophy IS the differentiator
Task effort/duration tagging Knowing a task takes 5 minutes vs 45 minutes lets users pick tasks that fit available time. Only a few apps offer this (Today app does time-tracking). Enables "I have 20 minutes — what can I do?" filtering. MEDIUM Simple enum (quick/medium/long) or numeric minutes; used in sorting and future filtering
One-time project tasks alongside recurring chores BeTidy supports this; most others don't. "Paint the hallway" is not a recurring chore but belongs in the household task system. Supports the core value: one place for everything household. MEDIUM Distinguish recurring vs one-time tasks; one-time tasks disappear from daily view after completion
Vacation / pause mode Users going on holiday return to a crushing list of overdue tasks. Pause mode freezes due dates and resumes from departure date. Spix and Daily Cleaning Routines both have this. MEDIUM Store a "paused until" date; reschedule all tasks on resume

Anti-Features (Commonly Requested, Often Problematic)

Features that seem desirable but create complexity without proportional value — or contradict the project's core values.

Feature Why Requested Why Problematic Alternative
Cloud sync / multi-device sync Partners want tasks to sync across two phones Requires backend infrastructure, accounts, auth, server costs, and ongoing maintenance — directly contradicts zero-backend constraint. Also kills privacy angle. Single shared Android device (stated use case). Future: self-hosted sync as opt-in v2+
Family profiles / user accounts OurHome and BeTidy offer per-person task assignment Requires user model, login, profile management — significant complexity for a two-person shared-device app. Adds friction without benefit when both users share one phone. No profiles for MVP. Future: simple "assigned to" text label on tasks
Gamification (points, leaderboards, coins) Sweepy/OurHome use this for engagement Research (MIT Technology Review, 2022) shows gamification embeds unequal labor dynamics and causes "app burnout." Contradicts calm productivity positioning. Short-term engagement, long-term churn. Cleanliness indicator provides visual feedback without coercion
In-app purchases / subscription Monetization Project is free-forever by design; subscriptions create "paywalled features" resentment (the #2 complaint across all chore app reviews) Free, no IAP. Publish open source if desired.
Statistics & insights dashboard Power users want historical graphs High complexity UI; requires substantial history data to be meaningful; distracts from core loop for MVP. BeTidy gates this behind Pro. Task history log satisfies immediate need; dashboards deferred to v2.0
AI-powered task suggestions (camera scan, etc.) Sweepy 2025 added camera-to-task AI Requires network / on-device ML model; adds significant complexity; overkill for a personal app with curated templates Bundled room templates eliminate blank-slate problem without AI
Real-time cross-device sync Couple wants independent phones to stay in sync Requires network, conflict resolution, operational infrastructure — the entire anti-pattern for this app Shared device workflow; defer to self-hosted CouchDB/SQLite sync in v2+
Per-task reminders (individual push notifications) Users want reminder at specific time for each task Notification fatigue; permission management complexity; most users report turning off per-task notifications within a week. Daily summary is more effective for habit formation. Single daily summary notification
English localization for MVP Broader audience reach Adds localization infrastructure, string management, and review complexity before the app is even validated. Ships slower, validates nothing about the core product. Ship German-only; add i18n infrastructure in v1.1
Tablet-optimized layout Larger screen = better experience Responsive layout engineering is non-trivial in Flutter for adaptive breakpoints; primary use case is phone Defer to v1.1; phone layout is sufficient for stated use case

Feature Dependencies

Room CRUD
    └──requires──> Task CRUD (tasks belong to rooms)
                       └──requires──> Auto-scheduling (tasks need next-due logic)
                                          └──requires──> Daily plan view (needs due dates to sort)
                                                             └──requires──> Task completion (mark-done triggers reschedule)

Task templates
    └──requires──> Room CRUD (templates pre-populate a room's tasks)

Cleanliness indicator
    └──requires──> Task CRUD + Auto-scheduling (indicator derives from overdue ratio)
    └──enhances──> Daily plan view (room-level health visible from plan)

Task history
    └──requires──> Task completion (completion events are what get logged)
    └──enhances──> Cleanliness indicator (can show trend, not just current state)

Daily notification
    └──requires──> Auto-scheduling (needs due dates to determine what to notify about)

Task effort tagging
    └──enhances──> Task sorting (sort by effort as one option)
    └──enhances──> Daily plan view (filter by available time — future)

Vacation / pause mode
    └──requires──> Auto-scheduling (pause freezes the scheduler)

One-time project tasks
    └──requires──> Task CRUD (same data model, different recurrence setting)
    └──conflicts──> Auto-scheduling (one-time tasks must NOT reschedule after completion)

Dependency Notes

  • Room CRUD requires Task CRUD: Rooms are containers; without tasks, rooms are inert. Both must ship together.
  • Auto-scheduling requires Task CRUD: The scheduler reads interval and last-completion-date from the task record; the task must exist first.
  • Daily plan view requires Auto-scheduling: The plan view is entirely driven by computed due dates; without the scheduler there is nothing to show.
  • Task templates require Room CRUD: Templates are seeded into a room at creation time; rooms must exist first.
  • Cleanliness indicator requires Task CRUD + Auto-scheduling: The indicator is a derived metric (count of overdue tasks / total tasks per room). Cannot be computed without tasks and due dates.
  • One-time tasks conflict with auto-scheduling: One-time tasks must be detected and excluded from the scheduler loop; they complete and stay completed. This is a flag on the task model, not a separate feature — but it must be accounted for in the scheduler logic.

MVP Definition

Launch With (v1)

Minimum viable product — what's needed to validate the core "see what needs doing today, mark it done, trust the app to schedule the next one" loop.

  • Room CRUD with icons — without rooms there is no organizing structure
  • Task CRUD with recurrence intervals (daily / every N days / weekly / monthly / seasonal) — the core scheduling primitive
  • Auto-scheduling of next due date on task completion — the "fire and forget" reliability promise
  • Daily plan view (Overdue / Today / Upcoming sections) — the primary answer to "what do I do now?"
  • Task completion action — the satisfying feedback loop closure
  • Bundled task templates per room type (German language) — eliminates setup friction for new users
  • Daily summary notification — keeps users returning without per-task notification complexity
  • Light/dark theme (system-default) — Material 3 baseline expectation
  • Cleanliness indicator per room — visible at-a-glance health check; derived from overdue ratio, zero extra complexity
  • Task sorting by due date — minimum viable list usability

Add After Validation (v1.x)

Features to add once the core scheduling loop is confirmed working and users are returning daily.

  • Task history / completion log — users will ask "when did I last do this?"; add once task completion data has accumulated
  • Vacation / pause mode — first travel use case will surface this need
  • Data export/import (JSON) — backup and migration; already noted in PROJECT.md as v1.1
  • Additional sort options (alphabetical, interval, effort) — power user usability improvement
  • Task effort/duration tagging — enables time-based filtering ("I have 20 minutes")
  • English localization — widen audience after German MVP validates the concept
  • One-time project task type — "Paint the hallway" use case; simple model extension

Future Consideration (v2+)

Features to defer until product-market fit is established.

  • Statistics & insights dashboard — requires historical data volume to be meaningful; high UI complexity
  • Onboarding wizard — reduces cold-start friction at scale; overkill for initial personal use
  • Custom accent color picker — personalization; non-core
  • Tablet-optimized layout — secondary device form factor
  • Self-hosted sync (CouchDB / SQLite replication) — multi-device without cloud compromise; technically interesting but complex
  • "Assigned to" label on tasks — minimal multi-user support without full profiles

Feature Prioritization Matrix

Feature User Value Implementation Cost Priority
Room CRUD with icons HIGH LOW P1
Task CRUD with recurrence HIGH MEDIUM P1
Auto-scheduling next due date HIGH LOW P1
Daily plan view (3-band layout) HIGH MEDIUM P1
Task completion action HIGH LOW P1
Bundled task templates HIGH MEDIUM P1
Daily summary notification HIGH LOW P1
Light/dark theme MEDIUM LOW P1
Cleanliness indicator per room HIGH LOW P1
Task sorting by due date MEDIUM LOW P1
Task history / completion log MEDIUM LOW P2
Vacation / pause mode MEDIUM MEDIUM P2
Task effort tagging MEDIUM LOW P2
Additional sort options LOW LOW P2
One-time project tasks MEDIUM MEDIUM P2
Statistics dashboard LOW HIGH P3
Onboarding wizard LOW MEDIUM P3
Custom accent color LOW LOW P3
Tablet layout LOW HIGH P3
Self-hosted sync MEDIUM HIGH P3

Priority key:

  • P1: Must have for launch
  • P2: Should have, add when possible
  • P3: Nice to have, future consideration

Competitor Feature Analysis

Feature Tody Sweepy BeTidy OurHome Home Routines HouseHoldKeaper
Room-based organization Yes Yes Yes Partial (categories) Yes (Focus Zones) Yes
Visual cleanliness indicator Yes (green→red bar) Yes (Cleanliness Meter) No No No Yes (derived metric)
Recurring tasks / intervals Yes Yes Yes Yes Yes Yes
Auto-schedule on completion Yes Yes Yes Yes Yes Yes
Daily plan view Yes Yes Yes Yes Yes Yes
Task templates Basic Yes (suggestions) Yes Partial No Yes (bundled per room type)
Task history / log No (premium only hints) Partial No No No Yes (v1.x)
Gamification (points/coins) Partial (Dusty mascot) Strong No Strong No No (deliberate)
Family profiles / sharing Yes (premium) Yes (premium) Yes Yes (free) No No (deliberate)
Cloud sync Yes (premium) Yes (premium) Yes Yes No No (deliberate)
Requires account Yes Yes Yes Yes No No
Offline / local-first Partial No No No Yes Yes (100%)
Vacation / pause mode Yes No No No Partial v1.x
Focus timer (Pomodoro) Yes No No No Yes No
One-time project tasks Partial No Yes No No v1.x
Free tier Partial Partial Partial Yes (full) No ($4.99) Yes (fully free)
No subscription / IAP No No No Yes Yes Yes
German language UI No No Yes No No Yes (MVP-only)
Privacy / no tracking No No No No No Yes

Key gap this app fills: The market has no room-based, local-first, account-free, calm (non-gamified), fully private chore management app. OurHome is free but cloud-dependent. Home Routines is local but iOS-only, not room-based, and costs money. Tody is the closest UX model but requires subscription for multi-device and is not privacy-first.


Sources


Feature research for: local-first household chore management app (Android, Flutter) Researched: 2026-03-15