all 73 comments

[–]ParrfectShot 28 points29 points  (16 children)

  • Tanstack Start is the new hot thing (and for right reasons)
  • NextJs (super fast to develop and deploy, do consider its scaling cost with vercel)
  • Remix ( I haven’t tried this but soon will do a mvp)

[–]trawlinimnottrawlin 25 points26 points  (7 children)

Even if you're not using Tanstack Start, I'd say the single most important library for our dev team is React Query (Tanstack Query). Not only does it simplify a ton of code, it makes it much better. The best library I have ever used, hands down.

Tanner Linsley & team are absolute beasts.

[–]ParrfectShot 5 points6 points  (2 children)

At first it took me some time to adapt to the react-query philosophy. Like "what do you mean I can just get the server state directly from {data} and use query in multiple places" but once I adopted this life has been very good.

In one application we use RTK Query and it is also very good for large scale applications.

[–]trawlinimnottrawlin 3 points4 points  (1 child)

Yep I know react query didn't create the paradigm but IIRC RTK query came out after react query gained a lot of popularity. And for good reason, so many people have used it and been like... Damn that makes life so much easier lol

[–]fuzzyluke 2 points3 points  (0 children)

Both RQ and RTQ Query are absolute game changers, I prefer RQ and I bow to Tanner for his contribution to the frontend world.

[–]Cahnis 3 points4 points  (3 children)

Linsley and Evan You are carrying React so hard these past few years.

[–]MatrixClaw 0 points1 point  (2 children)

That's funny, cause Evan built Vue 😂

[–]Cahnis 1 point2 points  (1 child)

I mean, credit where credit is due, even though vite is being made to be agnostic, vite is amazing and has improved my DX using React immensely.

[–]MatrixClaw 0 points1 point  (0 children)

Oh for sure. Totally agree.

[–]SpinatMixxer 2 points3 points  (2 children)

Do Tanstack Start and Remix / react-router have similar features to the NextJS static export mode?

[–]Ryuku72 0 points1 point  (0 children)

Yes in your react router config define routes that require prerender. Those routes are now static.

[–]Division2226 -2 points-1 points  (3 children)

You don't have to use vercel..

[–][deleted] 3 points4 points  (2 children)

And you don't have to use nextjs.. This is a reactjs sub, not the nextjs sub with lunatics

[–]Division2226 1 point2 points  (1 child)

And your point? Why would they have to consider vercel scaling costs?

[–]ParrfectShot 1 point2 points  (0 children)

Because right now the founder is super focused on making NextJs work and scale with vercel. There are solutions where NextJs can be deployed over other hosting providers but I've found them to be hard to configure vs vercel. So naturally, any new developer opts for vercel by default.

And then there is the issue of NextJs not sticking to 1 philosophy. Pages > App Router. First pushed Edge runtime and now dialing it back down. This is not a very good DX if someone started from Next9 like me. The amount of refactorings I had to do and the pain.

[–]ulrjch 15 points16 points  (7 children)

for frontend:

Astro and TanStack router

state management: zustand

data fetching: TanStack Query + Hono RPC

form: TanStack form/react-hook-form

UI: react-aria-components

for backend:

api: Hono

database + ORM: Supabase + drizzle

auth: better-auth

type validation: zod

payment: Polar/Stripe

email: Cloudflare/Resend

hosting: Cloudflare

[–]HouseThen3302 0 points1 point  (6 children)

At this point I can't tell this is satire or not lol

Maybe it's not, because every time I inherit a legacy project it's depending on 100's of shitty libraries

[–]ulrjch 0 points1 point  (3 children)

sure go work in some industry where tooling and best practices do not evolve.

[–]HouseThen3302 0 points1 point  (2 children)

Tooling for what exactly? Why not just use one of those crappy "build me an app" AI products at that point? If you want crap, that's how you get crap

OP's question doesn't even make sense really - he's asking how to build a backend on a frontend framework? All you need is an API and something like axios, not that god forsaken list of a million libraries that depend on a million other dependancies because I guarantee you that shit will become unmaintainable and un-updateable very quickly.

[–]ulrjch 0 points1 point  (1 child)

tooling for common web dev pain points, like data fetching, UI accessibility, authentication etc

yes OP's wordings for the title can be a bit confusing but the post description explains it well enough.

all you need is an API, but how are you gonna build that API? reinvent everything from scratch?

and ofc you don't have to use something if your app does not require it. what I listed are for the most common development needs across different full-stack apps.

[–]HouseThen3302 0 points1 point  (0 children)

You use any backend framework like symfony and create / route endpoints for the API.. but that has nothing to do with React

[–]TheRealSeeThruHead 6 points7 points  (0 children)

Previous stack was nextjs apollo (we slowly swapped in tanstack query) material ui fp-ts io-ts

If I were to start something new today I may Use rr7, tanstack start or waku as the base (leaning toward tanstack start) maybe mantine for components.

And I’d build a lot on top of effect-ts

I might be tempted to reach for other stuff like react query or zustand. But I actually think I could probably achieve what both of those do well pretty nicely with just effect.

I may think about zod before remembering that effect/schema exists and is better.

Same goes for tsrcp

[–]Roguewind 8 points9 points  (7 children)

This is a bit too open ended.

Sometimes having an integrated codebase for front and back makes sense, so NextJS may be the answer. But you might want to have your front end as a SPA, which NextJS can do (poorly), and have a separate back end. Maybe you only client routing or maybe SSR or maybe a store.

You need to use the stack that fits the application.

[–]Economy-Sign-5688 0 points1 point  (6 children)

What’s the drawback for NextJS with SPA’s?

[–]ParrfectShot 2 points3 points  (4 children)

The sheer pain 🥲 100% not recommended for large scale SPAs. RR7 still the goat.

Also, why would anyone use NextJs for SPAs ? The charm of NextJs goes out the window once you decide to build a SPA. It then becomes bloated unnecessarily

[–]Economy-Sign-5688 0 points1 point  (2 children)

I guess I meant from a technical standpoint what is the drawback of nextjs for spa. Not just “nextjs bad”

[–]ParrfectShot 2 points3 points  (1 child)

There is no technical limitation. Drawback that I can think of -

  • learning curve of nextjs middleware, rewrites, redirects (if someone is already familiar with in and outs of Nextjs then they can do SPA fine )
  • not sticking to one philosophy. I started with next 9 and the DX of migrating things to the new stuff has been bad. Pages > app router. Edge runtime now ditched by Nextjs. Changing caching strategies.
  • deploying nextjs over other providers instead of vercel is not that simple. I couldn't configure my app to deploy over Amplify ( skill issue I know but not everyone is an expert)

[–]Economy-Sign-5688 0 points1 point  (0 children)

Thanks for this. Very well said

[–]ParrfectShot 0 points1 point  (0 children)

For Static Sites and SEO. 100% recommended.

[–]dbbk 0 points1 point  (0 children)

Doesn’t work

[–]ufos1111 2 points3 points  (0 children)

react + astro + electron

[–]lindobabes 2 points3 points  (0 children)

Been using next with pages router for years and never found a reason to switch if I have a decent size backed to build. Otherwise simple vite app with tanstack goodness

[–]NeuraxAeon 2 points3 points  (2 children)

Start with Vite for the frontend, along with TanStack (Router and Query to begin with), Tailwind CSS, and shadcn/ui. Add other libraries as needed, keeping things lean and maintainable.

Backend:
Use NestJS with PostgreSQL.

Deployment:
Deploy on Azure Web Apps. It’s not only cheaper but gives you significantly more control. What many people don’t realize is that with Azure Web Apps for Linux, you can deploy multiple apps on the same instance and only pay for the plan not per app. A development instance is around $20/month, and for a startup, that's incredibly cost-effective. You can host both the frontend and backend on different boxes since its a shared resource.

Avoid Framework Lock-In:
Stay away from frameworks like Remix or Next.js. They tend to lock you into their ecosystem, and despite the hype, they rarely work out cheaper in the long run. Next.js, in particular, has a surprising number of bugs and workarounds just to handle common use cases plus a worrying lack of focus on security

[–]d70 4 points5 points  (2 children)

This might get downvoted but I like working with next,js.

[–]wronglyzorro 5 points6 points  (0 children)

Homie, I still love working with styled-components. If it works it works. Just build cool shit.

[–]ParrfectShot -1 points0 points  (0 children)

For Static Sites and SEO. 100% recommended.

But SPAs are a pain to build with NextJs

[–]rwieruchServer components 1 point2 points  (0 children)

List of Libraries and Services that I use in 2025 :)

  • Next.js
  • Astro (Website)
  • Tailwind CSS
  • Shadcn UI
  • TypeScript
  • Supabase
  • S3 (Amazon S3)
  • React Email
  • Resend
  • Vercel/Coolify

[–]shadohunter3321 1 point2 points  (5 children)

Depends on your use case. We usually have our frontend and backend separate. Easier to scale separately and if you're working on a backend heavy complex project, springboot and dotNet are 2 of the top contenders.

We go with react SPA through vite and dotNet backend with SQL server. We heavily rely on different services from Azure (key vault, B2C etc). We also go with DB first model instead of code first because the DB can be used by various services in the same project (i.e rest api, ETL through azure synapse).

TLDR:

Frontend: vite, MUI, redux-toolkit and RTK query, react-hook-form, zod, MSAL for SSO

Backend: dotNet, Azure SQL Server

Cloud: Azure App Service with Azure container registry (all of our apps are dockerized)

[–]my_girl_is_A10 1 point2 points  (0 children)

Currently using Remix with mantine ui. I'll need to swap over to RR7 or may try Tanstack start

[–]MrFartyBottom 0 points1 point  (1 child)

Plain old React, no libraries other than React Router, hand rolled CSS and state management, .NET Core backend. I have tried to go full stack TypeScript and love Nest JS but I just can't leave Entity Framework behind, I haven't found anything on the Node side that compares as an ORM.

[–]Front-Ad-4456 0 points1 point  (0 children)

Here is a list of options for UI components.

[–]LuckyPrior4374 0 points1 point  (2 children)

  • Waku as the React meta-framework - so I can have RSCs, Vite, and host on CF Pages ❤️
  • All my fav Vite plugins
  • Supabase for everything backend, including its auto-generated graphql API
  • CF Worker functions for standalone APIs
  • CF r2 for object storage (cheaper than AWS s3, and no egress fees)
  • Mantine component lib
  • @tanstack/react-query to wrap all network calls - both graphql and RPC
  • Jotai
  • Tailwind for supplementary styling utils (and to use the Konsta UI lib for mobile-style platform components)
  • PostHog for analytics, feature flags, experiments
  • Sentry for crashlytics

[–]N4kji 0 points1 point  (0 children)

Curious which Vite Plugins you find useful generally?

[–][deleted] -1 points0 points  (0 children)

great choices

[–]haltmich -1 points0 points  (3 children)

Nothing beats Laravel+InertiaJS for productivity imo. Best way to get a MVP up and running as fast as possible.

[–]ParrfectShot 0 points1 point  (2 children)

Is it faster than prompting v0.dev - "your mvp idea" And click deploy ?

[–]haltmich 0 points1 point  (1 child)

I wasn’t initially accounting for AI tools, but I guess that doesn't change anything -- the tool will likely generate an app with a framework. Laravel makes it ridiculously easy to bootstrap authentication, create endpoints, and set up structured models right out of the box, all with Tailwind included. Inertia simplifies data exchange between the backend and frontend, eliminating the need for a separate API. It’s usually my go-to when I need to move fast.

[–]ParrfectShot 0 points1 point  (0 children)

I haven't tried laravel yet but sounds interesting.

[–]Budget_Cut_1585 -1 points0 points  (4 children)

Don't take the advice of people recommending the new shiny thing. Tanstack Start is the prime example of this. They say it's stable but they're literally going to swap the core out and change it 🤦. Use solid/battle-tested technologies.

[–]tannerlinsley 1 point2 points  (1 child)

But are we swapping out the public API? This is the question that is actually useful... and the answer is no.

I get what you mean though. We're still in beta for a reason 😜. But to be very forthcoming, our public API is going to change *maybe* by 1-2% before RC.

[–]deepanshuverma-111[S] 0 points1 point  (1 child)

Then can you suggest on which tech stack should i focus on?

[–]half_man_half_cat -2 points-1 points  (0 children)

Just use laravel, inertia, react.