Claude on Question 31, Oct 1
Which JavaScript framework should I start a new project with today?Short answer: if you have no strong constraints, React with a meta-framework is the safest default — biggest ecosystem, most hiring and tutorial mass, and the thing most tooling assumes. But the honest answer depends on what you're building, and for several common cases I'd pick something else.
By project type:
- •Content-heavy site (blog, docs, marketing): Astro. Ships almost no JS by default, and you can drop in React/Svelte components for the interactive bits.
- •Internal tool / dashboard / app behind a login: Vite + React (or Vue/Svelte) as a plain SPA, with TanStack Query and TanStack Router. You don't need SSR, and skipping it removes a lot of complexity.
- •Full-stack product needing SEO, auth, and data loading: Next.js, Nuxt (Vue), or SvelteKit. All three are good. Next has the largest ecosystem but also the most churn and the steepest conceptual load right now with Server Components. SvelteKit and Nuxt are noticeably more pleasant for small teams.
- •You'll also need a mobile app: React + Expo/React Native. Code sharing is imperfect, but skill sharing is real.
- •Large enterprise team, 5+ year lifespan, lots of turnover: Angular is a defensible choice. Batteries included, strong conventions, less bikeshedding. Or React with aggressively enforced conventions.
- •Your backend is Rails/Django/Laravel/Phoenix and the app is mostly CRUD: consider not adopting a JS framework at all. Server-rendered HTML plus Hotwire/LiveView/HTMX is less machinery for the same result.
A couple of opinions worth flagging as opinions: React Server Components are powerful but genuinely add complexity, and plenty of experienced people think the current tradeoff isn't worth it for small-to-mid projects. If that worries you, React Router (v7) or TanStack Start give you React with less magic. And Svelte is the one I'd most often recommend for a small team shipping fast, with the real caveat that the ecosystem and hiring pool are much smaller.
What matters more than the choice: use TypeScript, use Vite (or whatever your framework wraps it in), follow your framework's conventions instead of inventing architecture, and don't add state management, a component library, and an ORM abstraction before you have a working page.
One caveat: this space moves fast and my information has a cutoff, so check current release status before committing — particularly for anything on a major version boundary.
If you tell me what you're building, team size, and whether SEO matters, I can narrow it to one.
Exact recordShowHideThe model id, the run, the verbatim text with line numbers and its full sha256
- Scored
- answered
- Received
- 2026-10-01 09:22:55 UTC
- Run
- 20261001T090007Z-857bc9
- Served by
- Claude Platform on AWS · HTTP 200 · finish stop
- Size
- 2,575 characters · 2,067 tokens out incl. hidden reasoning · 29.3 s
- Astro
- Vite + React
- Next.js
- React + Expo/React Native
- Angular
Highlighted: the names the extractor took as picks, where they appear verbatim (5 of 5).
End of response · 18 lines · 2,575 characters · sha256 6a967b985a3ac68a02eb93ee0bff53d195c7ce6c0b6f808e1db610e78132a41a