TypeScript patterns worth knowing
The patterns that stop bugs, and the point at which type-level cleverness starts costing more than it saves.
React articles on component architecture, hooks, state management, re-render performance and accessibility in production applications.
The patterns that stop bugs, and the point at which type-level cleverness starts costing more than it saves.
Trust in software is built in the unglamorous states: what happens when something fails, and whether you can undo it.
Sprinkling memo and useCallback across a codebase is not optimisation, it is superstition. Measure first, then apply one of four structural fixes.
Most 'state management' debates are category errors. Server data and UI state are different problems and need different tools.
These are not beginner mistakes. They are the ones that pass review, work in development, and break under real conditions.
Every codebase is well organised on day one. The question is what it looks like after forty feature requests have been bolted onto the same Button.
Some decisions can be changed in an afternoon. These seven set the shape of the codebase for years, so they deserve an hour of thought each.
Forms are where most web products earn their money and where most accessibility audits fail. The details are small and the impact is not.
Most accessibility failures in React apps come from a handful of repeated patterns. Fix these twelve and the audit gets short.
Users judge reliability by how your app behaves when something goes wrong. Most apps put all their design effort into the happy path.
Most slow React pages are not slow because of rendering. They are slow because six requests are queued behind each other for no reason.
A test suite nobody trusts is worse than none — it costs time and provides false confidence. Here is what we actually test on client projects.
No spam. Just the occasional case study and craft breakdown.