Day 847 - Going stackless for your tech stack - https://golifelog.com/posts/going-stackless-for-your-tech-stack-1682586064576

I saw this funny meme yesterday but saw the seed of wisdom in there.

![](https://pbs.twimg.com/media/FuingM9WIAAXUE5?format=jpg&name=medium)

I was all in on Vue.js and Nuxt.js back when I got serious on coding. With Nuxt I got to make this very app I'm writing on. I love being able to build SaaS on frontend frameworks. I thought I can write less code, use battle-tested code that others used, and not need to reinvent the wheel all the time. I assumed with the added abstraction, I can ship fast.

But 3 years in, I'm feeling the burden. What I thought initially were the savings on time/effort were simply offloaded elsewhere. Less code to write but more tooling to install, more dependencies and points of failure, packages to maintain, configs to set, less cross-platform, transferrable code etc... To be honest, I'm tired of the convoluted and bloated ways to build software. Same reasons why I no longer use Wordpress. A lot of the performance and optimization benefits seems more geared towards enterprise teams, not a solo dev like me.

The funny flipside is, I'm rather enjoying using just plain vanilla Javascript now. I've been building Carrd plugins in plain JS, and because they need to be standalone in 1 code block, I'm essentially making a lot of single `index.html` micro-apps. And with just the holy trinity of plain HTML, CSS and Javascipt (and the occasional CDN script or nocode tool), it's been so much fun. Zero build. No fuss whatsoever.

People say you should just use the tech you know best. I'm actually more familiar with Vue/Nuxt, but recently building more in plain vanilla Javascript and surprisingly enjoyed it more even though less familiar. So contemplating if possible to switch.

*Is it possible to build a modern SaaS these days on just plain vanilla JS?*

I asked this [question on Twitter](https://twitter.com/jasonleowsg/status/1651164219646025728), and got some good examples from the indie hackers I follow:

- [Zlappo](https://zlappo.com/)
- [Closet Tools](https://closet.tools/)
- [MentorCruise](https://mentorcruise.com/)

Most of them end up creating their own resuable components, some rudimentary form of a framework. And with [browser-native web components](https://gomakethings.com/how-to-create-a-web-component-with-vanilla-js/), you now can do that.

I also learned about ["the stackless way"](https://tutorials.yax.com/articles/build-websites-the-yax-way/quicktakes/what-is-the-yax-way.html). It sounds really interesting, and checks off all the boxes!

> Build websites without frameworks or build tools:
>
> - use custom elements (for modular HTML without frameworks)
> - use the in-browser package manager (for JavaScript packages without build tools)
> - match pages with files (to avoid routing and simplify architecture)
> - stick to standards (to avoid obsolescence and framework fatigue)

Maybe my next tech stack could be:

Frontend: Plain vanilla Javascript
Style: Plain CSS
Backend: Headless CMS like Strapi/Contentful or a nocode API generator for
Database: SQL/PostgresQL

*What do you think?* πŸ€”
Jason Leow Author

Ooh whats nested css?

0 Likes
Linky IO

https://developer.chrome.com/articles/css-nesting/

0 Likes
Jason Leow Author

Coool! Coincidentally I was just looking at how to nest @import in LESS. Couldnt figure out.

0 Likes
Linky IO

Vanilla / Plain CSS is my favs :) It's not going anywhere so long as there is web. It slowly gets better. Nested CSS arrived native recently.

0 Likes
Linky IO

.nesting > .is > .awesome { color: deeppink; } can now be…

0 Likes
Linky IO

.nesting { > .is { > .awesome { color: deeppink; } } }

0 Likes

Please sign in to leave a comment.