Skip to main content
React stack for 2026: what we use today and why — Frizmo Tech
Back to blog
EngineeringMarch 1, 20266 min read

React stack for 2026: what we use today and why

The React ecosystem has changed significantly in the last 2 years. Here's the stack we use to build production projects today — and a brief explanation of why we choose each component.

Two years ago the standard React stack was Create React App + Redux + REST API. Today almost every one of those components has a better alternative. In this article I'll cover what we use at Frizmo Tech for new projects in 2026.

Frontend foundation

Vite instead of Create React App

Create React App was the de facto standard for starting a React app, but Facebook archived it in 2023. Vite is the replacement — 10x faster dev server, instant HMR, smaller bundle. For 2026, there's no reason not to use Vite.

Next.js for full-stack apps

When you need SSR, file-based routing, API routes and Vercel deployment in a single framework, Next.js is the more mature choice. Server components in the App Router solve classic performance problems that previously required custom solutions.

TypeScript always

Not up for debate. Even for simple projects, TypeScript prevents a class of bugs that show up in production. The cost is minimal; the benefits are significant.

Styling

Tailwind CSS v4

CSS-in-JS approaches (styled-components, emotion) were popular, but have runtime cost and often make maintenance difficult. Tailwind is utility-first — looks ugly in HTML, but gives a consistent design system without unnecessary code generation.

Tailwind v4 (late 2024) significantly simplified setup. Configuration is CSS-first (no JS config file), build times are 5-10x faster, and it works without a PostCSS plugin chain.

Animations and motion

Motion (instead of Framer Motion)

Framer Motion became the standard for React animations, but is heavy (46KB gzip). Motion (same team, mini version) is 18KB and covers 95% of cases. When bundle size matters — the choice is obvious.

State management

TanStack Query for server state

Before, we wrote fetching logic manually with useEffect. TanStack Query (previously React Query) automates caching, refetching, optimistic updates and background sync. Code shrinks significantly; reliability grows.

Zustand for client state

Redux was overkill for most projects. Zustand gives 90% of the usefulness with 10% of the code. For global state without complex interceptors and middleware — that's exactly what you need.

Backend and API

tRPC for type-safe APIs

GraphQL has its strengths, but for most projects the complexity isn't worth it. tRPC gives end-to-end type safety between frontend and backend without code generation. An API endpoint change is automatically reflected in frontend types.

Prisma for database access

A solid ORM with typed queries. Migrations work well, the schema is version-controlled, and TypeScript integration is seamless.

Authentication

Clerk or Auth.js

For projects with a budget — Clerk. Pre-built UI components, social login, organizations, MFA — everything works out-of-the-box. For budget-conscious projects — Auth.js (previously NextAuth) is free and flexible enough.

Infrastructure

Vercel for hosting

Not ideal for everything, but for most projects it's perfect. Edge network, automatic CI/CD from GitHub, easy custom domain setup. The free tier covers small to medium projects.

Postgres (Supabase or Railway)

Postgres is the database for most cases. Supabase gives Postgres + Auth + storage + real-time in one product. Railway is a simpler alternative if you just want Postgres without additional services.

Observability

  • Sentry — error tracking, free tier is enough
  • Plausible — privacy-friendly analytics, no cookie banner needed
  • Vercel Analytics — Real User Metrics integration
  • Better Stack — uptime monitoring

What we DON'T use

List of technologies we often see in proposals but avoid for most projects:

  • Redux Toolkit — overkill for 90% of projects, Zustand is enough
  • styled-components / emotion — runtime cost, Tailwind is better
  • GraphQL — complexity rarely pays off, tRPC gives better type safety with less overhead
  • Microservices architecture — for startup products, monolith is always the right choice
  • Kubernetes — for Frizmo Tech projects, never needed

Conclusion

The 2026 stack is simpler, faster and more type-safe than that of 2022. The key change is the move from complex tools (Webpack, Redux, GraphQL) to simpler alternatives (Vite, Zustand, tRPC). A good tech stack is one that maximally reduces boilerplate writing and maximally increases the feedback loop.

Have a question on a topic not covered?

Send an email with the topic and we'll cover it in a future article.

Get in touch