Our architecture, stacks and why did we choose them. A recipe for SaaS startups for an affordable, scalable and high-performing system that scales well.


Why Angular?

Learning curve:

Almost everyone in the ConfigCat team was born and raised using Microsoft technologies in the last decade writing mostly server-side code.
We are used to strongly typed languages like C#. After evaluating all the modern frontend frameworks/libraries, it felt quite homelike working with TypeScript within Angular. All the principles seemed familiar, and we got comfortable immediately.


We think writing code quickly, and bugless is key do deliver our product increments fast. All our favorite IDEs like Visual Studio, VSCode, WebStorm strongly support Angular what makes writing code and debugging super fast. On top of all, we have fallen in love with Angular CLI and Chrome Developer Tools after they make code generation, running and debugging a dream.


Starting up with a new technology usually means you are searching for solutions and best practices all day long. The amount of community support, blog posts, StackOverflow solutions are a big plus for Angular.


Why .NET Core?


We wanted to start small and not by using enterprise-level technologies on expensive platforms. .NET Core main advantage is that it can run on Windows, Linux, and even OSX. In the early days, we had one $5 Linux server ( thanks to Linode ) and scaled to a more professional platform as usage grew over time.

Modularity and performance:

With .NET Core at first, you got the minimum components required. That lets us put in all and only the necessary parts we need. Plus it performs better than ASP .NET 4 which means it is way better than good enough for our Web API to serve the frontend and other parts of the application rapidly.

Developer experience:

It is just awesome that you can run and debug a .NET application on any machine you prefer. Even act like hipsters in a cafe or a bar with a MacBook.


Why MySQL?

MySQL works together perfectly with Entity Framework in our .NET Core backend. It required minimal configuration in the beginning. Also, it scales well proven by some big players in the software industry.