Skip to main content
Juliano Alves
Back to blog
1 min read
Building accessible UIs with Radix primitives
Why unstyled primitives beat hand-rolled dialogs, focus traps, aria attributes, and composing with your design system tokens.
React
Accessibility
Design Systems
1 min read
The use() hook, Suspense, and async data in React 19
How use differs from useEffect, throwing promises to Suspense boundaries, and staying compatible with Server Components in Next.js.
React
Next.js
2 min read
Infinite queries with TanStack Query
useInfiniteQuery, stable pageParam, flattening pages, bi-directional scroll, and cache invalidation when lists mutate.
React
TypeScript
Data fetching
1 min read
JWT access tokens and refresh rotation in SPAs
HttpOnly cookies vs memory, refresh token reuse detection, sliding sessions, and why BFFs still help browser security.
Security
React
API
1 min read
Layout animations with Framer Motion
layout and layoutId for shared element transitions, FLIP under the hood, performance with transform, and reduced motion preferences.
React
Animation
Frontend
1 min read
The React Compiler and automatic memoization
Rules of React, what the compiler proves, reducing useMemo/useCallback noise, and interoperability with existing codebases.
React
Compiler
Performance
4 min read
Streaming and Suspense in the Next.js App Router
A deep dive into HTML streaming, Suspense boundaries, loading.tsx, caching semantics, and how to compose fast perceived performance without sacrificing correctness.
Next.js
React
Performance
1 min read
tRPC: end-to-end types without GraphQL
Procedures, routers, context, Zod input validation, React Query integration, and boundaries between BFF tRPC and public REST.
TypeScript
API
React
1 min read
Internationalization in the Next.js App Router
Locale prefixes, next-intl vs DIY dictionaries, server vs client messages, RTL, and SEO with hreflang.
Next.js
i18n
React

© 2026 Juliano Alves. All rights reserved.