Claude named a different first choice for a question about which JavaScript framework to start with.
ClaudeSep 26
Which JavaScript framework should I start a new project with today?Short answer: if you have no strong constraints, React with Vite for an app behind a login, or Next.js if you need SSR/SEO. React remains the safest default because of ecosystem depth, hiring, and the sheer volume of examples…
ClaudeSep 27
Which JavaScript framework should I start a new project with today?…Content-heavy site (blog, docs, marketing, e-commerce storefront): Astro. Ships almost no JS by default, and you can drop in React/Vue/Svelte components as interactive islands where you actually need them.…
Why it’s minor
Which products a model recommends is read out of its answer by the least reliable part of our scorer, so compare the two answers before reading much into this.
The full answers
Each answer as the API returned it, with its Markdown rendered for reading. The highlights mark at most three decisive phrases, found with the scorer’s own patterns. Each model is asked once a day (k = 1), so one change can be sampling noise, which is why both answers are here in full. How scoring works.
Asked verbatim · Question 31
SEP 26beforePermalink
- React with Vite
- Astro
- Next.js
- Angular
- Svelte
Short answer: if you have no strong constraints, React with Vite for an app behind a login, or Next.js if you need SSR/SEO. React remains the safest default because of ecosystem depth, hiring, and the sheer volume of examples (including what AI tools generate well).
But the honest answer depends on what you're building:
Content-heavy site (marketing, blog, docs) → Astro. Ships almost no JS by default, and you can drop in React/Vue/Svelte components where you need interactivity.
Full-stack app needing SSR/SEO → Next.js (React), Nuxt (Vue), or SvelteKit. Next has the biggest ecosystem but also the most complexity — the App Router, Server Components, and caching model take real effort to learn. Nuxt and SvelteKit are noticeably more pleasant if you don't need React specifically.
Internal dashboard / SPA with no SEO needs → Vite + React (or Vue), plus TanStack Query and TanStack Router. This is underrated. Skipping a meta-framework removes a lot of accidental complexity when you don't need server rendering.
Large team, long-lived enterprise project → Angular is a reasonable choice despite the reputation. It's opinionated, batteries-included, and its recent signals-based reactivity is good. Fewer "which library do we pick for X" debates.
Mobile app too → learn React, so you can share concepts with React Native/Expo.
Solo project, you care about DX and bundle size → Svelte. It's genuinely the most enjoyable of the bunch for many people; the tradeoff is a smaller library ecosystem.
Two caveats worth flagging:
- 1.Framework choice matters less than you think. Your data layer, auth, and deployment story will cause more pain than your view library. Don't spend a week deciding.
- 2.My information has a cutoff, and this space moves fast — check current versions and release notes before committing. TanStack Start in particular was maturing quickly and may be worth a look now.
What are you building? If you tell me the type of app, team size, and whether you need SEO, I can give you a more specific recommendation.
SEP 27afterPermalink
- Astro
- Dashboard / SPA with no SEO needs
- Next.js
- SvelteKit
- Angular
- React
- Inertia.js
Short answer: if you have no strong constraints, React with Vite (add React Router if you need routing) or Next.js if you need server rendering. It's the safest default — biggest ecosystem, easiest hiring, most answers when you get stuck. But the "right" pick depends a lot on what you're building:
By use case
- •Content-heavy site (blog, docs, marketing, e-commerce storefront): Astro. Ships almost no JS by default, and you can drop in React/Vue/Svelte components as interactive islands where you actually need them.
- •Dashboard / SPA with no SEO needs: Vite + React (or Vue). Skip the meta-framework — you don't need server components or SSR complexity for an app behind a login.
- •Full-stack app needing SSR, routing, data loading: Next.js, Nuxt (Vue), or SvelteKit. Next has the most resources and hosting support; Nuxt and SvelteKit are generally considered nicer to work with day to day.
- •Best developer experience, small team: SvelteKit or Nuxt. Less boilerplate, less ceremony, genuinely pleasant. Trade-off is a smaller ecosystem and hiring pool.
- •Large enterprise team, long-lived codebase: Angular. Opinionated and batteries-included, which is a feature when 40 people touch the code. It's improved a lot recently (signals, standalone components).
- •Web + native mobile from one codebase: React (via React Native / Expo). This basically decides it for you.
- •Adding interactivity to an existing Rails/Laravel/Django app: don't reach for a SPA framework. Use Inertia.js (with Vue or React), HTMX, or the framework's native tooling (Hotwire/Turbo, Livewire).
The honest meta-answer
Team familiarity beats framework quality almost every time. If you or your team already know one of these well, use that. All the major options are capable of building essentially any app; the differences show up in bundle size and ergonomics, not in what's possible.
The decision that actually matters more than framework choice is your rendering model — static, SSR, SPA, or a mix. Pick that based on SEO and performance needs first, then choose the framework that does it well.
Caveats
- •My knowledge has a cutoff, and this space moves fast. Check current release notes before committing — versions and best practices may have shifted.
- •Avoid picking something very new or niche (Qwik, Solid, etc.) for a project you need to maintain for years unless you specifically want their tradeoffs and can live with a thin ecosystem.
If you tell me what you're building, team size, and whether you need SEO or native mobile, I can narrow this to one recommendation.
Exact recordShowHideEach response verbatim, unrendered, with line numbers and its sha256
Before baseline
2026-09-26 permalink
- Scored
- answered
- Received
- 2026-09-26 09:22:01 UTC
- Run
- 20260926T090007Z-89c0b7
- Served by
- Claude Platform on AWS · HTTP 200 · finish stop
- Size
- 2,110 characters · 1,798 tokens out incl. hidden reasoning · 26.2 s
- React with Vite
- Astro
- Next.js
- Angular
- Svelte
Highlighted: the names the extractor took as picks, where they appear verbatim (5 of 5).
End of response · 22 lines · 2,110 characters · sha256 5c1d6567fd7fc85f7d795403d6915fc366504a54179f2dadef2c26e532348e05
After this run
2026-09-27 permalink
- Scored
- answered
- Received
- 2026-09-27 09:22:31 UTC
- Run
- 20260927T090007Z-7adb14
- Served by
- Claude Platform on AWS · HTTP 200 · finish stop
- Size
- 2,654 characters · 1,850 tokens out incl. hidden reasoning · 27.7 s
- Astro
- Dashboard / SPA with no SEO needs
- Next.js
- SvelteKit
- Angular
- React
- Inertia.js
Highlighted: the names the extractor took as picks, where they appear verbatim (7 of 7).
End of response · 24 lines · 2,654 characters · sha256 b10aa9370f572e61fa432b49fa7ad53f621575dc4d1deb438db735f5f167bd57
Record detailsShowHideModel version, runs, baseline, triage, permalink, event ID
Every morning, what moved on the model you depend on, what it means for you, and what to check.
$9 a month. Cancel any time. The next one tomorrow morning.
Get the daily brief$99 once, for as long as modeldrift.watch runs. The first 100 buyers.
The record stays free. The brief is the reading of it.