Previous Works
Free lessons
React Query6 min read
UX: How to make a list to detail view feel instant
Your list already fetched most of what the detail view needs. Stop hiding it behind a skeleton. placeholderData, isLoading vs isFetching, and the loading state that actually works.
State architecture9 min read
How multiple sources of truth bite you (local vs URL state)
Two parts of the system were deciding the same thing. They stopped agreeing at the worst possible moment.
Performance16 min read
Virtualization vs. Infinite Scroll, and How to Build Them
Three fixes for one slow feed, and they're not the same fix. The three-layer model, plus a virtualized list built from scratch in plain React.
Performance4 min read
Long lists: the decision guide
A scannable cheat-sheet: the three-layer model, the when-to-use matrix, and offset vs. cursor pagination on one page.
More on the easel. New lessons drop alongside modules.