Frontend Framework
Pick the full-stack framework your web app lives in — routing, data loading, server code and rendering — on top of a UI library.
The real choice
Which full-stack framework, and so which UI library under it. The React frameworks (Next.js, React Router, TanStack Start) get the largest pool of components, examples and AI-agent familiarity; SvelteKit and Nuxt trade that for Svelte's or Vue's style; Astro is content-first and ships almost no JavaScript, but isn't built for app-heavy screens. A bare UI library on Vite is still enough for a single-page app behind a login.
Pick by situation
Tap the ones that are you — the tools that fit light up below.- Your app lives behind a login and doesn't need search traffic
React - Public pages need server rendering and you want server code in the same React project
Next.js
React Router
TanStack Start - You already know Vue, or Svelte, and need server rendering
Nuxt
SvelteKit - You're building a marketing site, docs or a blog
Astro
The contenders
Grouped by the side of the choice they answer, not ranked. Open a row for when to use it, the trade-off and what makers say.
Reactlibrary · open source · free tierSingle-page apps built from React components, with the largest ecosystem of component libraries, examples and AI-generated code.
200+1193 open source155.8M/wk+2% vs npm
Use it whenYour app lives behind a login and doesn't need server rendering, or you want to pick routing and data libraries yourself.
Trade-offOn its own it has no routing, data loading or server rendering; you assemble those from separate libraries or move to a React framework.
llms.txtUsed by 3D AI Studio, AI Search, AidaJet, Airial Travel, Aritect and 195 more · in 1193 open-source projects.
Powers our frontend. It made building an intuitive and fast interface so much easier, and its huge ecosystem gave us the confidence to experiment without worrying about running into walls.
Next.jsframework · open source · free tierReact apps that want server rendering, API routes and the largest set of examples, templates and SaaS starters.
1510+302 open source52M/wk+7% vs npm
Use it whenYou want the most tutorials and boilerplates to lean on.
Trade-offServer components and caching rules add concepts to learn, and some features work most smoothly on Vercel.
llms.txtCLIUsed by 1752vc Pitch Deck Analyzer, 21st, AgentCenter for OpenClaw, AINave, AiTerm and 1505 more · in 302 open-source projects.
Next.js powers the imejis.io website, dashboard and the visual editor. One framework for marketing pages, the app and API routes keeps our stack small enough for two people to run.
React Routerframework · open source · free tierReact apps built around web standards — loaders, actions and forms — in the lineage of Remix.377 open source50.1M/wk−26% vs npm
Use it whenYou like explicit data loading per route and want to deploy on any Node or edge host.
Trade-offSmaller ecosystem of starters than Next.js, and the project has changed names and APIs over its history.
No maker's product we track shows it for this yet · in 377 open-source projects.
TanStack Startframework · open source · free tierType-safe routing and server functions for React or Solid, built on TanStack Router.42 open source16.8M/wk81.3× vs npm*
Nuxtframework · open source · free tierVue apps, with a large module ecosystem for auth, content, images and SEO.

30+41 open source1.9M/wk−44% vs npm
Use it whenYou already know Vue.
Trade-offSmaller ecosystem and fewer AI-generated examples than React.
llms.txtCLIUsed by Almeta ML, Alpaca Chat, Bocca, CalendarPlusAi, Chat Thing and 25 more · in 41 open-source projects.
Powers octrafic.com. I needed a landing page that's fast, SEO-friendly, and looks professional - Nuxt delivered all three with minimal setup. From zero to production in a weekend.
SvelteKitframework · open source · free tierApps written in Svelte, with less boilerplate and small client bundles.66 open source2.5M/wk+13% vs npm
Astroframework · open source · free tierMarketing sites, docs and blogs that ship minimal JavaScript, with interactive islands from any UI library.


212+63 open source4.6M/wk+87% vs npm
Use it whenMost pages are content and only a few parts need to be interactive.
Trade-offNot designed for app-like dashboards with lots of client-side state.
CLIUsed by Aritect, ASO, Baselight, Bolt, Chime and 207 more · in 63 open-source projects.
looked at next.js first but it felt overkill for a marketing site. astro ships zero js by default so the page stays fast without us doing anything. content-driven stuff is its sweet spot.
Who switches to what
Public pull requests on GitHub since Oct 2024 whose title says "X to Y" — real code changes, by developers in general rather than makers only. Pick a flow to see its pull requests.
- Migrate from Next.js 14 to Astro 7TetraspaceW/infinite-todo-list · 2026-10-02
- feat: move from Next.js to Astrojoshuaellis/joshellis-site · 2026-10-01
- Migrate portfolio from Next.js to Astro and redesignVarithPheng/portfolio · 2026-09-28
- Migrate site from Next.js + Nextra to Astro 7victor-foster/victorsfoster.dev · 2026-09-28
- Migrate Next.js to Astroluicho9/joseluisflores · 2026-09-27
- Migrate from Next.js to Astronicholasdevries/nicholasdevries.github.io · 2026-09-25
- Migration from Next.js to Astroiamzoka/madebyzoka · 2026-09-25
- Migrate site from Next.js to Astroiamzoka/madebyzoka · 2026-09-25
- Move the study desk from Next.js to Astro islandsjondmarien/cert-study · 2026-09-22
- Redesign personal portfolio and migrate from Next.js to Astrodevalnor/maxime.io · 2026-09-16
- Migrate from React + Vite to Astro static siteCTJ425/script-docs · 2026-10-02
- Migrate site from React to Astro for performancemini-artemis/Web-Veterinaria · 2026-09-30
- build: migrate from Vite + React to AstroOpen-Sourcery-UMD/umdcoffee · 2026-09-29
- Move the site from React to Astrothedhanawada/me-plus · 2026-09-27
- Remove React, migrate to Astro components, improve a11yFueRobertHer/astro-portfolio · 2026-09-25
- Docs: scope the move from the React SPA to AstroUnderstory-Collaborative/understory-collab · 2026-09-22
- feat: migrate site from React + Vite to Astro with Cloudflare Pages a…Jivaansh-Yadav/icse-resources · 2026-09-19
- Rework: Migrate from React SPA to static Astro siteUser420-bit/Website · 2026-09-14
- Migrate portfolio from React SPA to Astroheidenreich20/Portfolio-2026 · 2026-09-06
- perf: convert presentational React islands back to Astromarco-rossoconsulting/astia-web · 2026-09-04
- Migrate from Next.js to TanStack Start with multi-language supportccallsinc-boop/aaaaaaaaa · 2026-10-01
- Move frontends from Next.js to TanStack Start + Query, with e2e tests and CImonish8805/carepulse · 2026-09-30
- Migrate from Next.js to TanStack Start and switch to pnpmkelvinguchu/astraque_softwares · 2026-09-22
- Migrate from Next.js to TanStack Startturbostarter/loading-ui · 2026-09-16
- feat(app): migrate from Next.js to TanStack StartNiftyLeague/nifty-fe-monorepo · 2026-09-11
- content: add post on migrating from Next.js to TanStack Startkulcsarrudolf/kulcsarrudolf.com · 2026-09-09
- refactor: migrate from Next.js to TanStack Startkulcsarrudolf/kulcsarrudolf.com · 2026-09-09
- feat!: Move from Next.js to Tanstack StartaXenDeveloper/vitnode · 2026-08-31
- migrated web app from next.js to tanstack starttashifkhan/BingeBeacon · 2026-08-20
- feat: migrate from Next.js to TanStack Starthaneulcha/haneulchadotcom · 2026-08-18
- Migrate from Vite + React to Next.js with bilingual catalogsaraitmanar/FlashElectronicsWebsite · 2026-10-02
- Migrate from Create React App to a Next.js static exportFremen1990/react-portfolio-devthomas · 2026-09-30
- Upgrade React.dev to Next.js 15.5.26devjiwonchoi/next-agent-upgrade-dogfood · 2026-09-28
- Migrate React project to Next.jsfiqriachmada/fe-my-indekos · 2026-09-27
- Refactor: Migrate from React Native to Next.js web appRocmaDL/DebtTracker · 2026-09-27
- feat: migrate portfolio from Vite + React Router to Next.js 16CodesofAkash/Personal-Portfolio · 2026-09-27
- Migrate from Vite/React to Next.js with TypeScriptkunospw/deesprofesionalportfolio · 2026-09-26
- Migrate from Vite/React to Next.js and restructure projectvovineb/Queensy-BnB · 2026-09-25
- Migrate from Create React App to Next.js 16edboaden/chessdailypuzzle · 2026-09-23
- Migrate frontend from React to Next.js App Routernaveensnsgroups/Todo_Mern · 2026-09-23
- feat: migrate portfolio from Vite + React Router to Next.js 16CodesofAkash/Personal-Portfolio · 2026-09-27
- Migrate from Vite + React Router to Next.js App Routerchathurrsan-aram/aramrecruitment · 2026-09-06
- refactor!: migrate React Router SPA to Next.js App Router (public site + admin CMS unified, src/pages -> src/features, localStorage repo unchanged)tenSunFree/travel-audio-guide-nextjs · 2026-08-03
- Migrate from React Router to Next.js App Routerkebo3868-dev/Winnersbookmark-Incorporated- · 2026-07-11
- feat: Migrate frontend from Vite/React Router to Next.js App Routeriamdevlucas123/Quantum_Ed · 2026-07-06
- chore: migrate from Vite/React Router SPA to Next.js 16 App Routernicolasnunescampos-code/native-english-dashboard · 2026-07-02
- Migrate from Vite/React Router SPA to Next.js 15 App Routerdczii/Tyme · 2026-06-25
- Migrate from React Router + Vite to Next.js App RouterAkshatg102002/Optimantix-Global-Next · 2026-06-24
- feat: Migrate frontend from Vite/React Router to Next.js 16 + TypeScr…rashaduldev/Tourist-Guide-Client · 2026-06-13
- Migrate from Vite/React Router to Next.js with Supabase backendjasperkoningnl/vakantie · 2026-06-04
- Convert website from Astro to Next.js (App Router)digigrow100/The-Road-Rescue-Guys · 2026-09-15
- Migrate from Astro to Next.js 16 with App Routert-aize/portfolio · 2026-09-08
- Migrate docs-site from Astro Starlight to Fumadocs on Next.jsyeager-j/pdx-ts-sdk · 2026-08-20
- Migrate site from Astro to Next.js and publish Creator Bundle.axce-022/ShiftedInteriors · 2026-08-10
- Migrate from Astro to Next.js (App Router) + Reactluisgraterol/vinclorealestate.com · 2026-07-24
- Migrate site from Astro to Next.js App Routerdylanfernandezdelara/dylanfdl_website · 2026-07-21
- Migrate the Personal Site from Astro to Next.jsmarco-machado/marcomachado-dev · 2026-07-18
- feat: port gurukul from Astro to Next.js App Routerdevalok-design/gurukul · 2026-07-12
- Migrate marketing site (apps/web) from Astro to Next.jsletmepost/letmepost.dev · 2026-07-07
- Migrate Astro site to Next.js 15 App RouterLetMeHelpYouREALTY/sunstonelasvegashomes.com · 2026-07-06
- refactor: :recycle: Migrate from Next.js to Vite with React Routeralessioforte/beehive · 2026-09-17
- Migrate from Next.js to React Router with Cloudflare Workerszackdotcomputer/my-homepage · 2026-09-12
- Migrate the marketplace from Next.js to React Router 7.matthewhill8286/NextBazar-Marketplace · 2026-08-20
- 🏗️(front) migrate the frontend from Next.js to Vite and React Routersuitenumerique/conversations · 2026-08-11
- Migrate documentation site from Next.js to React Router and Vitetaskmigo/docs · 2026-08-06
- Migrate from Next.js to Vite with React Routerpeempumrapee/peempumrapee.github.io · 2026-04-22
- Migrate stats-web from Next.js to Vite with React Routerakash-network/console · 2026-02-20
- Migrate `@workflow/web` from Next.js to React Router v7vercel/workflow · 2026-02-11
- refactor: Migrate frontend from Next.js App Router to Vite and React Router.shivajee98/open-score-frontend · 2026-02-07
- Migrate app from Next.js App Router to React Router SSRpingdotgg/lawn · 2026-02-03
- feat(web): migrate frontend from Next.js to SvelteKit 2 (Svelte 5)deus-meus/padelhive · 2026-08-29
- feat: Migrate blog from Next.js 16 to SvelteKit 2 (Svelte 5 + Tailwind CSS + Bits UI)jaeyoung0509/jaeyoung0509.github.io · 2026-08-16
- Migrate from Next.js to SvelteKittiennm99/loldle · 2026-07-25
- Converts site from Next.js to SvelteKitmanovotny/manovotny.com · 2026-07-24
- feat: Migrate entire portfolio from Next.js to SvelteKitaquinofroilan/aquinofroilan · 2026-07-17
- Migrate site from Next.js to SvelteKitKentokamoto/kentokamoto.github.io · 2026-07-10
- Migrate frontend from Next.js to SvelteKit + BunJeffreyyvdb/MusicHoarder · 2026-05-19
- feat: migrate from Next.js to SvelteKit + Svelte 5jscastanos/jscastanos-dev · 2026-05-19
- chore: migrate frontend from Next.js to SvelteKitshamwari-ai/shamwari · 2026-05-05
- Convert site from Next.js to SvelteKitifireball/reading-list · 2026-04-27
Before you choose
Pick the UI library you already know, then decide whether you need a framework around it. A dashboard or tool behind a login that doesn't need search traffic can be a UI library on Vite plus a separate API. Reach for a full-stack framework when public pages need server rendering or you want server code in the same project. For a marketing site or blog, use a content-first framework and keep the app separate if needed. Don't switch frameworks mid-build for performance — at solo scale, it is rarely the bottleneck.
- Server-rendering a dashboard behind a login that no search engine will ever see, adding server cost and complexity for nothing.
- Building the marketing site and blog inside the logged-in app, so every landing-page tweak goes through the app's build and deploy.
- Picking a less common framework and then finding that component libraries, auth SDKs and AI-generated code mostly assume React.
Other options
Real choices most makers here won't need to weigh.
Decided alongside
What the 1,785 makers' products here chose for their other decisions.