r/nextjs Jan 24 '25

Weekly Showoff Thread! Share what you've created with Next.js or for the community in this thread only!

23 Upvotes

Whether you've completed a small side project, launched a major application or built something else for the community. Share it here with us.


r/nextjs 3h ago

Discussion Explore All Headless CMS in One Place – Filter & Compare

5 Upvotes

I've compiled all 37 major headless CMS options in one place here. But scrolling through dozens of options? That's not helpful - it's overwhelming.

That's where filters come in. Instantly narrow down your options by:

  • Real-time collaboration
  • Open-source availability
  • API type (REST, GraphQL, etc.)
  • And other key features

Spot a missing filter? Did I miss any CMS? Let me know


r/nextjs 29m ago

News nextstepjs - lightweight react onboarding library

Upvotes

Released my open source onboarding library for nextjs couple months ago here, got great feedback and extended it with react support.

I have updated the website and docs for nextstepjs as it now supports all react frameworks with framework specific adapters.

What do you think about it, does landing page delivers the message and wins from this library?

Idea is that you would guide your first customers thru your app easily for onboarding. It also let's you guide them thru forms, different routes and trigger step changes with user actions.

https://nextstepjs.com


r/nextjs 3h ago

Help Noob Is using server actions for all data handling in an SSR-ed marketing site (including admin panel) a valid approach in Next.js 15+?

4 Upvotes

Hey everyone, I'm about to start building a project in Next.js and would love to get some feedback or thoughts from experienced devs before I dive in.

Project Overview:

I'm building a semi-dynamic SSR-ed website for an IT and Digital Marketing company, with design and content inspired by the following Elementor templates:

Digimax

Finovia

Avtrix

Zynex

Aventive

Brandmode

The site will have two SSR-ed sides:

  • Public marketing site (viewable by all visitors)
  • Admin panel (restricted, to manage site content like text, images, sections, etc.)

How I'm planning to build it:

  • All content editing and fetching (for both admin panel and public site) will be done using Server Actions – not API routes, not getServerSideProps.
  • No database-heavy logic, just CRUD for text/images.
  • Admin sets the content → server actions write to DB.
  • Public pages fetch this content directly in a server component using a server action.
  • Contact form submissions will also go through a server action.

My Questions:

  • Is it valid to use server actions for all of this? Even for the SSR-ed data fetching?
  • Are there any hidden drawbacks to relying only on server actions (e.g., performance, scalability, maintainability)?
  • I haven't used getServerSideProps. Is there a case where it would be preferable over a server action?
  • Would you approach the admin-public SSR separation differently?

I’ve seen a lot of examples fetching content via APIs or getServerSideProps, but since I’m using the App Router and have simple CRUD needs, server actions feel cleaner to me.

Appreciate any thoughts or advice to look out for!


r/nextjs 13h ago

Question What’s Your Go-To Next.js Feature in 2025?

27 Upvotes

Hey r/nextjs! I’ve been building with Next.js for over a year now, and I’m curious—what’s the one feature you can’t live without in 2025? Whether it’s the shiny new App Router, the power of Server Components, or something else, let’s hear it! Bonus points: share why in the comments!


r/nextjs 10h ago

Discussion Why Next v15.2.4 Feel Slower (lagging) than v15.1.0???

11 Upvotes

I've used next 15.1.0 since its released and it's work great both Dev and Production never had any issues. until recently i tried to upgrade latest version (15.2.4), i noticed my application feel lagging (slower) than previous version (15.1.0). I only noticed issue on Dev since i haven't deployed it to Prod yet.

Anyone noticed same as me or only me that get this issue?? Thanks


r/nextjs 14h ago

Discussion 🚀 Master the 2025 Stack: Complete Guide to Next.js 15, React 19, Tailwind v4 & Shadcn/ui

14 Upvotes

Anyone else navigating the new waters of Next.js 15's explicit caching, React 19's ref changes, or the shift to CSS config in Tailwind v4? It can feel like a lot to piece putting together a modern web app involves more than just one library.

I wanted to create a comprehensive guide that shows how the latest pieces fit together for a truly up-to-date stack 2025!

This guide covers the full process using Next.js 15, React 19, Tailwind v4, and Shadcn/ui, touching on:

  • Frontend Foundation: Setting up Next.js 15 & React 19.
  • Styling Power: Configuring Tailwind v4 & using Shadcn/ui components.
  • Essential Features: Dark mode implementation with next-themes.
  • Backend Considerations: Integrating server actions with validation (using Zod).
  • Performance: Tips for optimizing and checking with Lighthouse.

It's designed to be a practical, step-by-step walkthrough for anyone wanting to leverage this powerful stack.

You can find the full article here: Full Guide


r/nextjs 1h ago

Help Noob Calling route handler from server component

Upvotes

I am using app router and I understand there isn't really a point calling a route handler in a server component when I can just run the code to get the data from the server component.

Let's say I have a route.tsx file under app > api

# route.tsx
import { NextResponse } from "next/server";

export async function GET() {
  let message = await db.get("smth"); # Just imagine this is getting smth from db
  return NextResponse.json(message);
}

In my page.tsx file, I could call the route handler like this, which I know is stupid since there will be an unnecessary network call.

# page.tsx
export default async function Page() {
  let data = await fetch("http://localhost:3000/api");
  let json = await data.json();
  return <div>{json.message}</div>;
}

However, what if I call the route handler like this by importing it:

# page.tsx
import { GET } from "../api/route";

export default async function Page() {
  let data = await GET();
  let json = await data.json();
  return <div>{json.message}</div>;
}

Will it be similar to doing this? I assume the code below is the intended way of fetching data

# page.tsx
const getMessage = async () => {
  return await db.get("smth");
}

export default async function Test() {
  let data = await getMessage();
  let json = await data.json();
  return <div>{json.message}</div>;
}

Is there really a significant difference between the last 2 code blocks?


r/nextjs 4h ago

Question Is nextJS for me

1 Upvotes

Okay, I'm a undergraduate student, pursuing bachelors in CS. I been 3 months since I started learning MERN. Now recently finishe React and typescript and came into next js and thought is it really for me. I'm more interested in backend side writing code in node js express js and integrating it with redis, websockets and some of the other architecture like pub subs, message queues. So I'm thinking ,should i learn next js or just stick with react at frontend and go deep into backend and DevOps and build project. I made projects but those were just for practicing what I learnt. I'm thinking of closing my curtains on learning more technology and all and just build projects.


r/nextjs 5h ago

Discussion I open sourced a SaaS MVP launch kit (NextJS, Supabase, Stripe). What are your thoughts on these tools?

Thumbnail
0 Upvotes

r/nextjs 5h ago

Help NextAuth with Google login on multi-subdomain setup

0 Upvotes

Hey everyone,

I’m building a multi-tenant SaaS app where each business is accessed via its own subdomain, like:

https://[slug].myapp.com

I’m now integrating social login with Google using NextAuth (Auth.js). As most of you know, Google OAuth doesn’t support wildcard callback URLs, so I can’t register https://*.myapp.com/api/auth/callback/google

To solve this, I set up a dedicated centralized auth domain, it works fine when I go to:

https://auth.myapp.com/api/auth/signin

I see my list of providers and can successfly login — so the base setup is working.

The problem:

I want to place a “Login with Google” button on my tenant subdomains like https://cafe.myapp.com, which should initiate login through auth.myapp.com.

I tried redirecting users directly to:

https://auth.myapp.com/api/auth/signin/google?callbackUrl=https://cafe.myapp.com

But this leads to CSRF token errors, likely because the CSRF cookie is scoped to auth.myapp.com and not available on the subdomain initiating the request.

So, myq uestion is. What is the correct way to add a “Login with Google” button on a subdomain? Has anyone done this successfully? Any real-world examples or best practices would be a huge help 🙏

Thanks in advance!


r/nextjs 15h ago

Discussion Page-Based Architecture

5 Upvotes

It's like the Feature-Based Architecture, but directed to those who needs to create a Web App with front-end only.

I'm facing this right now, currently creating a landing page that has other routes like portfolio, contact, etc., but they are kind of different, not saying they have different design, but some components that are specific to this page or another, and others are shared between them. The problem to apply feature-based architecture here is that you don't have a feature properly saying, i mean, portfolio is not a feature, but it has its own components and files. So, page-based architecture is just about separating their components and logics on their own route files (i.e.: /app/contact/_components/Input.tsx).

What's your opinion about it and how do you use to struct your code?


r/nextjs 7h ago

Help How to integrate Form.io with Next.js and render complex forms using shadcn/ui components?

1 Upvotes

Hey everyone, I'm currently working on a Next.js 14 project (using the new app router), and I want to integrate Form.io to dynamically render complex forms.

I’d like to use shadcn/ui components for styling the forms instead of the default Bootstrap or plain HTML inputs Form.io provides.

Has anyone tried customizing Form.io renderers to work with component libraries like shadcn?

Is it possible to override or map Form.io components to shadcn equivalents (e.g., Input, Select, Textarea, etc.)?

Should I use @formio/react and then customize the renderer, or would it be better to create a custom renderer from scratch?

Any examples, boilerplates, or gotchas I should know about?

Appreciate any guidance, tips, or resources!


r/nextjs 10h ago

Discussion Review my portfolio website

Thumbnail
imihir.com
0 Upvotes

Made Portfolio website. Review it. Open for suggestions, feedbacks.


r/nextjs 10h ago

Help Combine DB operations that must always happen together - in what layer?

1 Upvotes

In my project, all Prisma calls currently happen directly in server actions, server components, and route handlers.

So far this has been fine, but now I have a vector table that always needs to change when another table changes.

I must avoid changing one without the other. So my idea was to move both these DB operations into a single function and stop calling Prisma directly from my server code.

If I create a "data access" layer that wraps all DB operations, is this the correct place to combine these two operations?

My idea was something like this (pseudo code):

```

async function updateNotes(input) {

const embeddings = await generateEmbeddings(input);

prisma.startTransaction([

prisma.notes.update(input),

prisma.noteEmbeddings.insert(embeddings)

])

}

```


r/nextjs 8h ago

Question Has anyone ever tried converting a React project on lovable.dev to a Next.js one?

0 Upvotes

Ideally, I'd want lovable to produce Next.js projects but I see that it only creates React client projects and throws the entire backend into Supabase. But, I'd like to be able to build my projects in Next.js and take them over to manually code and maintain it myself.

I was wondering if anyone found a fast way to convert the React project into a Next.js one.
(Or, am I asking for too much here?)


r/nextjs 3h ago

Meme Vibe coding is a upgrade 🫣

Post image
0 Upvotes

r/nextjs 18h ago

Help How to disable build-time pre-rendering but still enable cachine after the first request?

2 Upvotes

My build time environment for my front-end doesn't have access to my back-end to pre-render. Is there a way I can disable build-time pre-rendering but still have a cache with time-based invalidation policy of 10 minutes or so? Anyway, the cache becomes invalid by the time the app is ready to be deployed anyway so that's another reason for disabling build-time pre-rendering.

Does this work?

export const dynamic = "force-dynamic";
const revalidate = 600;

[EDIT] The above does not work. But What does work is setting dynamic to "force-dynamic" and then forcing the caching at the level of the fetch request like this:

await fetch(url, { next: { revalidate: 600 }, cache: "force-cache"}

It's very unfortunate for two reasons:

- Creates a lot of boiler plate.

- I was using `axios` and now I need to use the raw fetch librayr.


r/nextjs 21h ago

Help Noob Architecture question for nextjs: Should I only use nextjs or should I use another (node) backend for an ai-meme-generator tool?

3 Upvotes

Hi,

for my next project, I want to build an ai meme generator.

  1. The idea is to have a webapp with Nextjs. Users can enter their details and select a meme template.
  2. Authentication, a database for user info and a payment system will be needed.
  3. With that information, a request will be sent to a LLM api.
  4. The meme text response will be rendered on the meme template and will be served back for download to the user.

I didn't work a lot with the backend functionalities of nextjs yet. If you would build something like that, would you create another, seperate backend for handling the LLM api call and the image manipulation/ storage? Or do you think it is sufficient to keep everything in next?

Thanks for your time :)


r/nextjs 10h ago

Help Noob What level of Next.js knowledge is typically required to effectively customize and maintain a readymade directory site template ?

0 Upvotes

Considering my background in marketing and familiarity with visual builders like Webflow and Framer, what are the steepest learning curves I should anticipate when transitioning to the code-based environment of Next.js?


r/nextjs 21h ago

Help Noob Confused by Nextjs navigation and rendering old content on next page briefly

2 Upvotes

I have a nextjs website I am working on that is similar to reddit that renders posts for different communities

when i navigate from one layout to another link on the same layout with router.push(link) (like http://localhost:3000/l/art --> http://localhost:3000/l/music)

  1. it (almost) immediately switches to the suspense which shows that it is navigating
  2. then after rendering it briefly shows my old posts and then renders again with my new posts

Note in this example it switches to l/art-sta and then renders the suspense, and then it renders the old posts from party-game-sta ("Fastest Counter to 10" and "Stack Cup Knockout"). After, it waits 2 seconds (probably around the latency of my fetch posts call for art-sta) and rerenders "Best Napkin Origami" and "Lista Logo Design" which is what I want it to do from the start.

https://reddit.com/link/1jszhv0/video/bqbvvjrm09te1/player

Does anyone have any context on why it is rendering my old posts briefly?

Here is a brief code snippet. For context slug is the name like "art-sta" or "party-game-sta"

const SublistaPostFeed = async ({ slug, sessionCookie, user }: { slug: string, sessionCookie: string, user: any }) => {
  const posts = await getPosts({
    limit: "5",
    page: "1",
    subredditNames: [slug]
  }, sessionCookie ?? "");

  return (
    <div key={`posts-container-${slug}`}>
      <PostFeed
        initialPosts={posts as ExtendedPost[]}
        subredditNames={[slug]}
        sessionId={user?.id ?? ""}
        user={user}
    />
    </div>
  );
};


const page = async ({ params }: PageProps) => {
  const { slug } = await params;
  return (
    <>
...
// Rest of component
      <Suspense key={slug} fallback={<PostFeedLoading />}>
        <SublistaPostFeed slug={slug} sessionCookie={sessionCookie ?? ""} user={user} />
      </Suspense>
...
    </>
  );
};

export default page;

r/nextjs 1d ago

Discussion Can someone enlighten me about why we cannot use SQLite in serverless environments like vercel?

12 Upvotes

After multiple failed attempts to host my next app which uses sqlite into a serverless environment like vercel,netlify etc, i wanted some clarity on why this does not work at all?

Lets say we don't have persistent filesystem in a serverless environment, but then also we could consider the flatfile/.db file of sqlite as a static asset and use it in read-only mode? Turns out we cannot do that also easily.

The aforementioned app is deplorable like a breeze on any other traditional compute service like AWS EC2/ OCI cloud compute , other shared VM services , etc .


r/nextjs 1d ago

Help How can I improve these issues in my Next.js project?

4 Upvotes

Hi everyone, I have a Next.js frontend and a Node.js backend. I ran a Pingdom test and got these suggestions:

  • E60: Make fewer HTTP requests
  • C78: Compress components with gzip

How can I fix or improve these in my Next.js app?

report: Website Speed Test | Pingdom Tools


r/nextjs 1d ago

Question How do you decide when to go with client-side rendering and when to go with server-side rendering?

9 Upvotes

I'm building an admin panel app in Next.js with Prisma. Since SEO isn't really needed here, but Next.js keeps pushing RSC, I've got most of my routes fetching data in Server Components and passing data down to client components as props.

But honestly? It feels kinda slow when navigating around - like there's too many server requests happening. Makes me wonder if I should just do more client-side fetching instead, maybe through server actions?

Back when React started we just fetched everything client-side. Now with Next.js there's like a dozen ways to fetch data:

  • Fetching in RSC
  • Client-side via API routes
  • Client-side via server actions
  • RSC with server actions
  • Direct DB access in RSC

What's your go-to strategy for data fetching? How do you handle this in your big projects, and how do you ensure all your developers follow the same method?


r/nextjs 19h ago

Discussion I Built an AI-Powered Next.js Boilerplate—102+ Devs Are Loving It

0 Upvotes

Hey r/nextjs!

I’ve been hooked on Next.js for years, but man, starting a new project used to drive me nuts. Hours lost to auth bugs—OAuth tokens ghosting me—or Stripe flows that wouldn’t play nice.

I was ready to throw my laptop out the window.

That’s when I built Indie Kit (search “indiekit.pro” on Google).

It’s a Next.js boilerplate that skips the setup slog: auth, payments, emails, Tailwind, all sorted. I recently juiced it up with Cursor rules, making AI coding silky smooth—think prompting your way to features in minutes. Plus, there’s a new B2B Kit with multi-tenancy, team management, a useOrganization hook, and a withOrganizationAuthRequired wrapper to ship SaaS fast.

Now 102+ devs are on it, and the feedback’s been unreal—people are saying awesome things, and it’s got me pumped to ship more features!


r/nextjs 1d ago

Discussion Code review services?

3 Upvotes

Ai based or not, wondering if anyone can recommend a decent security and code review service that can either be one off or integrated for routine scanning of our GitHub private repo. We haven’t gone live yet but I’m trying to build in best practices etc before we adopt our first clients and would like to integrate something like this into our operations. We already use sentry but am after something more code/vulnerability based. Thanks all!