Catalyst – Tailwind CSS Application UI Kit
tailwindui.com
tailwindui.com
The Tailwind team created one of the most used CSS frameworks ever and charge nothing for it. The framework needs a revenue stream to enable continued investment. Rails has basecamp. Bootstrap had twitter. React has meta. Tailwind has Tailwind UI.
I find it great value. It's a one-off cost comparable to hiring a designer or front-end developer for a day, and you get a bunch of usable components + future upgrades.
Usually HN isn't as negative about revenue streams for open-source developers.
That said, it is disappointing to see recent work all tied to React. I generally prefer Phoenix LiveView (or Rails + Hotwire, etc) over a React/Angular/Vue approach. By tying it to React, they destroy most the value this kit would have otherwise had to me.
They already earned my money, though. I still enthusiastically recommend Tailwind UI to people.
The paid nature makes it hard for the community to fill in that gap, which is a shame. I’d love to collaborate on a Phoenix version of Catalyst.
It's also a friggen preview and uncompleted thing. They could have waited for the whole thing to be done and polished but everyone was barking at them "just release it I don't care if it's not done"
Judging by your previous comments, you're not even a customer of theirs and have very misguided views on the product and it's pricing.
I have a feeling you have a competing product and are just trying to drum up negativity about Tailwind.
edit:// yep, I just checked your history, you're the creator of that nue thingy that is trying to compete with next/astro/nuxt/tailwind/etc all at once.
Only if you're an all access customer. Otherwise it's $149.
I like the Tailwind folks but $149 for Catalyst in its current state is a bit steep.
Any evidence for this claim?
It took many long brain dump sessions, and some help from the U.S. Digital Service and Tailwind themselves.
At the end of the day, Tailwind solved more problems for them than it created.
You wouldn’t think that moving from loading icons via css versus loading them via inline svg’s would make a huge difference; but I found that it can actually reduce a second or two of render time from a legacy and bloated code base.
That was the last time I used bootstrap about 2-3 years ago before going all in on Hero Icons, Headless-UI, and css design tokens and utility classes (Tailwind)
My point was that a lot of use of bootstrap was through CDNs. Yes, there was plenty of npm downloads also. However comparing tailwind npm downloads vs bootstrap downloads is not a fair comparison of use.
They have different use cases and target audiences. A lot of people want to just chuck a button in a template and have it look in their internal tool that 3 people will see. They likely copied the dist/bootstrap.min.css file and never updated.
It's also likely all the users of server side frameworks like django or ruby on rails never setup npm in those projects, but certainly used bootstrap. It's less likely those projects would use tailwind because you need have a js buildstep for it unless you want to ship 10mb of css.
There's no denying tailwind is popular, but thinking npm is the only way people are getting css frameworks/libraries is flat wrong.
Tailwind is neat but I think people get a little too rah-rah about it given the build complexity and integrating with existing codebases.
[1]: https://npmcharts.com/compare/bulma,tailwindcss,bootstrap,ui...
Something is either worth it to you or it's not. If it is worth it, and you want it, you may buy it. If it's not, then you don't buy it. The world keeps spinning.
The Tailwind folks seem to think this may be worth $150 to some people. Those people might buy it. If you think it's not worth that, it doesn't mean that those people are wrong, it means that you 1) don't understand the value or 2) the value just doesn't exist for you, and it's not for you.
Or maybe people do understand the economics of it, but there's something psychological that's more pressing: because one person doesn't find value, and sees another person that does find value, they must defend or justify their own value assessment and confront the opposition. I'm sure there's a name for this, but I don't know it off-hand.
I have used this on occasion to figure out where it makes the most sense for me to exchange money for services.
https://programs.clearerthinking.org/what_is_your_time_reall...
Even if you can be 100% objective on quality, the only way to make any kind of sweeping price/quality assessment is to compare it to other things on the market. What do other things in this price range give you? What do similar quality products cost? This is where I see some valuable comparisons actually being made in this context.
> I don't think it has. How about you?
I just can't see how this adds to the discussion at all in light of the above. It reads like "this isn't worth $150 to me" and I just think, ok, it's not for you. /shrug
Partially due to these and frustrated by lack of component libraries in Rails, I built and recently released a UI kit for Rails - https://zestui.com
Built with Phlex, styled with Tailwind with custom built Stimulus controllers.
It's got
- 25 themes
- Dark Mode
- Form Builder
- Icons
- Built in Flash Toast
- The components are responsive or have specific mobile views
- All the JS needed (Stimulus controllers) is wired up automatically
Phlex is a game changer. It is simple, powerful, intuitive and performant. I will never ever write a component as a partial/ViewComponent again.
A short video (50 seconds) showing it off: https://youtu.be/OQmDZddLtR8
Vue and Svelte are great but adopting them means that you are using Rails as just a backend. For the vast majority of apps, the Rails default stack works really well.
It'd be nice if clicking the blurred background area on a Sheet closed the sheet like the x button does.
You can see this for yourself by using a heat-map of your users mouse movement and positioning. Note how many try to close with clicking the background.
What do you mean?
In 10 years time I've used a decent share of templates, but these I've enjoyed most by far and gotten the best user reactions from.
I was _about_ to praise it for at least being tabbable, but the example of "Team members" does not work with keyboard-only navigation... great stuff.
Now something you can definitely complain about is the dialog not submitting with Enter.
These are used by "agencies".
Shadcn, radix, and tailwind are all FOSS so they are not “high-priced”.
Your analysis is shallow and unfounded.
Nope. Tailwind has good support for styling the active state, in the way that you'd expect if you've used Tailwind: e.g., `bg-red-500 hover:bg-red-600 active:bg-red-700`.
Oh my word, the horror! What's wrong with agencies?
Is this recent?
This UI library sped up my dev time at least two-fold. The components and sample landing pages provided are really great IMO (and judging by their sales, it's not just me who agrees).
the comment seems more about how lousy the product it is, and sure I wouldn't want to spend my time making a lousy product, but if in my technical evaluation something sucks then there is generally a good chance that I can build something better.
So the comparison is between using money to buy something bad or using time to build something good and the phrasing would be something like:
You are welcome to use your time to build something that doesn't have all these problems.
I’ve shipped products with this kit without having to change much code because it’s very well-made.
Don’t take it from me - take it from the tens of thousands of devs who also use it.
The commenter above didn’t even look deeply into the actual offering. Catalyst is just one tiny (new) subset of the large number of things offered by the entire package.
“It is difficult to get a man to understand something, when his salary depends on his not understanding it.” ― Upton Sinclair, I, Candidate for Governor
https://www.goodreads.com/quotes/21810-it-is-difficult-to-ge...
Tailwind (and similar, I tend to use https://unocss.dev/) is not good for your frontend architecture BUT they allow you to be so fast, that it negates the benefits.
For a job well done, I'd follow the principles of https://maintainablecss.com/ For throwaway code I need to cram out as fast as I can, Tailwind it is.
I understand agencies using Tailwind, or Bootstrap, their revenue depends on it.
What's the definition of a job well done? In my eyes it's completing the project and getting it out the door to customers to use. If Tailwind makes that happen, then isn't it a job well done?
> Built by experts — you can trust that all of the code is written following Tailwind CSS best practices, because it’s written by the same team who created and maintain the framework.
It's one of many templates that they sell: https://tailwindui.com/templates
It's definitely worth the one-off price tag, and the fact they include future updates (like Catalyst) is incredible.
But yeah, it is clearly not yet finished, the dark mode has a too low color ratio. Good thing is that this UI library comes bundled with the previously existing Tailwind UI.
Weird unproductive comment tbh.
TailwindUI provides HTML-only code and includes useful comments about class transitions, so I was able to handle the mobile hamburger menu and some form submission stuff in a tiny JS file, rather than React or Vue (which they also provide code for).
It’s generally fine but feels incomplete. Many of the components don’t have any alpine or JS code documented even though the team has clearly built those aspects when building the previews and demos.
I’m not sure what the rationale was there but I hope they’ve fixed it here.
> If you'd rather write any necessary JS yourself or want to integrate with a framework other than React or Vue, we also provide every Tailwind UI component example as vanilla HTML that you can adapt yourself.
Such a massive disappointment there isn't any JS with the "vanilla" components.
Kind of inconvenient and strange.
It’s weird that they don’t just provide the alpine code that they’ve already built.
You’ve done the work guys.
That’s my only complaint. It’s been good otherwise.
Tailwind UI is a set of prebuilt components for building applications. And catalyst is built from those but is also a "template" which is also an "application UI Kit" which is what I thought Tailwind UI was....
If you click around the site, you can see that “components” are separate from (and comprise) the templates
The best thing about Tailwind is everyone can use it.
Wish we could go back to the days of building for the web and not building for React.
For the same reasons that PrimeFaces has PrimeNg (Angular), PrimeReact, and PrimeVue.
Given the way all the different stuff works together, that's the way it has to be done.
I'm still amazed they're asking for $299 for this!
Prime is MIT licensed. "Here, clone our repo on GitHub and do whatever you want!". Professional support is paid.
It looks good, it works, and no, I don't work for them. But $299 for this Tailwind thing seems rather crazy in comparison.
There is also PrimeFlex, which lets you do stuff like:
<div class="shadow-3 m-3 surface-card text-center p-3 border-round-sm h-6rem w-9rem flex align-items-center justify-content-center font-semibold">shadow-3</div>
Which of course looks a lot like working with Tailwind.
That’s like the cost of 1 front end developer day, and you get so many useful components + future updates.
If you see it as a business expense it’s great value.
Also tailwind UI doesn't come with figma designs, whereas all the other free ones do.
You're just paying a brand tax here.
In that case I'm also paying for continued development by the tailwind team, unlike the free offerings. I don't mind that free toolkits use tailwind, that's the beauty of the MIT license, but I do value paying something to the creators to ensure continued development. Especially if my business makes enough money from it.
NB. I've paid for both tailwind UI and PrimeBlocks.
Because building things costs money
I already addressed this in my post.
PrimeTek's web component libraries are MIT licensed. They seem to still be going strong after 15 years.
This, apparently, is quite doable.
Others don't want to do that.
They do. As part of the original TailwindUI product you get UI component templates where you can choose between React, Vue or plain HTML (= framework agnostic!) versions of the source.
However the React version is essentially a big monolithic template, which is what they are trying to address with Catalyst, where those templates are being split up into components (+ other improvements).
Many other UI frameworks such as kendo have tried this and failed, and gone back to variants for each UI framework.
Really, if you want meaningful integration with a ui library it has to natively support that library.
I mean certainly I would be delighted if they’d figured out a way to do this, but it’s unsurprising they didn’t: it’s just a very very difficult problem to solve, and the only really decent effort at it (web components) has had extremely limited support and enthusiasm from the community, and has some reasonably unsolvable technical limitations.
Someone needs to invent a way of doing that that works before you could reasonably expect people to start building frameworks with it.
A FOSS Tailwind component library
> instead of writing 100 class names, use semantic class names
?!?
That defeats the whole purpose of Tailwind, which is not writing any semantic class name. I don't get it.
I'm not a React hater, but it's time for React-only support for UI toolkits to end. There are other compelling frameworks that are also worth using that are better choices in many cases.
Going framework-agnostic is (currently) not a good approach imo. The developer experience would suffer too much. I hope in the future agnostic UI kits become a thing, but the tooling around this approach needs to change first.
Tailwind full access is such an easy sell for me. Plus it's pay once, so I don't mind it at all.
Once you've tried to implement one yourself, and looked at how much time and effort it is, you will understand
I think it’s great value amd have already gotten a multiple out of it.
Which is basically what Tailwind UI should be.
Works with anything.
Designers I have worked with want to use flowbite so their figma comps are accurate and i think tailwind ui not having figma assets is a huge drawback.
1. Flowbite
2. ...er Flowbite
I'm not a designer, I just want to be able to mock up a UI before I implement it. I guess it's not a priority for other companies so I'll buy Flowbite (in spite of the annoying YouTube thumbnails on their site).
Actually preline looks good...
We're using it with React and occasionally find the docs lacking (and go looking in the component source for the answers), but otherwise have been happy with it, fwiw :-)
If you are new to the space, you may check Mantine components.
They are arguably better and more mature.
The reason Mantine is free is because the maintainer is not doing it for quick bucks.
Over time I've found that lack of monetization eventually leads to maintainers leaving the project. Paying money feels like a way to guarantee (to a degree) that the maintainer won't drop the project when their attention turns elsewhere.
<button class="relative isolate inline-flex items-center justify-center gap-x-2 rounded-lg border text-base/6 font-semibold px-[calc(theme(spacing[3.5])-1px)] py-[calc(theme(spacing[2.5])-1px)] sm:px-[calc(theme(spacing.3)-1px)] sm:py-[calc(theme(spacing[1.5])-1px)] sm:text-sm/6 focus:outline-none data-[focus]:outline data-[focus]:outline-2 data-[focus]:outline-offset-2 data-[focus]:outline-blue-500 data-[disabled]:opacity-50 [&>[data-slot=icon]]:-mx-0.5 [&>[data-slot=icon]]:my-0.5 [&>[data-slot=icon]]:size-5 [&>[data-slot=icon]]:shrink-0 [&>[data-slot=icon]]:text-[--btn-icon] [&>[data-slot=icon]]:sm:my-1 [&>[data-slot=icon]]:sm:size-4 forced-colors:[--btn-icon:ButtonText] forced-colors:data-[hover]:[--btn-icon:ButtonText] border-transparent bg-[--btn-border] dark:bg-[--btn-bg] before:absolute before:inset-0 before:-z-10 before:rounded-[calc(theme(borderRadius.lg)-1px)] before:bg-[--btn-bg] before:shadow dark:before:hidden dark:border-white/5 after:absolute after:inset-0 after:-z-10 after:rounded-[calc(theme(borderRadius.lg)-1px)] after:shadow-[shadow:inset_0_1px_theme(colors.white/15%)] after:data-[active]:bg-[--btn-hover-overlay] after:data-[hover]:bg-[--btn-hover-overlay] dark:after:-inset-px dark:after:rounded-lg before:data-[disabled]:shadow-none after:data-[disabled]:shadow-none text-white [--btn-bg:theme(colors.zinc.900)] [--btn-border:theme(colors.zinc.950/90%)] [--btn-hover-overlay:theme(colors.white/10%)] dark:text-white dark:[--btn-bg:theme(colors.zinc.600)] dark:[--btn-hover-overlay:theme(colors.white/5%)] [--btn-icon:theme(colors.zinc.400)] data-[active]:[--btn-icon:theme(colors.zinc.300)] data-[hover]:[--btn-icon:theme(colors.zinc.300)] cursor-default" type="button" data-headlessui-state="">Button<span class="absolute left-1/2 top-1/2 size-[max(100%,2.75rem)] -translate-x-1/2 -translate-y-1/2 [@media(pointer:fine)]:hidden" aria-hidden="true"></span></button>People that aim to be employed do not spend time on things employers are not asking for
for current employment I’ve only ever seen teams push for using the next shiny thing solely to get that experience and professional validation in the current role, to be competitive for consideration in the next roles
I've never paid much attention to specific job requirements, just whether or not I could solve the problems they were looking to solve.
> I've never paid much attention to specific job requirements, just whether or not I could solve the problems they were looking to solve.
So then I assume you’ve always been a senior developer?
Also I think this probably depends on domains/culture/multitude of factors. There are a lot of places where senior is just “cog with a lot of experience” or “cog with a lot of tenure”.
I can also build anybody’s application in any stack, but that doesnt get me in the door, doesnt get the recruiter to say anything, doesnt get any hiring manager intro call
What kind of clientele are you going to where you’re just like “I am computer man, from internet, I can build that for you” and they’re like “woooooowwwww you’re hired!”
I understand Tailwind's decision to choose a framework, but it is not good for us, and I suspect will not age well.
I have a non React site, and including React for a button makes no sense.
All the new stuff they are developing are not worth my even looking at.
I feel they built themselves up while doing everything in Vanilla, then for a period the sponsored and promoted Alpine as being their style, then in Headless moved to React + Vue, and now have abandoned that.
They've forgotten how much of the world wants to use Tailwind but won't use React.
> Catalyst v0.1.0 is a development preview with unstable dependencies.
So, yeah, it's still a work in progress.
However, with this specific template, I really don't get the economics. This appears to be the least finished template they have in their repository, yet it is the most expensive as a single purchase.
I don't want JavaScript, I don't want a "framework", I don't want an npm-installable-monster, I want something that produces CSS that I can use for business. Semantic UI was close, but it got abandoned, and the forks do not go in the right direction.
Also, I need information-dense design, not whitespace-dominated design. Some of us build complex apps that display a lot of information and need tightly packed UI.
This is not hypothetical: I really do need to replace Semantic UI with something that is maintained and will work better on mobile screens. At a quick glance, my code has several thousand places where Semantic UI tags are used. If somebody picked up Semantic UI, started maintaining it without turning it into a JavaScript framework, and offered a $249/month subscription, I'd pick it up.
Perl in all its glory and horror.
I'm also surprised that someone ... selling something ... gets such negativity on Hacker News of all places. Again, if you don't like it or it doesn't have value to you, don't buy it!
All better. All free. All with figma designs.
This point feels really odd to me:
> Creating an admin panel tool (like Laravel Nova or ActiveAdmin) that is made available either for sale or for free.
I mostly get the other restrictions. You can't buy the kit then repackage it and sell it. But why can't you make an admin panel?
That part I guess explains that. Tailwind UI makes admin panel themes and components so that’s a direct competition.
Creating an admin panel for a blogging platform that gives the admin a WYSIWYG-like experience that leverages tailwind ui is probably too close to competition