Why I Switched Back from SolidJS to React in the Gen‑AI Era
Revised 2026-08-16 — rewritten for clarity. The argument is unchanged from the original.
Around 2020—before SolidJS even reached 1.0—it felt like the future.
It was fast, elegant, reactive in the right way, and refreshingly simple compared to modern React’s ever-growing surface area. I used it happily for real products.
And yet—today—I’m switching back to React. Not because SolidJS failed, but because the world around it changed.
SolidJS is still the better framework
None of what follows is a complaint about Solid. It’s fast, it’s predictable, and fine-grained reactivity is genuinely closer to how most of us wish React worked. Solid code reads like something a person wrote by hand: few abstractions, direct data flow, very little magic, almost no indirection. If you’re working alone, or on a small team that isn’t changing, it’s still a great choice.
So the reason I left has nothing to do with the framework itself.
What changed is how code gets written
By 2026, a large share of the UI code I touch was generated by a model, or refactored by one, or extended by one, or explained back to me by one. That shifts what a framework needs to be good at.
Handwritten code rewards elegance, minimalism, personal taste, and the understanding that comes from having typed every line yourself. Generated code rewards none of those. It rewards familiar patterns, a huge training corpus, conventions that survive being copied out of context, and ecosystem gravity. React wins that comparison, and it isn’t close.
React is the common language of the models
Models have seen millions of React components and years of React examples, and they’ve internalized idiomatic React deeply. Ask for a chat UI, streaming tokens, an auth integration, a dashboard, or a state refactor, and the assumption underneath the answer is almost always React.
With Solid, the same requests go differently. The model invents APIs that don’t exist, reaches for React patterns that don’t apply, and needs correcting by hand. You end up teaching it Solid again in every session, because nothing you taught it last time carried over. Individually these are small costs. They compound.
Ecosystem gravity beats framework purity
Velocity in this era comes from composition rather than purity. React has better AI SDK examples, more UI kits, more chat and streaming and agent demos, and tighter integration with the meta-frameworks people actually deploy. Even granting that Solid is the cleaner design, React is easier to glue things together with, easier to hand to a collaborator, and easier to debug with a model looking over your shoulder. The ecosystem isn’t just bigger—it’s where the momentum is.
”Maintainable” now means something different
Maintainability used to mean clean abstractions, few dependencies, and a small number of concepts to hold in your head. It still means that. But it now also means a model can read the code, change it safely, and extend it without quietly breaking something two files away.
React code, even at its most verbose, tends to be explicit and pattern-based, which is exactly what makes it easy to reason about mechanically. Solid code is elegant, and elegance usually means clever—and clever is where models trained on React-first assumptions get things wrong.
The boring part: other people
This is the least interesting argument and probably the decisive one. If you work with contractors, onboard new engineers, share snippets, or expect anyone else to modify your UI, React is simply safer. Not because it’s better, but because it’s familiar.
AI magnifies that effect. New contributors lean on model explanations to get oriented, those explanations are best for React, and so React becomes the path of least resistance for everyone downstream of you.
Control versus leverage
Solid gives you more control, more precision, and frankly more satisfaction as an engineer. React gives you more leverage, more compatibility, and more acceleration from the tooling. Those two have always traded off against each other. What changed is the exchange rate: leverage buys more now than it used to.
My current rule of thumb
- Existing SolidJS apps? Keep them.
- Solo, high-performance UI? SolidJS is still great.
- AI-heavy UI, agent consoles, dashboards? React.
- Teams plus AI plus velocity? React, without much hesitation.
This isn’t a rejection of SolidJS. It’s an acknowledgment of the environment we’re building in.
The irony
Solid usually represents the better engineering. React represents the better alignment—with the tooling, with the ecosystem, with how collaboration actually works now. In a world where code is increasingly co-written with machines, the framework that wins isn’t the most elegant one. It’s the one that’s most legible to humans and models at the same time.
Framework choice used to be a question about what I enjoy writing. Now it’s also a question about what I can get help writing, debugging, and evolving fastest. Right now that answer is React, and that’s why I switched back.