What we build with it

Tailwind is what we style browser UI with. Utilities compose in the markup, spacing and colour come from a shared scale rather than from whatever value someone typed, and the generated stylesheet only contains what is actually used.

The problem it solves is not writing CSS — it is deleting it. In a conventional stylesheet, nobody removes a class because nobody can prove it is unused, so the file grows for the life of the project and every change carries a risk of breaking something elsewhere. With utilities, deleting a component deletes its styling, because the styling was never anywhere else.

Where it fits

Every web front end we build, on Vue and Nuxt. This site is Tailwind, and so are the admin and merchant interfaces we build alongside product backends.

It works best with a small set of extracted components rather than repeated utility strings — the design system lives in the component layer, and the utilities express it.

When we recommend it

For essentially any new front end. The consistency it enforces matters most when several developers touch the same UI, which is when hand-written CSS drifts fastest.

Where it is a poor fit: markup you do not control, or a project that must ship semantic class names for an external consumer. And it is not a design system by itself — without extracting components, "utility classes everywhere" becomes its own kind of duplication.