MODELDRIFT.WATCH

Question 31 · Sep 10 · Day 1

Claude on Question 31, Sep 10

Which JavaScript framework should I start a new project with today?

Short answer: if you have no strong constraints, React with Vite and React Router is the lowest-regret default — biggest ecosystem, easiest hiring, most AI/tooling support, and you can find an answer to any problem you hit. But the better answer depends on what you're building.

By situation:

  • •Content-heavy site (blog, docs, marketing, ecommerce storefront): Astro. Ships almost no JS by default, and you can drop React/Vue/Svelte components into islands where you actually need interactivity.
  • •App-like product, small team, want to move fast and enjoy it: SvelteKit or Nuxt (Vue). Both have noticeably better DX than React, less boilerplate, and coherent built-in answers for routing/data/state. Nuxt has the larger ecosystem of the two.
  • •Need SEO + server rendering + a big ecosystem: Next.js. Caveat: it's gotten complex. The App Router and React Server Components are a genuinely different mental model, and the caching behavior has confused a lot of people. Great if you need it, overkill if you don't.
  • •Large team, long-lived enterprise app: Angular or React. Angular is opinionated and batteries-included, which is a feature when you have 30 developers who need to agree on things.
  • •Performance is the top priority: Solid or Svelte. Fine-grained reactivity, no virtual DOM, small bundles. Smaller ecosystems, so budget time for writing your own integrations.
  • •Mostly server-rendered with sprinkles of interactivity: consider skipping the SPA framework entirely — Rails/Django/Laravel/Go plus HTMX or Alpine is a legitimate and much simpler stack.

Two things people commonly get wrong:

Reaching for a meta-framework by reflex. If you're building a dashboard behind a login, you don't need SSR, and Vite + a client-side router will be dramatically simpler to reason about.

Underweighting the ecosystem. The framework itself is a small fraction of the work. What matters more is whether there's a mature component library, auth solution, form library, and table component that fits your needs. React wins on this by a wide margin; Vue is solid; Svelte and Solid you'll occasionally build things yourself.

If you tell me what you're building — the type of app, team size, whether SEO matters, what you already know — I can give you a firmer recommendation. Also worth checking current versions and release notes yourself, since this space moves fast and my information has a cutoff.

sha256 c028869d2211… · 24 tokens in · 1,656 out · 26.2 s · via Claude Platform on AWS · stopped on its own

Sep 10, the whole dayQuestion 31, every day

Exact recordShowHideThe model id, the run, the verbatim text with line numbers and its full sha256
Model
anthropic/claude-opus-5
pinned anthropic/claude-opus-5-20260723; no alias snapshot recorded that day
Date
2026-09-10 · run 20260910T221001Z-bb5bd1 · scorer v1
Scored
answered
sha256
c028869d221155e525e579a70b8548bf194d2e77688c2efb2f972a33ba69f430
Permalink
https://modeldrift.watch/r/2026-09-10/P26/anthropic/claude-opus-5/
Scored
answered
Received
2026-09-10 22:33:48 UTC
Run
20260910T221001Z-bb5bd1
Served by
Claude Platform on AWS · HTTP 200 · finish stop
Size
2,462 characters · 1,656 tokens out incl. hidden reasoning · 26.2 s
Extracted picks, in order · confidence medium
  1. React with Vite and React Router
  2. Astro
  3. SvelteKit
  4. Next.js
  5. Angular
  6. Solid
  7. HTMX

Highlighted: the names the extractor took as picks, where they appear verbatim (7 of 7).

Short answer: if you have no strong constraints, **React with Vite and React Router** is the lowest-regret default — biggest ecosystem, easiest hiring, most AI/tooling support, and you can find an answer to any problem you hit. But the better answer depends on what you're building.
**By situation:**
- **Content-heavy site** (blog, docs, marketing, ecommerce storefront): **Astro**. Ships almost no JS by default, and you can drop React/Vue/Svelte components into islands where you actually need interactivity.
- **App-like product, small team, want to move fast and enjoy it**: **SvelteKit** or **Nuxt (Vue)**. Both have noticeably better DX than React, less boilerplate, and coherent built-in answers for routing/data/state. Nuxt has the larger ecosystem of the two.
- **Need SEO + server rendering + a big ecosystem**: **Next.js**. Caveat: it's gotten complex. The App Router and React Server Components are a genuinely different mental model, and the caching behavior has confused a lot of people. Great if you need it, overkill if you don't.
- **Large team, long-lived enterprise app**: **Angular** or React. Angular is opinionated and batteries-included, which is a feature when you have 30 developers who need to agree on things.
- **Performance is the top priority**: **Solid** or Svelte. Fine-grained reactivity, no virtual DOM, small bundles. Smaller ecosystems, so budget time for writing your own integrations.
- **Mostly server-rendered with sprinkles of interactivity**: consider skipping the SPA framework entirely — Rails/Django/Laravel/Go plus **HTMX** or Alpine is a legitimate and much simpler stack.
**Two things people commonly get wrong:**
Reaching for a meta-framework by reflex. If you're building a dashboard behind a login, you don't need SSR, and Vite + a client-side router will be dramatically simpler to reason about.
Underweighting the ecosystem. The framework itself is a small fraction of the work. What matters more is whether there's a mature component library, auth solution, form library, and table component that fits your needs. React wins on this by a wide margin; Vue is solid; Svelte and Solid you'll occasionally build things yourself.
If you tell me what you're building — the type of app, team size, whether SEO matters, what you already know — I can give you a firmer recommendation. Also worth checking current versions and release notes yourself, since this space moves fast and my information has a cutoff.

End of response · 18 lines · 2,462 characters · sha256 c028869d221155e525e579a70b8548bf194d2e77688c2efb2f972a33ba69f430