I've used TailwindCSS for two of my projects and I gotta say, I'm loving the utility-first paradigm. Tailwind just takes away some of the pain behind writing CSS, especially when you're writing repeated set of styles. For example, my projects are "flex-heavy" with a little bit of grid. So I end up writing a lot of flex properties. You can use mixins in CSS preprocessors like Sass or Less but I just like how flexible and easy Tailwind is. I'm still surprised by how little custom CSS I'm writing because I'm using Ant Design and Tailwind together. It makes customising the components to fit your brand very easy.
I do fear that it'll get unmanageable when the project gets bigger. For example, I sometimes end up with a long string of Tailwind classes in some of my components. It is possible to write wrapper classes for recurring patterns of class names. I still haven't had to do it yet, since I'm still in the early stages of this project.
I also love how quick it is to prototype something AND make it look good. I had to jump through a few hoops to get it working with Ant Design though. There is a trade-off since they are both compiled differently. Ant Design uses Less and compiles it to CSS but Tailwind uses Postcss. So there will be trade-offs if the component library you're using or your stack doesn't use postcss by default. I might have missed something in this regard but at least from the documentation there wasn't a straightforward way to set it up. So because I wanted to use both, I am missing autocomplete for tailwind classes. It also took a bit of time to identify and fix all the issues and get them to work together.