The most correct thing previous commenters posted is that you need to handle business requirements first. The other correct thing is that GoF patterns are mostly tactical. Given that in my answer I'll assume is that architectural patterns are monolith, microservices, CQRS etc. With that said I'd start from monolith application since microservices bring a lot of overhead that you might not need until you've pitched a PoC to some investors or might not need it at all if you're not going to have a team of sufficient size or your application won't endure high loads. Then your application will evolve according to your business requirements and also to a fact that your understanding of business will evolve too. Say you'll discover that your business problem contains of multiple subdomains. Then you can handle them via vertical slices. Or you may need to handle spikes in application load. Then you might need to extract some microservices. In general, my advice is to start with the simplest solution unless you're encounter requirements to act otherwise.