August 4, 2026
Framework Fight Club
You don't need React: creating a minimal UI library in Vanilla JavaScript
Dev says skip React, commenters instantly say: absolutely not
TLDR: The article argues you can copy some of React’s biggest ideas using plain JavaScript and a tiny homemade library. But the comments stole the show, with many readers saying the demo actually proves why big, popular tools are still worth using.
A programmer rolled into the internet’s town square with a bold claim: you can build modern web page tools without React, the hugely popular software kit used by many sites and apps. The article tries to prove it by rebuilding React-style ideas with plain old JavaScript — basically, showing that your screen can update from your app’s data, without dragging in a giant extra toolbox. On paper, it’s a neat back-to-basics experiment. In the comments, though? Total bloodbath.
The loudest reaction was basically: "Congratulations, you just sold me on React." One reader said that after seeing the tic-tac-toe example, they were “100% convinced” they needed React after all. Ouch. Another commenter went full skeptical-mob mode, asking how a post that casually hand-waved away speed problems even made it to the Hacker News front page. Others argued the tiny library creates bigger, messier app code, which defeats the whole point of trying to stay “simple.” One especially cutting take said if you’re going to attack a popular tool, your replacement has to be better at something besides just not being that tool.
And because this is the internet, the nerd nitpicks arrived right on cue. One commenter pulled the classic "You keep using that word" meme to argue the article was using “immediate mode” wrong. So while the post wanted to celebrate freedom from big frameworks, the crowd turned it into a roast: less “you don’t need React,” more “nice try, now pass me React.”
Key Points
- •The article argues that a React-like UI approach can be recreated with a minimal library in vanilla JavaScript.
- •The proposed design centers on three elements: state-driven UI rendering, HTML-JavaScript composition, and a simple reactive model based on publish-subscribe variables.
- •A rendering example shows UI output generated directly from application state using ordinary control flow such as conditionals and loops.
- •The article identifies full re-rendering on state changes as a potential performance issue but notes that optimization techniques exist.
- •A `DomBuilder` class is introduced to wrap the DOM API and provide composable methods for creating HTML and SVG elements, setting attributes, appending children, and attaching events.