Roadmap
Goal: Get a houseplant owner from "I keep killing these" to a month of confident, unprompted care, by turning each plant's real conditions into a schedule they trust.
Process: The Work Model + Product Lifecycle in CONTRIBUTING.md. Boards in phases/. Archive in archive/phases/.
Principles
- Never guess a schedule — ask one question instead of inventing a number.
- Copy never scolds — a missed plant is our failure.
- Offline first — watering happens where signal does not reach.
Where We Are
Onboarding, plant profiles and the room light survey have shipped. A new user can add a plant, tell us where it lives, and see a care profile that reflects the room rather than a generic species average.
Watering reminders is the open phase and the first thing that makes the app worth opening twice. The light survey is what makes its schedules defensible, which is why it shipped first.
After reminders land, the question becomes retention: care history is what turns a reminder into a habit, and it is queued next.
History lives elsewhere: decisions.md (why) and the phase records in archive/phases/ (what shipped).
What's Next
The queue — upcoming planned work of any mode, one mode-tagged list. Each row carries a seed (planning/queued/).
| Phase | Goal | Key refs |
|---|---|---|
| Care history — queued | A per-plant timeline of waterings, so a reminder becomes a streak worth keeping. | seed: planning/queued/care-history.md |
| Sensor accuracy sweep — queued | Close the gap between phone-camera light readings and a real lux meter. | seed: planning/queued/sensor-accuracy-sweep.md |
| Doc tree tidy — queued | Split the growing implementation folder and retire two merged references. | seed: planning/queued/doc-tree-tidy.md |
Key Considerations
Things to keep in mind across phases. Not tasks — lenses.
Notification fatigue is the failure mode. Every phase that adds a push has to argue why it is not the one that gets us muted.
Species data is a liability, not an asset. We license it, we do not curate it, and we never present it as certainty.
The northern-hemisphere assumption. Seasonal logic is hardcoded to one hemisphere and will embarrass us the first time someone in Melbourne uses it.
Beyond the Demo
Not yet planned, but will become relevant:
- Shared households, where two people water the same plant.
- A plant-identification camera flow, once the care model is trusted enough to be worth pointing at a stranger's monstera.