Stacks and Things

Stacks and Things
Nuclear NPM

Sometimes, it comes to my attention that people like to create systems with lots of parts. This is a classic issue in the education of software engineers. This looks like X, and therefore it must be X. This has become especially prevalent due to vibe coding, and the advent of people trying to abstract problems without addressing the underlying issue.

I would argue that this is the wrong way to go about this entirely. Signals are often misleading and unlikely to constitute truth. In a macro scale, they may function as signs of greatness, but on a micro scale, they can and will kill you.

If you're building something, remember, looking official is not required (although it is advised), but being official is required.

Take MVC with Atomic patterns in Next.JS. It is entirely possible to create an incredible, stable, scalable product with a framework like this. It is also possible to create tens of thousands of lines of code (read as, uncapped liability) for something exciting but impractical, say uber for dogs.

This solution isn't inherently bad. In fact, Facebook has clearly used it to scale their platform. But Facebook clearly and intentionally did not start off using react. Limitations around chrome, the V8 engine, and the Dom renderer are not partial to the vast majority of web apps, even venture backed ones.

Larger solutions also create headaches around the fringes of operations, say hydration errors and sifting through boilerplate. Sometimes, boilerplate can literally be more code than your entire application logic. Yeah, there's been a decade of improvement to react, and yeah, Facebook is pretty good at building things. But JavaScript has been battle tested since 1995, and I would argue that Google and Chromium, in which all things HTML live, is objectively better engineered than react.

And with modern advancements, most problems are not present in html on a simple reverse proxy. Packages? Look at skypack. Iconography? Font awesome CDN. JQuery and the all mighty dollar operator? See document.queryselector.

My point is, make things simple. Even if it looks objectively worse, 5 lines is less liability than 500, and Facebook didn't start by shipping frameworks.

Build things, break things, move small fast and light until traction, and call us if your cloud bill is lighting your wallet fire.

Cloud Cuts Team.