Izzo: Your React app ships, users complain it's slow, and your team starts chasing symptoms instead of root causes. Izzo: You're listening to Exploring Next, episode one-seventy-one. I'm Izzo, and with me is Boone. Today we're talking about Vercel's new react-best-practices framework—and why it might actually solve the performance optimization chaos most teams deal with. Boone: Yeah, this hits close to home. I've seen teams spend weeks optimizing useMemo calls while their app is making sequential API calls that add half a second of waiting time. Izzo: Exactly. And that's expensive, right? You're optimizing the wrong thing while users are bouncing. Vercel took ten-plus years of React performance work and structured it into something systematic. Boone: The key insight here is ordering. They start with the two fixes that usually move real-world metrics first: eliminate waterfalls, reduce bundle size. Everything else comes after. Izzo: Which makes total sense from a product perspective. If you ship an extra 300KB of JavaScript on every page load, shaving microseconds off a loop doesn't matter to your users. Boone: Right, and performance work compounds. That small regression you ship today becomes a tax on every session until someone pays down the debt. So they built this framework around impact ordering. Izzo: Forty-plus rules across eight categories. They rate each rule from CRITICAL to LOW impact. So teams know what to fix first instead of just... hoping. Boone: Let me break down those eight categories, because this is where it gets interesting. They start with eliminating async waterfalls—that's your CRITICAL tier. Izzo: Give me a real example, Boone. What does a waterfall look like in practice? Boone: Here's one from the repo. You have a function that fetches user data, then checks if it should skip processing. But it's fetching the data even when it's going to skip—that's a waterfall. Izzo: So you move the conditional check before the fetch. Simple fix, but how many teams would catch that in code review? Boone: Probably not many. And that's why I'm excited about the AI agent integration. They compile all these rules into a single AGENTS.md file that your coding agent can reference during reviews. Izzo: Wait, hold on. They're packaging this as agent skills? That's clever. Your Cursor or Claude agent can spot cascading useEffect calls and suggest fixes based on these patterns. Boone: Exactly. And it's not just theoretical patterns—these come from real performance work on production codebases. Like combining loop iterations when a chat page was scanning the same message list eight times. Izzo: Eight times? That's... actually painful to think about. Especially when you have thousands of messages. Boone: Or parallelizing awaits. They found an API waiting for one database call to finish before starting the next, even though they were independent. Running them in parallel cut wait time in half. Izzo: This is what I like about this approach—it's not just 'here are some tips.' They're solving the ordering problem. Teams waste time on micro-optimizations while missing the big wins. Boone: The lazy state initialization example really got me. A component was parsing JSON config from localStorage on every render, even though it only needed it once for state initialization. Izzo: And the fix is wrapping it in a callback—useState with an arrow function. That's like, a two-character change that eliminates wasted work on every render. Boone: But here's what's really smart about this framework: it's designed to be followed consistently, including by AI agents doing refactors. So teams can apply the same decisions across a large codebase. Izzo: That's the product manager in me loving this. You're not just fixing performance issues—you're building institutional knowledge that scales with your team and your codebase. Boone: And it covers the full stack of React performance: server-side, client-side fetching, re-render optimization, rendering performance, advanced patterns, even JavaScript performance fundamentals. Izzo: I'm giving this a solid A-minus. It's systematic, it's practical, and it solves a real problem that every React team hits. The AI agent integration pushes it over the edge. Boone: Agreed. And speaking of building next—let's get concrete about what listeners should try. Izzo: First, go check out the react-best-practices repository on GitHub. Clone it, read through the rules, and see how they organize performance work by impact. Boone: Second, if you're using a coding agent, run 'npx add-skill vercel-labs/agent-skills' to install these patterns. Then ask your agent to review some React code and see what it catches. Izzo: And third, audit your own React app for the big wins. Look for sequential awaits that could be parallel, check your bundle size, find components that re-render unnecessarily. Start with the CRITICAL tier. I'm definitely adding this to my weekend project list. Actually, scratch that—I'm using it at work this week. That's Exploring Next. Performance optimization doesn't have to be reactive—sometimes the best practice is just knowing where to start.