React is how I think about user interfaces — I've used it in every project I've built, from server-rendered storefronts to real-time blockchain dashboards to mobile apps.

Server Components changed how I approach data fetching — colocating the data loading with the component that needs it feels right, and I've been building with React 18 and 19 across Next.js 14 through 16.


For state management I pick what fits the problem. Jotai when I want something lightweight (Hurivuri, the Portfolio Tetris game), Recoil when derived state gets complex (Moonly's staking UI with real-time reward counters), XState when the logic is genuinely state-machine shaped (Solang Playground's editor). Custom hooks are the most underrated pattern in React — I use them for transaction lifecycle management, on-chain state sync, and multi-wallet coordination.


Some of the most challenging component work I've done includes Typcraft's drag-and-drop template editor, Moonly's animated reward counters with bulk multi-select operations, and Hurivuri's server-rendered product catalog. Each pushed me to think harder about composition and performance.


React gives me a consistent mental model whether I'm building for web or mobile, and that consistency is why it remains my first choice for UI.