The short and straightforward answer to this is yes, it is possible.
How much work will be involved, how much time do we have to build this software, and how willing is the developer to continue to make add-ons? These questions are important and play a major role.
The software can either be good, fast, or cheap. It can also be both, for a software to meet up with the benchmark of "good" it is important that the requirements be gathered and known before the commencement of the app, these requirements have to be signed off by the respective customer or customers involved, and if there be need at all for change in the future it should be more of additive rather than a completely new idea requested by the customer. Certain design approach such as the waterfall with backtracking would give you the opportunity to make such increments.