CodeNov 2025 · 14 min read · in /blog

The case for handwritten CSS.

Tom Hinsley
A digital creative in London
CodeCSSProcess

A defence of writing your own classes, in 2025, even when Tailwind is right there. Or, a love letter to BEM.

A defence of writing your own classes, in 2025, even when Tailwind is right there. Or, a love letter to BEM.

I use Tailwind on client projects when the team already uses it. I write BEM on everything else. The case for handwritten CSS isn't that it's faster or more powerful — it's that it forces you to name things, and naming things forces you to understand them.

When you write .project-card__title--featured, you've made a decision about what this element is, where it lives, and when the variant applies. When you write text-xl font-semibold text-red-500, you've described what it looks like right now. Both are valid. They're answering different questions.

The projects I've maintained longest have handwritten CSS. That's probably a coincidence. But probably not entirely.

CodeCSSProcess
Found this useful?Send a note
Tom Hinsley
A digital creative in London. Mostly writes about code, sometimes about everything else.
About
Related posts

More from the blog.

All posts