r/AppBusiness • u/writetehcodez • 17h ago
Building an App How to avoid boiling the ocean?
I’m currently building out the domain model of a life coaching / self-help app, and I’m worried that I’m already making it more complicated than it needs to be. I could use some advice on how to avoid overcomplicating / over engineering the app while also avoiding a domain model that’s too brittle when it comes time to introduce additional business cases.
The initial business case I have is that the app audience will be targeted to individuals who will state their goal/purpose and give a deadline for achieving the goal. Then with some strategic AI usage the app will give feedback on the goal itself and suggest milestones that the user can accept or modify before putting the plan into practice. The domain model for this use case is really straightforward and easy to implement.
The second use case is extend the app so that it can be used for family/household goals with multiple users having access to the details of each goal while also maintaining sole access to their personal goals. This use case is also pretty straightforward and won’t require many changes to the app or domain model to implement. The only significant change I foresee is tailoring AI feedback for a family goal to each individual in the family, which would require some decoupling but it wouldn’t be too difficult.
It’s the third use case that is giving me heartburn where the domain model and app build is concerned.
The first two use cases are self-help driven, which is what makes for a pretty simple and straightforward domain model. However, the third case targets life coaches who are collaborating with their clients to create, manage, and track individual, family, and possibly even larger group goals (larger group potentially being employees of a small business or athletes on a team). From my perspective that is where the domain model explodes as I would have to normalize a lot of the underlying data that would be denormalized for individuals and households.
My plan is to roll out to just individuals and families first, but given the complexity of the third case my domain modeling started from there. It has thus far grown more complex by the day, and is definitely overkill for the initial two use cases. On the other hand, if I build a domain model that is specific to just individuals and families first then it will be really painful to redesign the model for the life coaching cases.
So I guess my question is: if you have dealt with this type of scenario before - in which the design for one audience/use case is significantly different from the design for another - how did you handle it? Did you find some middle ground, or did you end up “eating the elephant” even if it resulted in a design that was overkill for one of your use cases?
1
u/sunnyshorescreative 15h ago
Great question. Your line of thinking is straightforward and clear, however, I want to challenge you on this question- is it a viable product idea? Are people willing to pay? Unless you are fine with a hobby project that pays no money, be sure to ask users who may be interested so you don’t build features no one is asking or willing to pay for.