React
Common React libraries architecture
Most React libraries share a similar architecture: a core with the main logic and a binding (hooks/components) for React integration. The core object is often created externally and connected via Context API. Libraries use the Observer pattern to notify React of changes, triggering re-renders with useSyncExternalStore or custom hooks
Time to ditch Redux: Why most React apps don't need it
Redux might be holding your app back! Most state is actually API data better handled with caching tools. Modern React can handle complex UI state with useState and custom hooks - no global store needed. Skip the boilerplate and complexity; your team will thank you when they don't have to trace actions through multiple files anymore.
Use React 19's cache() to kill waterfall fetching
React 19's cache() API for Server Components caches data fetches/computations per render, preventing redundant requests. This reduces data coupling between components and enables data preloading to avoid waterfall fetching, improving performance. Use cache() for custom data fetching functions (like database calls), as the built-in fetch() API in Next.js already handles caching
Quick links
- Beyond React.memo: Smart performance optimization that actually works
- The URL: React's underrated state manager
- React: The unexpected perfect engine for LLM workflows
- Server Actions with Toast: React's useActionState explained
Next.js
Next.js middleware exploit: CVE-2025-29927 authorization bypass
Critical CVE-2025-29927 in Next.js middleware lets attackers bypass security via the x-middleware-subrequest header. This impacts auth, CSP, geo-restrictions, and more. Affects v11.1.4 to unpatched v14/15. Update ASAP to patched versions (≥ 12.3.5, ≥ 13.5.9, ≥ 14.2.25, ≥ 15.2.3) or block the header
Next.js 15.2: Error handling that actually makes sense
Next.js 15.2 transforms your debugging experience with beautiful new error UIs and readable stack traces! The game-changing streaming metadata feature decouples UI rendering from metadata generation for faster page loads. Plus, Turbopack gets massive speed boosts with reduced memory usage and there's experimental support for React View Transitions!
Can Next.js handle serious traffic? The surprising answer
A pre-rendered Next.js site should handle tons of traffic, right? Wrong! This developer's shocking discovery shows VPS performance limits with barely any improvement after scaling up. After rejecting Cloudflare (privacy concerns) and Vercel (too expensive), a dedicated server finally delivered thousands of requests per second.
We ditched Next.js and lived to tell the tale
Sometimes the popular choice isn't right! This team abandoned Next.js and found greater simplicity, better performance, and increased flexibility with their custom solution. Their honest assessment of Next.js limitations might challenge your assumptions about which framework best fits your project's actual needs.
Quick links
Others
Tailwind's hidden cost: The maintainability trade-off
Tailwind lets you ship blazing fast with predefined styles and no custom CSS files, but at what cost? As projects grow, maintaining those utility-packed class strings becomes increasingly challenging. This honest look at Tailwind's trade-offs will help you decide if the initial velocity boost is worth potential long-term maintenance headaches.
CSS just got functions! Here's why it's a game-changer
CSS is finally getting real functions! Define them with @function
, pass arguments with type-checking, and return values with the result
descriptor. Currently in Chrome Canary behind a flag, they'll revolutionize complex CSS logic - especially for fluid typography and dynamic layouts. The CSS preprocessor era might finally be ending!
Why prefetching can actually slow your site down
While prefetching is supposed to improve website performance by loading resources in advance, it can sometimes worsen loading speed by competing with critical content for bandwidth. Despite being assigned the lowest priority, prefetch requests may initiate too early, delaying the loading of important elements like the Largest Contentful Paint (LCP). To prevent this, you can inject prefetch hints via JavaScript after the initial page load to make sure essential content loads first.
Quick links
- CSS individual transforms are additive (and awesome)
- CSS relative colors: Dynamic color generation is here
- TypeScript: The JavaScript sidekick you didn't know you needed!
Trending
React 2025: Server power unleashed & dev tools evolved!
This year, expect React Server Components (RSC) to become standard. React Server Functions (RSF) will simplify data fetching & mutations. React 19 brings form improvements. Frameworks beyond Next.js (TanStack Start, React Router) will rise. Full-Stack React gains traction. Plus, watch for new styling approaches & tools like Biome and the React Compiler.
TypeScript is getting 10x faster.
Get ready for Corsa
- TypeScript's new Go-based compiler that promises 10x faster builds, half the memory usage, and near-instant editor responsiveness! The upcoming native port will transform the TypeScript experience, especially on large codebases. Preview coming mid-2025, with full release by year-end.
Corepack unplugged: Node.js rethinks bundled package managers!
The Node.js TSC has voted to stop distributing Corepack in future releases (25+), though it remains experimental in v24 and earlier . This move reflects low adoption, distribution concerns, and the desire for independent evolution of package managers. Developers may need to install Corepack separately if needed.
TanStack Start on Netlify: Official deployment partner
Netlify is now the official deployment partner for TanStack Start, the hot new full-stack React framework! Expect seamless, zero-config deployments and a killer developer experience.
Quick links
- How we migrated 160,000 lines to TypeScript with zero downtime
- Prisma replaces Rust with WASM and TypeScript, gets 3.4x faster
Tools
TanStack Form v1: Forms done right, finally
TanStack Form v1 is here and production-ready across React, Vue, Angular, Solid, and Lit! With extreme type safety, schema validation (Zod, Valibot, ArkType), and smart async validation with built-in debouncing, it solves the form headaches that have plagued frontend devs for years.
React Router v7: Middleware changes everything
React Router v7 introduces middleware - a game-changing approach to handling routes that lets you intercept and transform navigation requests before they complete. Perfect for auth checks, analytics, permission verification, and more.
TypeScript 5.8: Better return type checks & ESM require() support
TypeScript 5.8 enhances code checks with granular return expression analysis, improving bug detection. It boosts Node.js ESM/CJS interop under --module nodenext
. The --erasableSyntaxOnly
flag aids Node.js direct TS execution
Chrome 133: Enhanced attr() for styling any CSS property
Chrome 133 enhances CSS with two main features: attr()
for all properties and scroll state container queries. The attr()
function can now use HTML attribute values to style any CSS property, not just content. This includes specifying data types and fallback values. Additionally, container queries can now style elements based on their scroll state (e.g., "stuck", "snapped") within a defined container. This allows dynamic styling of elements like sticky headers
Quick links
- Why does target="_blank" have that underscore?
- Lynx: Build native mobile & web UIs from one codebase