---
title: "How to roll your own server-side React framework"
publication: "React Status"
issue: 467
published_at: "2026-03-20"
canonical_url: "https://react.statuscode.com/issues/467"
---

Plus Next.js 16.2, Vercel's TOS tweaks, and the idea of 'comprehension debt'.       

#​467 — March 20, 2026 

[Read on the Web](https://react.statuscode.com/issues/467)  

Together with [![Clerk\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_220,h_64/e_make_transparent/co_white,e_outline:5/j3vhv1hnwqeffgkzzlvu.png)](https://go.clerk.com/QPJOh73)  React Status  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/mugxsoqu3wdoesaay38f.jpg)](https://blog.platformatic.dev/react-ssr-framework-benchmark-tanstack-start-react-router-nextjs)  

📊 [A React SSR Framework Performance Showdown](https://blog.platformatic.dev/react-ssr-framework-benchmark-tanstack-start-react-router-nextjs) — A significant benchmarking effort where TanStack Start, React Router, and Next.js were put under heavy load. The benchmark results helped make TanStack Start and Next.js better, too, as their maintainers fixed issues raised during testing, including [this speedup for React itself.](https://github.com/facebook/react/pull/35776)__ 

Matteo Collina (Platformatic)   

💡 As always with benchmarks, they present a single snapshot in time, are hard to get right, and real life situations vary a lot.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/6733df67.png)](https://go.clerk.com/QPJOh73) 

[Auth That Plays Nice with Suspense and Transitions](https://go.clerk.com/QPJOh73) — Clerk Core 3 adds full support for React concurrent rendering — Suspense, transitions, and streaming SSR now work correctly with auth state. Also ships new hooks for custom sign-in and sign-up flows, a visual theme editor, and ~50KB smaller bundles. 

Clerk sponsor   

[Why We Rolled Our Own React Server Components Framework](https://www.aha.io/engineering/articles/why-we-rolled-our-own-rsc-framework) — _Another_ one? The team at _Aha!_ had specific needs existing frameworks couldn’t meet, and modern React and Vite have made ‘rolling your own’ a realistic option. Josh shares a _lot_ of details on how to approach such a task yourself. 

Josh Wilson (Aha!)   

💡 If you go down the 'roll your own' rabbit hole, [Nitro v3](https://nitro.build/blog/v3-beta) is worth a look as it now makes it possible to [tie Vite and React](https://nitro.build/examples/vite-ssr-react) together to build server-side apps.  

**IN BRIEF:** 

- [Expo UI in SDK 55](https://expo.dev/blog/expo-ui-in-sdk-55-jetpack-compose-now-available-for-react-native-apps) brings Jetpack Compose (now in beta) and reworked SwiftUI APIs into React Native apps.
- The moderator of the `/r/reactjs` subreddit (Mark Erikson of Redux fame) is [seeking feedback on how to make the sub better.](https://www.reddit.com/r/reactjs/comments/1rugk9g/announcement_requesting_community_feedback_on_sub/)
- [Solid](https://www.solidjs.com/)'s Ryan Carniato argues [two unpopular React design choices were unavoidable](https://dev.to/playfulprogramming/two-react-design-choices-developers-dont-like-but-cant-avoid-d6g) (deferred state commits and dependency arrays on effects) and signal-based alternatives (like Solid) only avoid them by staying synchronous.
- 🤖 In [a post on _X_](https://x.com/felixrieseberg/status/2034688574239776778), Anthropic's Felix Rieseberg reveals the [main Claude site](https://claude.ai/) and desktop apps have shifted to Vite and TanStack Router.   

[5x SSR Throughput: Profiling SSR Hot Paths in TanStack Start](https://tanstack.com/blog/tanstack-start-5x-ssr-throughput) — An in-depth explanation, coupled with analysis, of TanStack’s efforts to significantly improve the server-side rendering performance of [TanStack Start.](https://tanstack.com/start/latest) 5x higher throughput and a 90% drop in average latency is [_not to be sniffed at._](https://idioms.thefreedictionary.com/not+to+be+sniffed+at) 

Schiller and Pellet (TanStack)   

[`npx workos`: An AI Agent That Writes Auth Directly Into Your Codebase](https://workos.com/docs/authkit/cli-installer?utm_source=cpreact&utm_medium=newsletter&utm_campaign=q12026) — Reads your project, detects your framework, writes the integration, then typechecks and fixes its own build errors. 

WorkOS sponsor   

📄 [Start Naming Your `useEffect` Functions (You'll Thank Me Later)](https://neciudan.dev/name-your-effects) Neciu Dan 

📺 [Generating Images with TanStack AI](https://www.youtube.com/watch?v=YOa99Wpzd3o) Jack Herrington  

🛠 Code, Tools & Libraries  

[Next.js 16.2 Released](https://nextjs.org/blog/next-16-2) — A release focused on developer experience with much faster `next dev` startup, ~50% faster rendering, Server Function logging in dev, plus [significant Turbopack-related improvements](https://nextjs.org/blog/next-16-2-turbopack), and [improvements for AI-assisted development.](https://nextjs.org/blog/next-16-2-ai) 

Jimmy Lai, Tim Neutkens   

[React Native Reanimated DnD 2.0: The Drag and Drop Library](https://reanimated-dnd-docs.vercel.app/) — Built with Reanimated 4 and Worklets for 60 fps animations. You can scan a QR code on the homepage to try it for yourself. [v2.0](https://github.com/entropyconquers/react-native-reanimated-dnd/releases/tag/v2.0.0) migrates the library to Reanimated 4 and adds sortable grids and dynamic heights. 

Vishesh Raheja   

[RevoGrid: High-Performance Data Grid Component](https://rv-grid.com/) — A high-performance data grid control built for massive datasets. [Integrates with React](https://rv-grid.com/guide/react/), Vue, Angular, and Svelte. [Live demo](https://rv-grid.com/demo/) and [GitHub repo.](https://github.com/revolist/revogrid) 

Revolist OU   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ujagdenzznvptt9h5kr9.jpg)](https://github.com/darula-hpp/shimmer-from-structure)  

- [Shimmer From Structure 2.4](https://github.com/darula-hpp/shimmer-from-structure) – Auto-generates pixel-perfect 'shimmer skeletons' for components that are loading _(above)_. [The homepage](https://shimmer-from-structure-docs.vercel.app/) is a great live demo.
- [Streamdown 2.5](https://vercel.com/changelog/streamdown-2-5) – Vercel's component for rendering streaming Markdown.
- ⌨️ [React Hotkeys 3.0](https://github.com/jaywcjlove/react-hotkeys) – Component to listen to keydown/keyup and defining and dispatching keyboard shortcuts.
- [react-fontawesome 3.3](https://github.com/FortAwesome/react-fontawesome) – Official React component for _Font Awesome_icons.
- [next-forge 6.0](https://www.next-forge.com/) – Vercel's monorepo Turborepo template for Next.js apps.
- [Modern.js 3.1](https://github.com/web-infra-dev/modern.js) – ByteDance's progressive React & Rsbuild framework.
- [React Notion X 7.10](https://github.com/NotionX/react-notion-x) – Fast and accurate React renderer for Notion.
- 📅 [React Native DateTimePicker 9.1](https://github.com/react-native-datetimepicker/datetimepicker)
- [React Native for Windows 0.82](https://github.com/microsoft/react-native-windows/releases/tag/react-native-windows_v0.82.0)      

📰 Classifieds   

📸 Add robust 1D/2D barcode scanning to your web app with [STRICH](https://strich.io/?ref=react-status). Easy integration, simple pricing. [Free trial and demo app available](https://strich.io/?ref=react-status). 

--- 

🏃 Your existing React Native apps can now run on Fire TV with minimal changes.[Learn more about Vega OS](https://fandf.co/40mCQIT) and see how simple it is to get started.     

📢 Elsewhere in the ecosystem  

- 🤖 [Addy Osmani introduces us to _comprehension debt_](https://addyosmani.com/blog/comprehension-debt/). In a world of agent-produced code, the question is now not _“how do we generate more code?”_ but _“how do we actually understand more of what we’re shipping?”_
- 🤖 Vercel has [updated its terms of service](https://vercel.com/changelog/updates-to-terms-of-service-march-2026) to allow for using code for AI model training and _"with AI model providers"_. It's off by default for _paid_ users, but Hobby users need to opt out manually.
- ⚠️ All maintained Node.js versions (25.x, 24.x, 22.x and 20.x) [will get security releases next week](https://nodejs.org/en/blog/vulnerability/march-2026-security-releases) (on or after March 24) to address nine vulnerabilities.
- [Bun v1.3.11](https://bun.sh/blog/bun-v1.3.11) has been released with `Bun.cron` for OS-level cron jobs and expression parsing, ANSI and grapheme-aware string slicing, and yet more [Node.js compatibility improvements.](https://bun.sh/blog/bun-v1.3.11#node-js-compatibility-improvements)
- If upgrading to macOS 26 (Tahoe) has broken support for custom local TLDs (e.g. `.internal` or `.test`), [this Gist might be useful.](https://gist.github.com/adamamyl/81b78eced40feae50eae7c4f3bec1f5a)
- And much, much more in [this week's _JavaScript Weekly._](https://javascriptweekly.com/issues/777)         

Curated by Peter Cooper and Terence C. Gannon. 

A **[Cooperpress](https://cooperpress.com/)** publication. 

[Change your email address](https://react.statuscode.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://react.statuscode.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
