I am convinced that @tailwindcss is all you need to build modern web applications and here's why: (modern meaning, the website is built using a build tool.)
1) Style presets (popularly known as utility approach) make wire-framing redundant. You can start from not knowing how your UI is going to exactly look and end up with a beautiful looking UI just by playing around with the utility classes.
2) Tailwind's opinionated design tokens are the best I've ever seen. You get started with nice scaling foundation without having to do all the groundwork yourself and they're extendable by default so you can progressively replace the defaults without breaking your UI.
3) Intuitive and easy dark mode. You gotta agree that you can't build a content based website these days without dark mode since most of your readers are reading your content in their mobile in dark mode.
Tailwind's intuitive css variable based dark mode makes it super easy to progressively build dark mode to your pages without breaking a sweat about breaking your design tokens.
4) Responsive right from the start. Tailwind's scaling tokens make it easy to build responsive UI without having to write media queries. You can write responsive styles for all your breakpoints in less than a minute. All your breakpoints are standardised in your tokens.
5) Faster style iteration because of colocation There's a sentiment out there that using tailwind pollutes html since styles are supposed to live separately from your HTML. I disagree with that. Colocating styles with HTML is what gives you productivity boost you usually...
... experience when working with Tailwind. There's less searching for _where are the styles for this element_ and only _style the element rapidly by swapping utility classes_. It's a cognitive resistance and you gotta force yourself out of it and once you do you're flying.
I can say more but in short - Tailwind is friggin' awesome. 🙌
There's one thing I'm still not conviced about using Tailwind - it's not suitable if you're building with a design system that's packaged independently and has a different lifecycle than your application. You're going to want to bundle the styles separately and provide a...
...simple way to override your defaults and that's gonna be difficult when you build with Tailwind. CSS-in-JS is what you need when you do that. But when you aren't building using a design system, Tailwind is your friend. /end
