Why the MERN Stack makes sense for SaaS
Matthew Serel on July 14, 2020 - Tech

Hi All!

Today I'll discuss why after building my last SaaS startup using .NET technologies, I decided to switch tech stacks and leverage MERN (MongoDB, Express.js, React.js, Node.js) for my SaaS Boilerplate and Starter.

The initial reason I started looking into MERN stack for my boilerplate and outside of the .NET ecosystem was that I was frustrated with the cost of being tied to Microsoft Licensing

The first three years of my startup, I was able to take advantage of Microsoft for Startups (BizSpark), which at the time gave you all their software for free for three years. However, once we got to scale, and three years had passed, I found myself spending hundreds of thousands of dollars a year on server and database costs! I could have easily saved 50% by using different technology stack.

Now, I know this is a little different now with .NET Core, but that leads me to my second reason for moving to MERN stack.

.NET Developers are Harder to Find and Less Efficient than MERN Stack (JavaScript) Developers

In my last startup I really struggled with finding solid .NET developers and those I did find really weren't practiced in Full Stack. Engineers love to be learning the newest and greatest tech, besides the fact that is fun, it is how they stay in demand. As a scrappy startup it is important for your team to be able to play multiple roles. Having one language (Javascript) for the entire platform will allow you to be more efficient with your hires. They may cost more dollar for dollar, but you'll get a lot more out of them.

MERN Allows you to Build Fast and Scale Fast

This is one of the things I love most about MERN stack. Each of the components (Mongo, Express, React, Node) have extremely vibrant developer communities, open source packages, and plenty of content to keep your team moving fast.

MongoDB speaks the language of Javascript (JSON) making passing data between your database, Node/Express API, and React Frontend a breeze.

Express.js APIs are a breeze, layer it with Passport.js for authentication, and JSON Web Token (JWT) and you have a fully functioning, extensible, authentication system with accepted design patterns.

React.js, being a library and not a Framework like Angular, gives you all the power of a modern frontend framework, with the flexibility to layer on only what you really need all with the support of Facebook. MERNKit was built using Material-UI to provide consistent design and hundreds of reusable components and theming flexibility.

Node.js, Using Javascript Node allows you to develop backend applications too! In addition, Node is easily containerized and deployed, allowing you to setup environments that auto-scale with demand. For example, MERNKit's Node backend is hosted using Elastic Beanstalk on AWS. Node is single threaded and excels in high I/O environments, but in the event you need multiple threads you can now do that with Node too - Node Worker Threads!

The best part is, your team only needs to learn one language - JavaScript.

That about sums up why I decided to build my MERNKit and my next SaaS startup using the MERN stack and MERNKit as its base!

Made with Landly