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.