Skip to content

Simplicity

I’m a simple man. I love simplicity.

And I hate when things get so complicated it hurts my mind.

Building Web Applications doesn’t need to be complicated, in most cases.

Unless you’re creating something really complicated by design.

Otherwise, introducing complexity is entirely your choice.

But developers like complexity. Introducing complexity even when it’s not needed. Maybe not needed yet, maybe to prepare an app for a future that will never exist.

Sometimes decisions are taken unconsciously, for fear of looking dumb:

Peer pressure is the ultimate evil. New developers are especially prone to thinking “seniors” will make fun of them for picking some tech stack that doesn’t look complex:

How many times I’ve heard “this tech stack will scale” for an app that ended up never seeing the light of the day because you abandoned it after working on it for 3 months and then you lost the initial enthusiasm?

Or, building a SaaS on top of an overly complicated stack only to be stuck with 2 paying customers at $4.99/m?

If only the app stack complexity was directly correlated with the number of customers we’d get, we’d all be millionaires. But instead, it has nothing to do with it.

People use our app because they need it. If you happen to build something people need, and you are able to find customers in a way that’s sustainable, you’ll have success.

This has nothing to do with the app complexity.

Actually, it’s the opposite.

Building an app with simple technology lets you ship faster.

Shipping faster means you can get the app faster to market, test more ideas, see what works and what doesn’t.

And if something gets traction, you can work on it more.

In the context of Web Applications, these days most Web Developers are inevitably pushed towards using a SPA framework like React, Vue, Svelte, or “enter your favorite client-side framework”.

For the past 11 years I’ve been all-in on the JavaScript SPA (Single Page Application) approach, as the vast majority of frontend developers.

Don’t get me wrong: I love using an client-side rendering library like React or Svelte. It’s an interesting challenge and you can do cool stuff with it.

I mean, that’s all I’ve been doing for a decade or so. If it wasn’t fun, or useful, I would be doing something else. I started with Ember, then got into React, Vue, used Svelte, tried a lot of alternatives too over time.

But lately, I’ve been trying a new, different approach, I found it was much much simpler than what the vast majority of people talk about out there, and I decided to write about it because you might find it cool.