← Back to the journal
TailwindCSSWorkflow

Utility-first: how Tailwind changed my workflow

In the Tailwind 2.0 era — on the utility-first mindset, faster iteration, and consistent design tokens living right in the markup.

I eyed Tailwind with skepticism for a long time. Writing class names like flex items-center px-4 straight into the HTML felt like a step back into the days of inline styles. Today, with the freshly released version 2.0, it's one of the tools that has visibly changed my working day. Sometimes you have to use an idea before you understand it.

The end of inventing names

The biggest win is unexpectedly mundane: I no longer have to invent class names. No more .card__header--highlighted, no agonizing over BEM conventions, no jumping back and forth between HTML and stylesheet. I design right where the markup lives.

That sounds small, but it's liberating. The mental context switch between structure and style disappears, and I stay in flow. An idea lands on screen in seconds instead of traveling through two files first.

Utility-first doesn't mean having no system. It means pouring the system into constraints rather than into names.

Consistency through tokens

What truly convinced me is the tailwind.config.js. There I define my color palette, my spacing, my font sizes once — and from then on there are no arbitrary 13px or #3a3a3c values scattered across the project.

module.exports = {
  theme: {
    extend: {
      colors: { ink: "#1a1a1a", sand: "#e8e2d8" },
      spacing: { 18: "4.5rem" },
    },
  },
};

Restricting myself to a fixed scale isn't a corset, it's a railing. Designs become more coherent automatically, because the system makes bad decisions harder to reach. That built-in discipline is what I value most as a designer.

Where I stay careful

Dense markup can get hard to read. When a pattern repeats, I pull it into a real component — in React, Vue, or via @apply. Tailwind doesn't replace thinking in components; it just speeds up the path there.

I've stayed skeptical about dogmatism: utility-first is a tool, not a religion. But for the fast, precise iteration between first draft and finished interface, I currently know nothing better. Tailwind gave me back the joy of designing directly in the browser.