Requirements overview
Good solutions are based on problems that really matter to people. So let's start our solution with an introduction to the actual problem:
John lives alone in an apartment in the city. He is a businessman who has to travel for work for 3-4 days in a week. When not travelling or working, John likes to take care of his plants. However, since he is not home for half the week, John is struggling to keep his garden healthy and beautiful.
John has faced several challenging experiences with automated watering systems: either the system did not water the plants enough (on hot or dry days, for example), or it watered them too much when the weather was okay.
John is looking for a solution that only waters his garden when a plant has reached a certain soil moisture condition, or whenever he feels it is necessary.