When building a product/feature we generally come up with assumptions. How do we know our intuitions are right?. Experiment! Before building the software, select a set of users/client, find out manual ways of solving the problem you are trying to address with this software and make iteration of changes to the manual approach and see how it behaves. If the solution you are trying to build isn’t working manually, then what is the point of building a software for it?
Hence if you have a solution, build a minimum viable product which is capable of evolution. In the first cut, you do not have to build it for scale, because we do not know how the product is gonna get adopted by the users. Get feedback from the user, experiment and evolve the product.