---
title: "Advanced, real-world React case studies"
publication: "React Status"
issue: 425
published_at: "2025-04-16"
canonical_url: "https://react.statuscode.com/issues/425"
---

Plus Next.js 15.3, RedwoodJS's evolution, and creating a streaming chat UI. |        

#​425 — April 16, 2025 

[Read on the Web](https://react.statuscode.com/issues/<!--%20\\id%20-->)   

🥚 We're taking a little break for Easter but didn't want to take the _entire_ week off, so we have a slimline issue for you today :-) Back to full Dev Mode™ next Wednesday!
__
_Peter Cooper, your editor_ 

Together with [![React Day\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_1280,h_256/e_make_transparent/co_white,e_outline:19/e672l9gdnsfefrsattar.png)](https://certificates.dev/react?friend=RSTATUS&redirect=https%3A%2F%2Ffrontendnation.com%2Fevents%2Freact-day-2025)  React Status  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/mtveehlixad8qtz2svko.jpg)](https://largeapps.dev/case-studies/advanced/)  

[Advanced React in the Wild](https://largeapps.dev/case-studies/advanced/) — A round-up of case studies showing how five different engineering teams have pushed React to the limit in production and their real-world wins in areas like performance, Core Web Vitals, caching, and more. A lot to enjoy here! 

Addy Osmani and Hassan Djirdeh   

[JSX Over the Wire](https://overreacted.io/jsx-over-the-wire/) — Dan Abramov builds on last week’s epic [React for Two Computers](https://overreacted.io/react-for-two-computers/) with thoughts on the evolution of passing data from server to client, contrasting traditional REST endpoints with a BFF approach that builds screen-specific ViewModels mirroring React’s component tree. An enjoyable train of thought for anyone interested in how and why client/server apps are organized the way they are and how it could be even better. 

Dan Abramov   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/263aaf47.png)](https://certificates.dev/react?friend=RSTATUS&redirect=https%3A%2F%2Ffrontendnation.com%2Fevents%2Freact-day-2025) 

[React Day: Free Online Event with Expert Talks on Modern React](https://certificates.dev/react?friend=RSTATUS&redirect=https%3A%2F%2Ffrontendnation.com%2Fevents%2Freact-day-2025) — Join Frontend Nation’s React Day on April 29 - a FREE online event with top experts like Kent C. Dodds, Tejas Kumar, & more. Get real-world insights into performance, UI for AI, & modern frontend techniques. Get your free ticket now. 

React Day sponsor   

[Fastify + React – 7x Faster than Next.js?](https://hire.jonasgalvez.com.br/2025/apr/9/fastify-speed/) — Node’s [Fastify](https://fastify.dev/) framework has a mature plugin for Vite integration ([explained in detail here](https://blog.platformatic.dev/exploring-react-ssr-with-fastify)), including [@fastify/react](https://github.com/fastify/fastify-vite/releases/tag/react-v1.0.0) which [just hit version 1.0](https://github.com/fastify/fastify-vite/releases/tag/react-v1.0.0) and makes it easy to create fast, featureful (though obviously less so than Next.js) React apps atop Fastify. How fast? Very, it seems. 

Jonas Galvez   

[Creating an AI Chat Experience with React and OpenAI](https://www.robinwieruch.de/react-ai-chat/) — If you’d rather create your own streaming chat UI for OpenAI’s models (such as for the new API-only GPT 4.1 models) Robin has some pointers for getting started. 

Robin Wieruch   

📄 [Migrating Grep from Create React App to Next.js](https://vercel.com/blog/migrating-grep-from-create-react-app-to-next-js) – That’s [Grep](https://grep.app/) the code search engine, not `grep` ;-) More technical detail here than I was expecting. Niser and Corbett (Vercel)  

🛠 Code, Tools & Libraries  

[RedwoodJS Evolving into Redwood GraphQL and RedwoodSDK](https://redwoodjs.com/) — The full-stack React-based framework is shaking things up with the existing GraphQL-oriented framework becoming _Redwood GraphQL_ and _RedwoodSDK_ being a more general app abstraction set to be explained properly in the coming weeks. 

RedwoodJS   

[react-photo-sphere-viewer: A Component to View Photo Spheres](https://github.com/elius94/react-photo-sphere-viewer) — This is one of those cases where [a live demo](https://codesandbox.io/p/sandbox/react-photo-sphere-viewer-playground-zd8nt8) is valuable. It’s basically a way to navigate specially-taken 360 degree photos (think Google Street View - kinda). 

Elia Lazzari   

[Agent Hooks: Hooks That Bring Agents Into Your App](https://github.com/chuanqisun/react-agent-hooks) — You could wire this sort of thing together yourself, but it provides an interesting abstraction. 

Sun Chuánqí   

- ⭐ [Next.js 15.3](https://nextjs.org/blog/next-15-3) – Now with alpha support for using Turbopack for faster production builds, community support for Rspack, and new navigation hooks.
- [gridstack.js 12.0](https://github.com/gridstack/gridstack.js) – Build responsive interactive dashboards quickly.
- [useHotkeys 5.0](https://github.com/JohannesKlauss/react-hotkeys-hook) – Hook for using keyboard shortcuts in components.
- [React Date Picker 8.3](https://github.com/Hacker0x01/react-datepicker) – Simple date picker component. ([Demo](https://reactdatepicker.com/).)
- [React Spectrum April 11, 2025 Release](https://react-spectrum.adobe.com/releases/2025-04-11.html)
- [Expo SDK 53 Beta](https://expo.dev/changelog/sdk-53-beta)
- [PixiJS React v8](https://pixijs.com/blog/pixi-react-v8-live)
- [Astro 5.7](https://astro.build/blog/astro-570/)   

📢 Elsewhere in JavaScript  

A roundup of some other interesting stories in the broader JavaScript landscape, in case you've missed them: 

- 📘 Dr. Axel Rauschmayer has released [_Exploring TypeScript: TS 5.8 Edition_](https://exploringjs.com/ts/) – you can buy it, but also read it all online for free [in HTML form.](https://exploringjs.com/ts/book/index.html)
- [ESLint has added support for 'bulk suppressions'](https://eslint.org/blog/2025/04/introducing-bulk-suppressions/), a way to make adopting stricter linting rules more manageable.
- Matt Smith showed off a [better way to apply default values using nullish coalescing with `??`](https://allthingssmitty.com/2025/04/10/mastering-default-values-in-javascript-with-the-nullish-coalescing-operator/) rather than using`||`.
- The long-standing [records and tuples proposal for JavaScript has been withdrawn](https://github.com/tc39/proposal-record-tuple/issues/394) at the latest TC39 meeting.         

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
