I get this question a lot: "why aren't you using React for this?" And honestly, for a good chunk of what I build, I just... don't need it.
Take Vestro Trade, the trading platform I built — client dashboard, admin panel, live BTC charts, realtime deposit approvals, the whole thing. No React. No Vue. Just HTML, CSS, and JavaScript, talking to Supabase. People assume that means it's simpler or less "real" than a framework-based app. It's not. It's just more direct.
Here's the thing nobody tells you when you're learning to code: frameworks solve a specific problem — managing complex, deeply nested state across dozens of components that all need to talk to each other. Most projects I take on don't have that problem. A dashboard with a few dynamic sections, a landing page, an admin panel with some forms and tables — that's not React's problem to solve. It's just JavaScript's problem, and JavaScript is honestly pretty good at it now.
The other thing — and this one's more personal — is that I got tired of debugging build tools instead of debugging my actual app. I've lost hours to webpack configs, dependency conflicts, "it works on my machine" nonsense that has nothing to do with the feature I was trying to ship. With vanilla JS, I write code, refresh the browser, and I'm looking at the actual bug, not a build pipeline issue standing in front of it.
There's also a selfish reason: when I'm debugging someone else's messy code — and freelance work means you inherit messy code constantly — understanding the DOM and events directly makes it so much easier to figure out what's actually happening, instead of trying to reverse-engineer whatever pattern the last dev decided to use.
I want to be clear though — I'm not anti-framework. If a project genuinely needs heavy state management, or there's a team that benefits from shared conventions, I'll reach for React without hesitation. It's a tool, not a religion.
But I think a lot of developers reach for a framework out of habit before they've actually asked if the project needs one. And most of the time, when I actually stop and ask that question honestly, the answer is no
Top comments (0)