Why I Picked Next.js Over Remix, Astro & SvelteKit

A non-tech founder's honest breakdown of the Next.js vs Remix decision — the criteria that mattered, what I weighed, and why Next.js won for Coding Capybaras.

· Justin Boggs

A forked dirt path splitting into two directions through a green Swiss forest

Photo by Beth Macdonald on Unsplash

I picked Next.js over Remix, Astro, and SvelteKit for Coding Capybaras — and the honest reason is not that Next.js is the "best" framework. It's that Next.js was the safest bet for a non-technical founder building on AI coding tools. When you can't personally debug a framework's internals, you optimize for how much help exists when things break: documentation volume, how well Claude and Cursor already know the framework, and how mature the deploy path is. On those axes, Next.js wins decisively for my situation, even though Astro and Svelte score higher on developer satisfaction.

TL;DR

  • I chose Next.js because AI tools know it best, the docs are the deepest, and Vercel's deploy path is the most forgiving — the exact things a non-coder leans on.
  • Remix effectively merged into React Router v7 in late 2024, which reshaped the "Next.js vs Remix" question into "Next.js vs React Router."
  • Astro and SvelteKit lead developer-satisfaction surveys, but satisfaction is a poor proxy for "how fast can a beginner get unstuck."
  • The framework is the one decision you should make boring on purpose. Spend your originality on the product.

Why "Next.js vs Remix" isn't the question it used to be

If you searched "Next.js vs Remix" in 2023, you got a clean rivalry: two React meta-frameworks with different philosophies. That framing broke in late 2024.

The Remix team merged Remix back into React Router. As their announcement put it, "Remix has always been a layer on top of React Router, and that layer has been shrinking over time" — so they eliminated it. React Router v7 now ships a "framework mode" that brings the Remix features (loaders, actions, server rendering, a Vite-based compiler, HMR) directly into React Router. The recommended path for Remix v2 users is to change their imports and move to React Router v7.

For a first-time founder, this is the single most important thing to understand: the thing people used to call "Remix" now mostly lives inside React Router. There's also a separate, ground-up project called Remix 3 that replaces React with a Preact fork — but there's no migration path to it, and it's a different bet entirely.

None of this makes React Router a bad choice. It's a genuinely good framework with a web-standards philosophy I respect. But the naming churn illustrates the risk I was trying to avoid. When the ecosystem reshuffles, every tutorial, Stack Overflow answer, and AI training example written under the old name becomes subtly wrong. As a non-coder, I lean on that corpus constantly. I didn't want to bet my boilerplate on a framework mid-rename.

This is also why I wrote a broader, less personal comparison in Next.js vs Remix vs Astro vs SvelteKit for 2026 — that post is the neutral survey. This one is the biased, first-person decision log.

The criteria I actually weighed

I'm not an engineer. I've built commerce sites and internal tools for businesses I run, but I never came up through software. So my decision criteria are different from what a senior developer would use. A senior dev optimizes for the framework that lets them move fastest. I had to optimize for the framework that lets me plus an AI assistant move fastest — and, more importantly, get unstuck fastest.

Here's how the criteria actually weighted out for me.

Horizontal bar chart showing decision criteria weighted 0 to 10: how well AI tools know the framework scored 10, documentation volume 9, hosting maturity and ecosystem 8 each, long-term stability 7, and raw performance ceiling 4

The top two — how well AI tools already know the framework, and how much documentation and community content exists — were the deciding factors. They're really the same factor viewed two ways. AI coding tools are trained on public code and docs. The framework with the most GitHub repos, the most tutorials, and the most Stack Overflow answers is the framework your AI assistant answers questions about most reliably.

Next.js is that framework. It has by far the largest footprint of any React meta-framework, which means when Claude Code generates a Next.js route or a Cursor completion suggests a data-fetching pattern, it's drawing on an enormous, well-trodden corpus. When I ask "why is this server component throwing," the answer almost always exists somewhere the model has seen.

Raw performance scored a 4 — not because performance doesn't matter, but because at my stage it's not the bottleneck. A SaaS with a few hundred users does not live or die on a 30-kilobyte JavaScript payload difference. It lives or dies on whether I can ship features without breaking billing. I wrote more about this tradeoff in the "boring tech" case for non-tech founders.

Hosting maturity and ecosystem both scored an 8, and they're tied together. A framework doesn't exist in isolation — it comes with a deploy story and a library of things people have already built on top of it. When I need image uploads, background jobs, or full-text search, I want the first Google result and the first AI suggestion to be a Next.js pattern that someone has already shipped to production. Every hour I don't spend inventing a solution is an hour I spend on the product. The ecosystem tax is invisible until you pick a framework that doesn't have one, and then it's the only thing you feel.

Long-term stability scored a 7 rather than a 10 for an honest reason: Next.js itself churns. The App Router migration was disruptive, and Server Components introduced complexity that experienced developers openly resent. But "the market leader occasionally makes you re-learn things" is a milder risk than "the framework got renamed and half the tutorials are now wrong." I took the churn I could see coming over the churn I couldn't.

Where Astro and SvelteKit genuinely beat Next.js

I want to be honest about the tradeoff, because the satisfaction data is not close. In the State of JavaScript 2025 survey, Astro leads the meta-framework category in satisfaction, with a roughly 39-point gap over Next.js. Svelte and SvelteKit consistently top developer-happiness rankings too. Meanwhile Next.js keeps its usage lead but has drawn real criticism as the App Router and Server Components added complexity.

So developers who use Astro and Svelte tend to love them, and developers who use Next.js increasingly grumble. If I were choosing a framework to enjoy writing by hand, I'd think hard about Astro for content-heavy sites and SvelteKit for app-heavy ones.

But "satisfaction" measures something I can't cash in. It measures how much experienced developers enjoy the day-to-day of writing code. I don't write the code by hand — I direct an AI that does. What I need to measure is: when my AI assistant generates something wrong, how quickly can I find the answer? On that axis, the giant, occasionally-annoying framework beats the small, delightful one, because the giant one has ten times the searchable material.

There's a real cost here, and I'll name it: I'm shipping on a framework that its own users complain about, to get a support corpus its users built. That's the trade. For a non-coder, it's the right one. For an experienced Svelte developer, it obviously isn't.

Astro's other genuine edge is static content. If Coding Capybaras were purely a marketing site and blog, Astro would be a strong contender — it ships almost no JavaScript by default and scores near-perfect on Lighthouse. But my boilerplate is an interactive, authenticated app with billing, dashboards, and a marketplace. That's Next.js's home turf.

The "get unstuck" test I ran before committing

I didn't pick Next.js on vibes. Before I committed the boilerplate to a framework, I ran a small, unscientific test that I'd recommend to any non-technical founder facing the same choice.

I took three tasks I knew I'd need — add an authenticated dashboard route, wire a Stripe webhook handler, and protect a page behind a login — and I asked Claude Code to build each one in Next.js, and separately in a Remix/React Router setup. Then I measured the thing that actually matters to me: not how clean the code was, but how many rounds of "that didn't work, try again" it took to get to something running.

Next.js won on round count. Not because the framework is objectively better at those tasks — React Router handles all three cleanly — but because the AI produced working Next.js code on the first or second try more often. When it produced something broken, the error messages matched answers that already existed online, so the fix loop was short. In the Remix/React Router runs, I hit more moments where the AI confidently generated code for the wrong version — mixing Remix v2 patterns with React Router v7 imports, exactly the naming-churn problem I described earlier.

That test crystallized the whole decision. For someone who writes code, framework choice is about the ceiling — what's possible when you're an expert. For someone who directs an AI, it's about the floor — how bad the worst moments get, and how fast you climb out. Next.js has a higher floor for beginners right now, and the floor is where non-technical founders actually live. If you want the mental model for running these loops well, I wrote it up in the vibe coding workflow.

One caveat worth stating plainly: this test reflects mid-2026, not some permanent truth. As React Router v7 content accumulates and AI models retrain on it, the gap narrows. If you're reading this a year from now, re-run the test yourself rather than trusting my result. The method outlasts the answer.

How the framework choice shaped the boilerplate

Picking Next.js wasn't just a technical call — it set the shape of the whole product. The Coding Capybaras boilerplate is Next.js 15 with the App Router, Supabase, Stripe, and Resend. That specific combination exists because Next.js's conventions made the other pieces click into place, and because it's the stack AI assistants handle most confidently end to end. I broke down the full stack rationale in the anatomy of a 2026 indie SaaS stack.

Here's the comparison as I'd summarize it for a first-time founder in mid-2026:

| Criterion | Next.js | React Router 7 (ex-Remix) | Astro | SvelteKit | | --- | --- | --- | --- | --- | | AI-tool familiarity | Excellent | Good | Good | Moderate | | Docs & community volume | Largest | Large | Growing fast | Smaller | | Best fit | Full apps | Full apps | Content sites | Full apps | | Deploy maturity | Vercel-native | Broad | Broad | Broad | | Developer satisfaction | Middling | Good | Highest | Very high | | JS shipped by default | More | More | Least | Little |

The Vercel angle deserves a note. Next.js is made by Vercel, and deploying a Next.js app to Vercel is close to frictionless — connect the repo, set env vars, done. As a non-coder, I did not want to fight a deploy pipeline. That tight integration is a lock-in risk experienced teams rightly weigh, but for a solo founder shipping a first product, "it just deploys" is worth a lot. I covered the hosting side in Vercel vs Netlify vs Railway.

The deeper point: the framework is the foundation you build everything else on, so it's the decision where "exciting" is a liability. I made it boring on purpose and spent my creative energy on the parts of the product that users actually see.

There's also a compounding effect I underrated at first. Every integration guide in the Coding Capybaras marketplace — Sentry, PostHog, Cloudinary, Stripe Connect — assumes Next.js conventions. That's only possible because the framework is stable and widely known enough that a single copy-paste AI prompt reliably produces working code across thousands of downloads. If I'd built on a smaller framework, each of those prompts would be less reliable, because the AI would have less material to draw on for that specific framework. The choice of foundation quietly determined how well every downstream feature could be templated. Picking the popular option wasn't just easier for me — it made the whole product easier to extend for everyone who downloads it.

Frequently asked questions

Is Next.js still the best React framework in 2026?

Next.js is still the most widely used React meta-framework by a wide margin, and it remains the safest default for full-stack apps — especially if you deploy on Vercel or lean on AI coding tools. "Best" depends on your goals: Astro wins for content sites and SvelteKit wins on developer satisfaction, but Next.js wins on ecosystem depth and support material.

Did Remix get discontinued?

Not exactly. Remix v2 still works, but the team merged its core into React Router v7 and recommends new projects start there. A separate project called Remix 3 is being built from scratch on a Preact fork, with no migration path from v2. In practice, "Remix" as most people knew it now lives inside React Router.

Should a non-technical founder choose based on developer satisfaction surveys?

Be careful with satisfaction data. It measures how much experienced developers enjoy writing code by hand, which isn't the same as how easy it is for a beginner to get unstuck. If you're directing an AI rather than writing code yourself, weight documentation volume and AI-tool familiarity higher than satisfaction.

Can I use AI coding tools effectively with Astro or SvelteKit?

Yes — AI tools handle both well, especially Astro. The difference is degree. Next.js has the deepest pool of training data, so AI assistants tend to make fewer mistakes and recover faster when they do. For SvelteKit specifically, verify AI-generated code more carefully, since there's less material for the model to draw on.

Does the framework choice lock me in forever?

Less than you'd think for the app layer, more than you'd think for conventions. Your business logic, database, and payment code are mostly portable. What's harder to move is the muscle memory you and your AI assistant build around a framework's routing and data patterns. That's an argument for picking a widely-supported default and not second-guessing it.

The takeaway

I picked Next.js over Remix, Astro, and SvelteKit because I optimized for the wrong-seeming thing: not the framework I'd enjoy most, but the one that fails most gracefully when I'm stuck at 11pm with an AI assistant and no engineering degree. Deepest docs, best AI-tool familiarity, most forgiving deploy path. For a non-technical founder, those beat raw performance and developer delight every time.

If you're shipping a SaaS with AI coding tools and want to see this decision made concrete, Coding Capybaras is the free Next.js boilerplate I built for exactly this workflow — the same code that runs this site, yours to download and customize.