Two years ago, I started out building a new software product. From the start, it would require mobile, web, and backend components to make it work, so I had to make quite a few technology choices. Here is how those turned out.
While some of those decisions were easy, I spent quite some time contemplating others. So I thought it would be a good idea to look back and see whether or not my assumptions back then would hold true over time.
The product itself is almost boring from a technological perspective. It's not simply forms over data, but at the end of the day, there is not much about it that would require sophisticated engineering – at least not in the early days when product/market fit has not been validated. Think of a platform that allows businesses to interact with their customers regularly and in a more structured manner than, let's say, through e-mail.
The platform's core is represented by a server-side application that communicates with client apps through an API. Those client apps consisted of a mobile app and a web app right from the start.