The notebook
Notes from
the build.
Short pieces on the parts of frontend work that took me longest to get right - data fetching, forms, state, and the performance work nobody puts in a case study.
Infinite scroll that doesn't fight the user
Pagination is easy. Infinite scroll is easy. Making one feel like the other - stable scroll position, a real end state, a back button that works - took me three attempts.
Formik and Yup got me most of the way; Zod and a shared schema finished the job.
Search params are state. Treating them that way made filters shareable and the back button honest.
Three motion patterns I reuse, and the ones I removed after watching people use the site.
Lazy sections, sticky headers and scroll spies out of one small hook.
Where the time went on a 3,000-listing marketplace, and what moved the numbers.
One post a month.
No noise.
New writing on React, Next.js, Astro and the parts of the job that don't fit in documentation.