
Styling React in 2026: How I Actually Choose
Styling is the most argued-about, least reasoned-about decision in a React app. The real question isn't which library looks nicest in a demo — it's which one survives a growing codebase. Here's how I weigh Tailwind, CSS Modules, CSS-in-JS, and zero-runtime options, and where each one earns its place.
Read full article →
Immutable Data in React: The Rule I Stopped Arguing About
A module I was told not to over-engineer grew into an entire application. Most of what let it survive was boring — and one of the most boring rules was never mutating state in place. Here's how immutability actually works in React, when I reach for Immer, and why I skip Immutable.js.
Read full article →
Give Your AI Agent a Memory — It Will Stop Disappointing You
A simple file-based memory system that turns AI agents from forgetful interns into reliable collaborators. Works for engineers, designers, writers, and anyone who uses AI tools daily.
Read full article →
React State Management with Reatom: When useState Stops Being Enough
Most React state doesn't need a library. Then one workflow grows into drafts, derived values, undo, optimistic steps, and cross-component coordination. This is where I reach for Reatom instead of turning TanStack Query into a client-state store.
Read full article →
Stop Quizzing Senior Engineers — Start Talking to Them (TL;DR)
The condensed version: why conversational interviews beat trivia quizzes for senior roles, with practical examples and actionable advice.
Read full article →
Stop Quizzing Senior Engineers — Start Talking to Them
Why conversational interviews produce better hiring signal than algorithmic puzzles and API trivia — and how one interview with a guy named John changed how I think about hiring.
Read full article →
Routing with TanStack Router: Treat the URL Like Application State
Routing is not just rendering a page for a path. In serious React apps, the URL carries product state: filters, tabs, pagination, selected records, redirects, and preload decisions. TanStack Router makes that state typed instead of hopeful.
Read full article →
React Data Fetching with TanStack Query: The Patterns That Keep Apps Calm
TanStack Query is not just a better useEffect. It is the server-state layer of your React app. The hard part is not fetching data — it is designing keys, freshness, invalidation, pagination, and prefetching so the UI stays predictable.
Read full article →
Error Handling in React: What Users Should See When Things Break
Error handling is not a catch block sprinkled at the end. In a React + TanStack app, it is a product decision: what fails locally, what fails at the route level, what can retry, and what the user needs to do next.
Read full article →
Code Structure in React: The FSD Version I Actually Use
Flat folders are fine until every feature starts touching routes, queries, forms, permissions, and UI state. Here's the React structure I use when a TanStack app grows past the simple stage without turning FSD into folder theater.
Read full article →