frontend

The Case for Writing Your Own Component Library

Thoughts from the intersection of code, craft, people, and progress.

Reinventing the wheel is fine—if you’re learning to forge.

Building a component library is not always the sensible choice, but neither is importing one and spending months overriding its opinions. When a product has distinct needs and a team can maintain it, a small focused library can provide exactly the right constraints.

The revealing moment for a shared component is not its launch. It is six months later, when a team with a deadline decides whether using it is genuinely easier than inventing another version.

I have learned to be suspicious of advice that only works in a tidy example. Real projects come with history, deadlines, uneven confidence and requirements that move while you are looking at them.

A design system is often described as a collection of components, which is true in the same way that a kitchen is a collection of cupboards. The useful part is how people use it together and what decisions it helps them avoid repeating.

I do not always manage it perfectly. The aim is to make the better choice easier to recognise the next time it appears.