Hey Amy, Thanks for reading my story!
I'm a big advocate of Modularization, Reusability and API-first approach. (And I think I mentioned it in response to another comment as well).
But, I also believe that you should be as close to the user experience as possible in the initial stages of the development and should have a strong feedback loop with your client or target customers.
Why?
Because those initial decisions/requiements/feedbacks/improvements will change a lot of inputs/outputs and flow of information between several microservices or APIs. Ideally, you should be able to plug-and-unplug things you want or don't want but, even then, if some requirement forces you to change the sequence of the entire workflow, it will be a hassle.
My point is ... Such major decisions (atleast 95% of them) should be made in the very beginning of the development cycle. So they don't become a pain-in-the-ass later.