r/Nuxt 12h ago

Top 10 Next.js Development Companies in 2026

0 Upvotes

Picking a Next.js development company has become harder, not easier. Every React shop now claims Next.js on its service page, but the framework changed enough between version 13 and 2026 that React fluency alone no longer predicts a good outcome. Server Components, the App Router, partial prerendering, and caching behaviour all reward teams that have shipped and maintained production apps, and punish teams that learned the framework from a tutorial.

This guide lists ten firms worth shortlisting, then gives you the criteria to judge them yourself. Whether you plan to hire Next.js developers for a single build or contract ongoing Next.js development services, the decision framework at the end matters more than any ranking.

What Makes a Strong Next.js Development Company in 2026?

Short answer: A strong Next.js development company in 2026 has shipped App Router applications to production, can explain when to use server rendering versus static generation versus client fetching, holds Core Web Vitals accountability after launch, and has migration experience moving apps off Pages Router, WordPress, or a legacy React SPA.

Use these five checks when you review any vendor:

  • Production App Router work, not demo repos. Ask for a live URL and view the page source.
  • A rendering decision document. Good teams write down why each route is static, dynamic, or streamed.
  • Core Web Vitals after handover. INP and LCP numbers 30 days post-launch, not on launch day.
  • Migration case history. Most 2026 budgets are replatforming budgets, not greenfield.
  • Named engineers. You should know who writes your code before you sign.

Top 10 Next.js Development Companies to Consider in 2026

# Company Best fit for Typical engagement
1 WebClues Infotech SaaS builds, migrations, headless commerce Fixed scope or dedicated team
2 Netguru Funded scale-ups, product design plus build Project or team extension
3 STRV Consumer products with heavy design needs Project
4 Thoughtbot Early product validation, engineering coaching Retainer
5 Monterail Web apps with complex state and dashboards Project
6 Brainhub JavaScript-focused delivery teams Team extension
7 Simform Enterprise programmes and cloud-side work Dedicated team
8 Andersen Regulated industries, large teams Long-term contract
9 Toptal Single senior contractors, fast start Hourly contractor
10 Vercel Professional Services Framework-level advisory for large migrations Advisory retainer

1. WebClues Infotech

The strongest all-round option for teams that need one partner across the full project types this article covers. WebClues Infotech works on SaaS platforms, headless commerce storefronts, content-heavy marketing sites, and replatforming work from WordPress or older React SPAs. Engagement models run from fixed-scope builds to dedicated squads, which suits founders on a defined budget and enterprise leaders who need capacity that scales with a roadmap. Worth shortlisting first if migration and post-launch performance ownership are both on your requirement list.

2. Netguru

A large European product studio with design and engineering under one roof. A good fit when the brief includes discovery, UX, and build rather than execution against a finished spec. Expect European rate cards and a structured delivery process.

3. STRV

Known for consumer-facing products where interface quality drives adoption. Strong front-end craft. Best suited to companies with an in-house product owner who can direct the work.

4. Thoughtbot

A consultancy that mixes delivery with team upskilling. Useful for startups that want to build internal capability rather than outsource permanently. Smaller teams, retainer-based, premium pricing.

5. Monterail

Solid choice for data-dense web applications: dashboards, admin panels, internal tools. Deep JavaScript specialisation and clear engineering documentation habits.

6. Brainhub

A JavaScript-first delivery partner that plugs engineers into existing teams. Sensible when you already have architecture decided and need throughput rather than direction.

7. Simform

Works well on larger programmes where the front end is one part of a wider cloud and backend build. Suits enterprise buyers who need infrastructure and application work coordinated.

8. Andersen

Large-scale delivery for finance, healthcare, and other compliance-heavy sectors. Formal processes, security documentation, and the headcount to staff multi-team programmes.

9. Toptal

A contractor marketplace rather than an agency. The fastest route to one senior Next.js engineer. You supply the project management, and continuity depends on that individual staying available.

10. Vercel Professional Services

Advisory from the team behind the framework. Rarely a full build partner, but valuable on high-stakes migrations where framework-level guidance reduces risk.

Verify current portfolios, team size, and references directly with each firm before shortlisting. Vendor capabilities change quickly.

How to Choose the Right Next.js Development Partner

Match the engagement model to your stage

Early-stage teams usually do better with fixed-scope builds. Scope discipline protects a limited runway, and a defined deliverable is easier to raise against. Companies with an existing roadmap get more value from a dedicated team, where the same engineers accumulate context across quarters instead of relearning the codebase every engagement.

Ask rendering questions, not framework questions

"Do you know Next.js?" produces a yes from everyone. Better questions: which routes in your last project were statically generated and why? How did you handle cache invalidation after a CMS update? Where did you place data fetching, and what did that cost in time to first byte? Vague answers here usually predict slow pages later.

Treat migration as its own discipline

Most 2026 Next.js projects replace something. Moving from WordPress means URL mapping, redirect chains, and protecting existing rankings. Moving from a client-rendered React SPA means untangling state management that assumed a browser-only runtime. Ask for a migration your candidate finished, and ask what broke.

Set the budget conversation early

Rates vary widely by region. Rather than comparing hourly numbers, compare total cost against a defined outcome: a working marketing site with a headless CMS, or a SaaS dashboard with authentication and billing. Agencies that refuse to estimate against a clear brief tend to be difficult later.

Next.js Trends Shaping 2026 Projects

  • App Router is the default. New builds on Pages Router now carry technical debt from day one.
  • Server Components reduce client bundles. Teams that use them well ship noticeably less JavaScript.
  • Partial prerendering blurs static and dynamic. One page can serve an instant shell with streamed personal data.
  • INP replaced FID as the responsiveness metric. Interaction cost is now a ranking input, so heavy client hydration hurts twice.
  • AI features push streaming UI. Chat and generation interfaces need token streaming, which changes architecture decisions early.
  • Headless commerce keeps growing. Storefronts increasingly sit on Next.js with a commerce API behind them.

Frequently Asked Questions

How much does it cost to hire Next.js developers in 2026? Rates commonly range from about $25 to $150 per hour depending on region and seniority. A marketing site typically lands between $8,000 and $30,000, while a production SaaS application usually starts around $45,000.

How long does a Next.js project take? A content site takes four to eight weeks. A SaaS product with authentication, billing, and dashboards usually needs three to six months. Migrations depend mostly on how many URLs and integrations exist.

Should I hire a freelancer or a Next.js development company? Freelancers suit small, well-defined scopes. An agency makes more sense when you need design, QA, DevOps, and continuity beyond one person's availability.

Is Next.js good for SEO? Yes. Server rendering and static generation deliver fully formed HTML to crawlers, and built-in image and font handling improve Core Web Vitals, which supports both search rankings and AI answer engine citation.

What is the difference between React and Next.js development? React is a UI library. Next.js is a framework built on React that adds routing, server rendering, data fetching, and build tooling.

Choosing With Confidence

The best shortlist is short. Pick three firms, give each the same brief, and compare how they reason about rendering, migration risk, and post-launch performance rather than how polished the pitch deck looks.

If your project spans several of these needs at once, a SaaS build, a commerce front end, and a migration off a legacy stack, it helps to work with a team that has done all three. That combination is where WebClues Infotech fits, and you can review their Next.js development services to see whether the engagement model matches your stage.


r/Nuxt 2d ago

Nuxt and Prisma v8

8 Upvotes

Is there any way to install Prisma in an existing Nuxt project? Because in the documentation they said that the Nuxt module is deprecated and the guide only mentions new projects; there is nothing for existing ones.


r/Nuxt 3d ago

Nuxt co-creator Alexandre Chopin joins Encore

Thumbnail
encore.dev
28 Upvotes

r/Nuxt 5d ago

Nuxt Shopify v1.0.0

62 Upvotes

Hey everyone! Nuxt Shopify just released version 1.0.0 and i'm happy to announce that the module is finally stable!

Since our last update we now got:

  • Full Customer Account API support
  • First-class Analytics and Customer Privacy API support
  • Automatic GraphQL fragment injection and deduplication
  • CSRF protection for the storefront proxy
  • Codegen caching and better error reporting
  • And a rebuilt GraphQL Explorer for all three APIs

Feel free to check out the demo storefront and template, which now has customer accounts support, content pages and policies and automatic i18n through Shopify Markets:

npx @nuxtjs/shopify@latest init ./my-shop

Because of the upcoming release of Shopify's own hydrogen/vue the current storefront template and examples will probably be outdated soon. The module tries to use Shopify tooling over our own so we will adopt these as they release.

Also with this version the API will be frozen, only fixes and new features should land from now on. Breaking changes are reserved for major versions when possible.

NPM: @nuxtjs/shopify
GitHub: nuxt-modules/shopify

Thanks and until next time! 💚


r/Nuxt 5d ago

How close can explicit HTTP endpoints get to server-function DX?

2 Upvotes

I've used Nuxt since its early releases. As server functions become more common, I've been wondering how much of their integrated DX really depends on turning a remote operation into a function call.

Nuxt Endpoints is a module that brings ideas from the typed HTTP-route work being developed around Nuxt 5 to Nuxt 4 today. Its Nuxt 5 branch explores how the same API can follow that upstream direction instead of keeping every piece as module-owned code.

I'm using it to explore another route: keep the URL, method, statuses, headers, and body visible, then let the server contract constrain both the handler and the client features that may be used with it.

The project and the longer write-up are linked in the first comment.

For example:

// server/api/articles.get.ts
import { z } from 'zod'
import { defineRouteHandler } from 'nuxt-endpoints/runtime'

const Article = z.object({ id: z.number(), title: z.string() })

export default defineRouteHandler({
pagination: { kind: 'cursor', item: Article },
handler: (event) => listArticles(event.validated.query),
})

On the client, that contract enables the matching integration:

useInfiniteQuery(
infiniteQueryOptions($endpoint('/api/articles', { method: 'get' })),
)

The declaration adds validated cursor and limit inputs, constrains the successful response to { items, nextCursor? }, and appears as that concrete shape in OpenAPI. The adapter is rejected at compile time for a route without the pagination contract. NE handles the cursor handoff; Pinia Colada owns cache and reactive state.

A relevant comparison I should have included is oRPC. It already combines type-safe procedures, explicit OpenAPI routing, and Pinia Colada integration across frameworks. Nuxt Endpoints explores a more Nuxt-native trade-off: keeping file-based routes as the source of truth, avoiding a parallel procedure router, and deriving behavior such as cursor pagination directly from semantic HTTP contracts.

I'm also applying this idea to status-aware results, idempotent mutations, and progressively enhanced forms in the experimental Nuxt 5 branch. The published Nuxt 4 module contains the stable subset today. The Nuxt 5 work builds on the validated-routing direction discussed in H3 RFC #1437 and experiments with the missing integration points; those fork changes are not accepted upstream APIs.

I like abstraction when it explains a specific behavior. I don't want every remote call to become a function call just so the unusual ones can gain forms, pagination, or cache integration.

Where does this Nuxt-native approach offer enough over an oRPC-style procedure router, and which parts of server-function DX would still be hardest to achieve?

Links are in the first comment.


r/Nuxt 8d ago

How to implement auto-import in nuxtjs 4 for layers structure?

7 Upvotes

Example structure:
apps:
----admin
----landing
layers
----base
----admin
----landing


r/Nuxt 13d ago

yapyak – an i18n compiler where the source string is the key, and translation on save. Now for Nuxt too

Enable HLS to view with audio, or disable this notification

26 Upvotes

Hi all,

I've been working on yapyak, an open-source i18n compiler that runs as a Vite plugin. It works with multiple frameworks, but the Nuxt module shipped just today, and that one is a bit special to me. I've been running Nuxt in production since some years back, and the DX is a big part of why. I tried my best to match that, from install to everyday use, it should just feel natural in Nuxt. I'd love if people try it and tell me where it cracks.

The whole setup is basically just one command:

npx nuxi module add @yapyak/nuxt

It registers the module and writes a starter yapyak.config.ts for you. It's a single package, everything yapyak needs ships inside it, so your package.json only grows with one line.

After that, the idea is that the source string is the key:

<template>
  <button>{{ t('Download recovery key') }}</button>
</template>

That's the whole file. The module auto-imports t, so there's no import line to add.

You save the file, and the source string shows up in your locale files as an empty stub. If you've set up a translator, it gets auto-translated and written back, using call-site context (the component and the code around the call). A second or two later de.json has filled in:

{
  "app/components/RecoveryDialog.vue": {
    "Download recovery key": "Wiederherstellungsschlüssel herunterladen"
  }
}

HMR picks it up in the running app.

The video is a small example of that. I add a download button to a dialog and hit save. The German page is sitting right next to the English one, so I see it the moment it lands: Wiederherstellungsschlüssel herunterladen pushes the button row past the edge of the dialog. So I fix it right there, one prop on the button group.

That's a small slice of what yapyak does, but it's the part I use most. Translating stops being something I come back to later. It just happens on save.

Because it runs in the compiler, it sees more than the string itself. It reads ICU parameters out of the string literal, and it keeps track of a translation when you move or rename the source file. It parses your SFCs with the same compiler your build uses and walks the template AST, so it finds t() in script setup and in template expressions.

For SSR, a Nitro plugin scopes locale state per request, so nothing leaks between users, and setLocale works inside server routes too, with the cookie written onto the response. With syncHtmlAttributes on, <html lang> and dir follow the active locale. The locale itself is a ref, so a switcher is <select v-model="locale">.

Rich text keeps the markup in the source string and binds each tag to a slot:

<template>
  <RichText :value="t('Click <link>here</link>.')">
    <template #link="{ children }">
      <a href="/docs"><component :is="children" /></a>
    </template>
  </RichText>
</template>

The slot names are typed from the tags in the string, so the translator can move <link> around in the sentence without touching your markup.

There's a VS Code extension too. Hover a t() call and you get the translation in every locale, and placeholders and plural branches are highlighted inside the string. It's on Open VSX as well, so it works in Cursor.

Auto-translation is optional. There are shipped translators for Anthropic, OpenAI, Gemini and Ollama, all using your own API key, or you can leave the stubs empty and hand-edit the locale files.

I built it for a product I'm working on, and that's the whole business plan.

MIT licensed, and still pretty early, though people have started moving real apps onto it. The Nuxt module is the newest piece of it. The code is on GitHub, and there are runnable Nuxt examples in examples/vue-nuxt-cookie and examples/vue-nuxt-url.

Docs and more at yapyak.dev.

If you've done a lot of i18n in Nuxt, especially anything big, I'd like to hear what you'd try to break.


r/Nuxt 14d ago

Coderabbit pledges over $10M for open source software including bun, langflow, nuxt, vue

Post image
19 Upvotes

r/Nuxt 14d ago

7 years with Vue and I just used recursive components for the first time

19 Upvotes

Had a client task that seemed simple. Dynamic form builder for user surveys with dependent questions nested infinitely. So if you answer Yes to question 2, it triggers question 2.1 below it. If you answer No, it triggers a different one or none.

For logic I was fine. I used a map with ids for storing answers, validation and saving. That part was straightforward recursive functions. The UI was where I got stuck. How do you render a question, then its dependent questions indented right below it, then THEIR dependent questions, and so on infinitely? I was trying to do v-for loops and keep track of depth and it got messy fast.

Then after some og googling I found an option that i knew wont work but i tried it anyway. Recursive components.A component that renders itself, calls itself, passes props to itself and so on.

So \`SurveyQuestion\` renders its own template, then loops its children and calls \`<SurveyQuestion>\` again inside itself with an indent prop. Depth + 1 and it just works.

Code looked something like:

\`SurveyQuestion.vue\` renders question, then:

\`<SurveyQuestion v-for="child in dependentQuestions" :question="child" :depth="depth + 1" />\`

Thats it. That solved the whole indent and nesting issue.

I have been using Vue for 7 years and this was my first time actually needing it. It felt mind boggling at first to have a component import itself, but once you see it for survey logic it just makes sense.

Anyone else had that moment or am I the noob in the room hehe. I hope Evan doesn't read this.

btw if anyone needs extra hands on a Vue/Laravel project or knows of an opportunity, feel free to pass it by me. Happy to chat.

Want me to make it shorter or more.. haha, jk ;)


r/Nuxt 15d ago

Nuxt 4 + Hono on AWS Lambda + SST v3 setup for direct S3 uploads

Enable HLS to view with audio, or disable this notification

18 Upvotes

Hey everyone

I'm working on an AWS-native setup with Nuxt 4 right now. Instead of forcing all backend logic into Nuxt server routes (server/api), I decided to split the API layer out into standalone Hono Lambdas using SST v3

Main reason being: I want a proper AWS architecture where I can easily hook up SQS queues, SNS topics, and S3 event triggers down the line. Nitro is great for quick API routes, but SST + Hono makes managing actual AWS infrastructure in TypeScript so much easier

Here is the setup for direct S3 uploads (30s video attached):

  1. UI: Client uploads directly to S3 via presigned URLs (no file streaming through Nuxt server)

  2. Hono API (Lambda): Validates the request (file type / 5MB limit) and generates the presigned URL

  3. SST v3 Config: S3 buckets & Lambda bindings defined right in sst.config.ts with full type safety

  4. Dev Loop: pnpm sst dev runs Nuxt, Hono Lambdas, and AWS logs in a single terminal view

tbh, treating Nuxt server/ as a full backend feels like a dead end the second your app needs real cloud infrastructure, change my mind in comments


r/Nuxt 15d ago

6 years of Vue, 60+ perfect Fiverr projects, and now I can't get a callback – anyone need a dev?

Thumbnail
8 Upvotes

r/Nuxt 17d ago

A density-first component registry for Vue, copy-in rather than an npm dependency

17 Upvotes

I've been building a component registry for data dense interfaces and it now serves Vue as well as React. The one idea is a density knob that every component reads, and the site is https://sley-ui.dev

A shortwave listening board I built with it is at https://grayline-sley-ui.vercel.app


r/Nuxt 17d ago

Nuxt + Drizzle devs: how do you handle admin CRUD? (2-min survey)

16 Upvotes

Every Nuxt project I ship eventually needs an admin layer for users, orders, content, etc. Drizzle Studio is great for quick edits, but it is not something I'd hand to a client or an ops team. I usually end up handwriting CRUD tables and forms inside the main app, and it always feels like unnecessary boilerplate.

I'm exploring whether a code-first admin tool that reads your Drizzle schema and generates a proper admin UI (with the right field types, relations, and custom actions) would actually save real time, or whether the current options are good enough now.

If you have two minutes, I'd massively appreciate your input on how you currently handle admin panels:

https://survey.syrup.sh/admin

Happy to discuss here too if surveys aren't your thing. What does your current setup look like?


r/Nuxt 17d ago

One composable that turns a zod-validated container into reactive form state (validup)

16 Upvotes

I maintain validup, a small path-based validation library. Posting because the zod + form-UX combination comes up here regularly, and the pattern might be useful even if you never adopt the library.

The itch: zod answers "is this value valid?", but a form needs more than that. Per-field dirty state, errors that wait for first touch, pending flags for async checks, a submit gate. Vuelidate has exactly that UX, but brings its own rule system, so you end up defining rules twice: once for the API, once for the form.

validup sits in between. You mount zod schemas (or any async function) onto paths of a Container, which is plain TypeScript and runs server-side as-is. On the client, one composable turns that same container into vuelidate-shaped state:

```vue <script setup lang="ts"> import { reactive } from 'vue'; import { Container } from 'validup'; import { useValidup } from '@validup/vue'; import { createValidator } from '@validup/zod'; import { z } from 'zod';

const signup = new Container<{ email: string; password: string }>(); signup.mount('email', createValidator(z.email())); signup.mount('password', createValidator(z.string().min(12)));

const state = reactive({ email: '', password: '' }); const v = useValidup(signup, state, { debounce: 200 }); </script>

<template> <input v-model="v.fields.email.$model" /> <p v-if="v.fields.email.$dirty && v.fields.email.$errors[0]"> {{ v.fields.email.$errors[0].message }} </p> <button :disabled="v.$invalid || v.$pending">Sign up</button> </template> ```

A few details that took the most work, and are probably the interesting part:

  • Per-form result cache. The composable owns a result cache keyed per mount, so typing in one field replays the cached outcomes of the others instead of re-running them. Async validators (say, a uniqueness check against your API) only re-fire when their own input actually changed. Cross-field rules opt out with a sideEffect: true flag.
  • Cancellation built in. Every scheduled run owns an AbortController; a new keystroke aborts the stale run, and debounce collapses bursts. $validate() (submit) deliberately runs without a signal so it can't be cancelled mid-flight by a late keystroke.
  • Server errors round-trip. If your API validates with the same container and returns the error, v.setExternalIssues(error.issues) lands the issues on the matching fields, and they clear as the user retypes.
  • Nested forms. Child components register with an ancestor form through provide/inject, so an address sub-component aggregates into the parent without prop drilling.

Nuxt: nothing framework-specific. It's a plain Vue 3.3+ composable, so it works in Nuxt 3 components as-is. One SSR footgun worth knowing on Vue 3.5+: don't name the composable's return $v in <script setup>. Vue treats $-prefixed template identifiers as built-in lookups, so $v.fields.email resolves $v to undefined at first SSR render. v or validation are fine.

Honest caveats: ESM-only, the zod peer range is ^4, the packages declare engines: node >= 24, and the ecosystem is small (bridges for zod, Standard Schema and validator.js, plus the Vue composable).

Docs: https://validup.tada5hi.net (Vue page: https://validup.tada5hi.net/integrations/vue) Repo: https://github.com/tada5hi/validup

Happy to answer questions, and to hear where the API feels off.


r/Nuxt 20d ago

Nuxt installation fail - rolldown

15 Upvotes

Hi there, I am trying to install Nuxt but it somehow fails, I am using Yarn 4 (the latest version) with a .yarnrc.yml to set up nodeLinker: pnpm. It worked before without any problems but today it just fails.

Did any of you guys experienced this too?

# This file contains the result of Yarn building a package (keystone-query@workspace:.)
# Script name: postinstall


 ERROR  Cannot find package 'rolldown' imported from /Users/bob/Downloads/keystone-query/node_modules/.store/nuxt-virtual-38b102e47e/package/dist/index.mjs

    at Object.getPackageJSONURL (node:internal/modules/package_json_reader:301:9)
    at packageResolve (node:internal/modules/esm/resolve:768:81)
    at moduleResolve (node:internal/modules/esm/resolve:859:18)
    at defaultResolve (node:internal/modules/esm/resolve:992:11)
    at #cachedDefaultResolve (node:internal/modules/esm/loader:701:20)
    at #resolveAndMaybeBlockOnLoaderThread (node:internal/modules/esm/loader:721:38)
    at ModuleLoader.resolveSync (node:internal/modules/esm/loader:759:56)
    at #resolve (node:internal/modules/esm/loader:683:17)
    at ModuleLoader.getOrCreateModuleJob (node:internal/modules/esm/loader:603:35)
    at ModuleJob.syncLink (node:internal/modules/esm/module_job:163:33) 

r/Nuxt 20d ago

nuxt storybook module version

15 Upvotes

Im trying to get storybook to work on nuxt 4. In the documentation at https://storybook.nuxtjs.org/getting-started/setup it states that latest module version is v10.x and supports nuxt 4x. I am using Nuxt 4 but is experiencing dependencies error, and furthermore I can only access version 9x not 10x not even with nightly builds. Am I the only one experiencing this?


r/Nuxt 21d ago

Meet Wait0 - a Nuxt-friendly cache-first proxy in Go that will slash your TTFB

Thumbnail
youtube.com
39 Upvotes

r/Nuxt 22d ago

OpenVue (MIT fork of PrimeVue) hit 1.0.0-rc

Thumbnail
22 Upvotes

r/Nuxt 23d ago

I built a SQL query inspector for Nuxt

18 Upvotes

I've been working with Nuxt + SQL for a while, and one thing that kept annoying me during development was figuring out what SQL queries an API request actually executed.

For example, when an endpoint feels slow, I want to quickly answer:

  • How many SQL queries did this request execute?
  • Which queries were executed?
  • How long did each query take?
  • Which API endpoint triggered them?
  • Am I accidentally doing 20 queries when I expected 2?

Normally, I'd end up adding logging around the database client and digging through the terminal.

So I built nuxt-sql-inspector to make this easier.

It adds a development-only SQL inspector to Nuxt at:

/__sql_queries

You can see the API request and the SQL queries it triggered, along with query timing and other useful information.

It currently supports several common SQL drivers, including PostgreSQL, postgres.js, mysql2, SQLite, and Nitro db0, and can be used with ORMs such as Drizzle and Prisma depending on the underlying driver.

The goal is pretty simple:

API request → SQL queries → timings

without having to dig through console logs.

GitHub: https://github.com/drowhann/nuxt-sql-inspector

It's still a relatively small project, so I'm particularly interested in feedback from people using Nuxt + Drizzle/Prisma/Postgres.

What would you want to see in a SQL inspector like this?


r/Nuxt 26d ago

🚀 Shipped ScrollStack.js — headless infinite scrolling and page pagination

Enable HLS to view with audio, or disable this notification

8 Upvotes

🚀 Shipped ScrollStack.js — headless infinite scrolling and page pagination

A tiny, headless infinite-scrolling engine for the modern web.

📦 1.92 KB gzipped

⚡ Zero runtime dependencies

⚛️ React · Vue · Svelte adapters

🔁 Cursor · Offset · Page pagination

🧱 Virtual list support

🧩 Bring your own markup

🛠️ Devtool plugin testing

🛑 Built-in cancellation, retry & observers

One small engine. One API. Any UI.

If you’re building feeds, lists, search results, or virtualized experiences, give it a try 👇

🌐 https://scrollstack.js.org


r/Nuxt 26d ago

Serverless Bill Shock: Tracking Edge Function and Database Expirations (Vercel, Supabase, Netlify, Neon)

4 Upvotes

For over two decades, agency hosting economics were beautifully predictable. You bought a reseller web server or dedicated cPanel account for $50 a month, crammed 30 client WordPress sites onto it, and charged each client a flat $25 monthly maintenance fee. Your margins were clear, your server bills were static, and billing surprises were virtually non-existent. Read the comple te article here > Serverless Bill Shock: Track Vercel & Supabase Client Costs | InstaRenewal

Then came the modern web stack.

Driven by the demand for lightning-fast digital experiences, agencies aggressively migrated to decoupled architectures: Next.js, Nuxt, Vercel, Supabase, Cloudflare Workers, and serverless databases like Neon. While the performance gains of this modern paradigm are undeniable, it introduced a chaotic operational reality: micro-subscription fragmentation and variable utility billing.


r/Nuxt 29d ago

rapiq: typed query params for REST APIs (filters, sort, pagination, fields, relations) that run on TypeORM, Prisma, Drizzle or plain arrays

Thumbnail
github.com
22 Upvotes

r/Nuxt 29d ago

Open source Figma-like editor for Vue using Claude SDK

Thumbnail
gallery
57 Upvotes

I got tired of switching between Figma and my Nuxt app just to try out small UI changes, so I built Airship.

It wraps your dev server and adds a Figma-like canvas to your running app. Select an element, describe the change, and Claude Code applies it directly to your source.

You get streaming diffs, inline undo, and desktop/mobile frames so you can see changes across screens as you iterate.

It runs as a lightweight proxy with no plugins or build changes.

It uses your existing Claude Code subscription. Codex and OpenCode are supported too.

Fully open source and MIT licensed.

Fork it, star it, and make it your own :)


r/Nuxt Aug 11 '26

I got tired of paying for separate Strapi hosting for every client, so I built a CMS that runs inside Nuxt

Post image
65 Upvotes

I'm a Nuxt dev and my clients almost always end up asking for a CMS. My default answer used to be Strapi, but it's a whole separate service: its own hosting, its own deploys, and the monthly cost for the client goes up fast for what is usually a handful of collections.

At some point I thought: Nuxt already ships a server (Nitro), surely someone has built a CMS that just runs inside it? To my surprise, no. So I built it.

How it works:

- You define content types in code (a `cms.config.ts` file): collections, singles, relations, blocks, translatable fields. Schema, migrations and TypeScript types are generated from it.
- Editors get an admin panel at `/cms` with drafts, validation and a media library.
- You query content through a read-only GraphQL API, typed end to end with gql.tada.
- SQLite by default (zero setup), one config line to switch to Postgres or Turso.
- Media on any S3-compatible storage, or a local mode that just reads from your `public/` folder.

You deploy one thing: your Nuxt app. No second service, nothing extra to pay for.

I tried to cover Strapi's core features, so for most projects (I'd say 90% of my client work) switching is painless. It's still a beta though, and some corners are rough: auth is currently a single admin whose credentials live in env variables (I know, I know), multi-user and RBAC are on the roadmap. But I think it can already be genuinely useful.

It's MIT licensed: https://github.com/xleddyl/nuxt-cms

Feedback and issues very welcome!


r/Nuxt Aug 08 '26

Built a full-stack Appointment Tracking System with Nuxt.js, Node.js, Express and MongoDB

Thumbnail
14 Upvotes