Fix: Transparent Header Cells on Horizontal Scroll with TanStack Table + TanStack VirtualApr 6, 2026·2 min read
Why Skinned Meshes Are Hard to Render at ScaleWhat is a skinned mesh? A mesh is the surface of a 3D object. Made of tiny triangles. A static mesh is something that never moves. A rock. A wall. A tree. A skinned mesh is a mesh with a skeleton insiApr 6, 2026·4 min read
How To Build a Performant AI Markdown RendererIntroduction Every AI chat app streams markdown to you token by token. ChatGPT, Claude, Gemini, they all do it. Making that render smoothly is harder than it looks. This post breaks down the problem fMar 29, 2026·15 min read
I dug into Pretext codebase. Lessons we can learn.General programming lessons I extracted while swimming through the pretext codebase.Mar 29, 2026·9 min read
When Do You Really Need startTransition?Introduction Most React developers have heard of startTransition. Few actually understand what it does. Even fewer know when they need it. Let me explain it from the ground up. How React renders withMar 28, 2026·8 min read
When Index-Based Keys Aren't Just Fine. They're What You Should UseIntroduction Every React tutorial tells you the same thing. "Never use array index as key." It is one of those rules people repeat without thinking about why it exists. And because they never think abMar 28, 2026·5 min read
How to Fix AudioContext Was Not Allowed to Start in ChromeIntroduction This is the note for future me. This bug was not random. Chrome was correct. We tried to start background music from mousemove. That feels like usage. It is not a real activation event foMar 22, 2026·7 min read
Fixing cmdk scroll inside a Dialog. The one prop nobody tries first.Introduction You have a combobox using cmdk (shadcn Command component) inside a Radix Dialog. The list has more items than fit. You expect it to scroll. It does not scroll. You are not alone. This issMar 21, 2026·3 min read