Back to Blog

The Modern Stack: Why I Bet on Next.js 16, React 19, and Tailwind 4

A technical deep dive into the stack used for this portfolio. Highlighting React Server Components, Tailwind's new engine, and performance benefits.

Next.jsReactTailwind CSS
February 7, 2026
2 min read

When building this portfolio, I didn't just want a showcase of my work—I wanted the site itself to be a testament to modern web development. The landscape is shifting rapidly, and sticking to the "safe" stack often means missing out on significant performance and DX improvements.

Here is why I bet on the bleeding edge: Next.js 16, React 19, and Tailwind CSS v4.

React 19 & Server Components

The biggest shift in the React ecosystem has been the move to Server Components (RSC). With Next.js 16, this pattern isn't just supported; it is the default.

By moving non-interactive UI logic to the server, we drastically reduce the client-side JavaScript bundle. This portfolio renders the majority of its content on the server, streaming HTML directly to the browser. The result? Near-instant First Contentful Paint (FCP) and a Time to Interactive (TTI) that feels almost native.

The new use hook in React 19 simplifies data fetching in ways we could only dream of before. No more useEffect chaining for simple data requirements. We just await our data in the component.

Tailwind CSS v4: The New Engine

Tailwind has always been about utility-first, but version 4 changes the game under the hood. The new engine (Oxide) is written in Rust, and the speed difference is palpable during development. HMR (Hot Module Replacement) is instantaneous.

But beyond build speeds, the new dynamic utility architecture means I don't have to configure complex tailwind.config.js files for every arbitrary value. The JIT mode is now essentially the only mode, and it feels seamless.

Performance First

This stack isn't just about developer experience; it's about the user.

  • Zero Runtime CSS: Tailwind extracts static CSS.
  • Server-First: React 19 minimizes hydration costs.
  • Edge Caching: Next.js middleware allows me to cache aggressively at the edge.

The combination results in a Lighthouse score that stays green, even as I add rich media and interactions.

Conclusion

Choosing a stack is always a trade-off between stability and innovation. With Next.js 16 and React 19, that gap is closing. We get the innovation of Server Components with the stability of the React ecosystem. And with Tailwind 4, styling is faster than ever.

This portfolio is living proof that the modern stack is ready for production.