Writing
Problems I keep returning to.
When events arrive faster than React can render
The row count is only part of the problem. Most stutter starts earlier, in the way data enters the browser, reaches the store, and wakes React.
react · performance · tables
Moving unlike repositories from ESLint to Biome
Running Biome was easy. The real work was finding what ESLint did in each repository and what we would lose by removing it too quickly.
tooling · biome · dx
What I learned after the first real gRPC-Web interface
The first unary call is easy. The work starts with cancellation, deadlines, streaming, errors, and the code generated from proto files.
grpc · react · frontend
Leading a frontend team across different stacks
We have eight engineers and roughly 30 repositories. I did not try to make them identical; I focused on making movement between them understandable.
leadership · teams · frontend
Why we built a manifest instead of moving 30 repositories
Independent repositories were an intentional boundary. What we were missing was one map that made setup and inspection repeatable.
git · architecture · tooling
What a security analyst needs from a data table
An analyst does not read rows in order. They search, compare, open details, and come back, so the table has to preserve the investigation.
design · ux · tables