Tailwind UI is a library of responsive HTML components, built using Adam's framework Tailwind CSS.
It's worth noting the solid price points: either $149 for half the package or $249 for the whole thing.
And this is just the early access version!
I've seen a few people saying similar to, "This is inspiring to hear, but it's too expensive. Anyone could build this themselves using XYZ…"
I think that's the wrong idea to take away here, especially as indie hackers. We're constantly talking ourselves into under-charging for the things we create, despite the fact that "charge more" is such important advice that it's become a mantra.
This UI kit is worth thousands of dollars to many people. Not only will it allow them to save countless hours that would've been wasted coding, but their final product will be smooth, attractive, and streamlined. Sure, they could build it from scratch themselves, but at what cost?
For example, I see countless people on IH investing weeks into building landing pages from scratch that end up looking unprofessional, when they could've instead used a theme or a template, done it in 1/10th the time, and had a better result in the end.
On the contrary, I believe the "charge more" rallying cry has pretty thoroughly saturated IH and the bootstrapper world in general—so much so that it mostly blinds us to what really does differentiate Adam and leads to his success.
It's not pricing. Many, many products with similar or higher pricing have much less success.
A more under-valued takeaway than "charge more" would be "the power of free". Adam built a massive following by giving devs what they wanted for free while contracting. During your interview with him, he described this as a "spring" that he was pushing down on. When he finally sold something, that stored commercial energy was released!
Each cycle he's given away more for free and for longer. His design book was started on the back of a longer free campaign of tidbits on his blog and twitter than his earlier courses. Then Tailwind was a top-notch, open source library with extraordinary growth for multiple years before he monetized it with Tailwind UI.
This is a great point. Very important to keep the context here. He didn’t just release something and make a ton of money. He gave away his work free, for years, in the lead up to this move.
Arguably you could say he’s made $500,000 over the course of several years. He just collected it this week.
Exactly, this reminds of those sayings "overnight success, 10 years in the making".
That's the power of community!
This is 100% true. I'd like to add that it's not "either X or Y." Rather it's a multiplication equation, so every factor matters.
In this situation, imagine something like audience × pricing. If either is too low, the whole thing comes out low. If 3000 people pay you $5 for your UI template library, that's great, you've made $15,000! But if they're paying you $150 each, you make $450,000. That's a life-changing difference.
audience × pricing
User acquisition and audience building are always important. For many of us, that's the most important lever we should be pulling right now. But for many others, especially those charging too little, it's much easier to 2x prices than to 2x customers.
I'll also add that you largely determine the prices you'll be able to charge early on when you're initially coming up with an idea and deciding what problem to solve. It pays to pick something where you can charge more, so you don't end up working your ass off for years to get to 3000 customers who are only paying you $5 each.
I definitely agree on the audience being a multiplier.
It's not that plausible that charging $5 would yield the exact same number of sales as charging $150, though. I suspect $5 for this product would be sub-optimal but would yield far more sales. Whether $150 or $500 or $75 is optimal is much, much harder to say. Maybe all three would net similar amounts. Maybe not.
It pays to pick something where you can charge more
It pays to pick something where you can charge more
Yeah... this is by far the strongest version of "charge more". It's probably under-considered because many people have no idea what's worth a lot to those with larger budgets. Neither they nor their social circle has experience making those purchases.
BTW, thanks for the idea that inspired my successful HN karma-farming expedition!
Charge more doesn't work if the product is not prepared for it, like it doesn't have the quality and support resources to back up the price increase. Most IHers are at a very early stage with their product and charging more won't work for them.
Absolutely, Courtland. This is the curse of the scrappy developer. We (and I include myself here) have a distorted view of the value of technical solutions because we're capable of building them ourselves - or at least we believe so. There were hundreds of hours of work that went into designing, building, and packaging the framework. That leads me to think of two problems here:
We don't see the hidden cost and complexities of many solutions until we try to build them ourselves, fail, and then grudgingly purchase a solution. I've had that happen myself with authentication and invoicing solutions. I thought I could build them equally well, failed, but failed forward and integrated a SaaS solution for this.
We don't value our own time as much as we should as professional knowledge workers. The problem is that we have fun figuring things out. We have so much fun figuring out how to build a thing, that we have fun trying to build ANYTHING, even if it's not the core functionality of our business — the thing that is uniquely ours. The hours we pour into building a CSS framework like this feel like they are well-invested, but they are not. If you're a seasoned developer, your time is easily worth $100/h. If you spend more than three hours on your CSS framework, which you definitely will, then economically, TailwindUI is the much cheaper option. An option that keeps on giving.
Learning to see SaaS and for-purchase software as something wonderful and useful took me a while. I was used to Open Source and things being free, as that is how I learned to program. It's a different world now that I am running bootstrapped businesses. It's about optimally spending my time. Money translates into time here too, and we need to think about this sensibly as bootstrapped founders.
I agree with you that it's hard for people to estimate the effort it takes to build something that looks easy on the surface. I have to note that sometimes it's also worth creating your own things, even if it means costing you more. Life is not always about profits, sometimes it's good to have some fun and create "babies", you just have to be careful so it stays the exception and not become the rule.
One thing that has to be said though about using premade tools such as CSS frameworks is that there is still a learning curve attached to them, so even if you don't spend the time to create them you still have to spend some time to learn how to use them. The good part is that once you know how to use them, there is an entire company or community working and improving that framework while you sleep, so when you wake up you can use an even better tool with more functionalities without having yourself to spend the time on implementing them.
I agree with both statements. The learning curve of a framework is usually a very good investment, as — like you say — you have access to something that other people will make better over time and that can and will be used by many.
I found myself in the "let's build this ourselves" camp way too often in the past, even though my interest came from genuine curiosity. That's the curse of the developer: we're actually interested in problems and how they are solved. That makes us want to solve even those problems that have been solved (better) by others, and if we don't keep this tendency in check, we pay for it with the time that we could have spent on growing more (or at least differently).
I agree with this assessment, it’s so easy to think I'll spend a couple hours doing something that is not core, that goes on for multiple days. The frontend work has always been a challenge, I’ve spent time learning bootstrap, outsourcing some ui work (with mixed results) to now using tailwindcss. This component library is a big time-saver, so doesn’t take long to recoup the investment.
I’m subscribed to your newsletter, it would be nice if you covered this topic specifically:
“I've had that happen myself with authentication and invoicing solutions.” I know you mentioned you went with auth0 for authentication, not sure what you used for invoicing. How much time did you spend on home-built solutions before pivoting?
I have an article in the works about the Not-in-House craze and how to make solid choices here as a bootstrapper.
Usually, I would scrap any home-built feature if the expected time to build it (or the real time it took) was more than 3-5 days of work.
Often, that was hard because of the sunk cost, and that was the case for the invoicing solution, where I had something that kind of worked in place, then I wanted to integrate another solution, but even integrating the solution would have taken weeks. So that one stayed.
I have quite a few stories like this. I'll share them soon :D
The hours we pour into building a CSS framework like this feel like they are well-invested, but they are not.
The hours we pour into building a CSS framework like this feel like they are well-invested, but they are not.
The hours Adam Wathan poured into building a CSS framework sure were!
Haha yes, as it was his product's core functionality :D If there are any people who should invest time into CSS frameworks, it's CSS framework developers.
As cofounder of a $40,000 movie streaming startup (yes, I know how ridiculous that sounds), I'm obviously coming at the pricing discussion from the opposite end of the spectrum. But I've learned a few pricing lessons which I believe to be universal and are worth considering no matter your product:
Consumers rarely buy pure functionality:
Whenever people say "I could build this myself," or "this is free on the web," they're focusing on pure functionality and nothing else. The problem is, consumers don't think that way. If that were true, the $60B luxury handbag market would not exist and people would just carry stuff around in plastic bags. Many have pointed out that the material students learn in college is all freely available on the web. But millions of families will still fork over tons of tuition money because they're buying more than just pure functionality (knowledge), they're also expecting connections, prestige, peace of mind, etc. In Tailwind's case, buyers are paying for convenience and time saved. @csallen touched on this, even if Tailwind only saves you half a day, it's probably worth the price for a developer on a US rate. So the takeaway here is to think deeply about what's the true value that compels people to buy your product. Hopefully, it's more than just pure functionality, otherwise you'll likely end up as a commodity.
Pricing is relative: go beyond your direct competitors and look at adjacent categories:
Quick story: we originally pitched our $40k movie streaming service as a $5k service, and even then we thought it was way too high. Then we talked to dozens of customers who have million-dollar screening rooms inside their homes (think MTV Cribs), and they told us the remote control for their theatre system cost $10k, so how could the content service only be $5k? In the consumer's mind, your product is only 1 of many pieces of the larger puzzle. So don't forget to look at the pricing of the other pieces too.
Price is one of your product's "core features":
Think about the last product you interacted with. Do you remember all of 38 of its product features? You probably only remember 2 or 3 product features...and its price!!!! So if price is one of only a handful of things your customer remembers about your product, why are you spending all your time fretting about feature #39? Don't haphazardly price your product at the tail end of development. Approach price as one of the core features of your product, cuz that's how most customers will think of your product. The earlier you think about this stuff, the better.
Hope this helps!
Great share, Steven! Before finding the right price, identifying which group of people you want to target is the key! Selling to people who own $10k remotes, they are not going to worry about the price tag, but what prestige it comes with.
In Tailwind's case, it's about how much a customer is willing to pay for the great first impression! That's what a landing page does, plus the conversion afterward. I see a lot of projects on Guru.com, asking a lot of work with a tiny budget. These should be done easily with Tailwind.
Totally agree with you here @csallen. There are obviously always edge cases to this when it comes to products. Take Hitchd (my product here on IH) for example, we see large amounts of pushback on our 8% service fee which I know is probably impeding some form of growth.
I've always been a strong believer of building a premium product and charging accordingly, but if you have competitors who have big partnerships which allow them to charge a fraction of your price, you're always fighting an uphill battle.
This deserves an applause of hurtful for some(hard worker only w/ tunnel vision), yet truthful fruitful facts for others(open minded + smart ones).
I am always looking for new UI kits as a developer. My normal MVP approach is to use a decent design either by purchasing, using a UI kit (Material, Ant, etc), or by reusing old elements I have designed myself. Definitely not in the camp of trying to do it from scratch for a landing page. The actual app.....com portion always uses a UI kit.
Making an MVP should not be about designing an effective landing page. It should be about building your product to see if it actually works in the real world.
If 1. works you will just end up hiring a professional designer/s to redo it anyway.
So I agree with the point, save money and time on your MVP, use something that looks pro and works, then test the idea out in the world.
You will still have challenges with wording, calls to action, and social proof. Also design trends change within 2 years, or maybe even faster if a UI kit is overused. Mute points if you plan on working fast to get your product out there.
Can you share some UI kits you like?
There are a bunch. I am currently using Vue on the FE.
Just a simple google search will give a bunch.
(In no specific order)
Vue Material Kit, Vuetify, Buefy, Quasar, Vux, Element, Keen-UI, Boostrap-vue, ant-vue..... etc.
Look for one that works with your FE in the app portion. If you are using React there are probably a lot more. Definitely make sure it is mobile ready and is still being updated.
For the landing page of MDO (https://www.mydigitaloffice.io/), I paid a freelancer to do a basic design for another project then started redoing things that I wanted just for this landing page. Always a work in progress, that will eventually be overhauled in any case.
Points: a. people will optimize landing pages endlessly, even after companies make money or even go public; as a IH try to make it express the need and solution and let that be, while working on product. b. There are a lots of free UI kits. A LOT.
That's just how engineers think...They don't like to spend money on things they can do themselves, although they probably have some good justification behind everything they do. My cousin has a phd in chemical engineering and is a VP level dude at General Electric where he manages over two thousand employees. He's also one of the pastors at his church and has 4 daughters and a wife, and spends every other Sunday afternoon feeding the homeless for as long as I can remember, at least 15 years.....so basically, he's a busy guy with lots of responsibilities.
This guy has never in his life taken any of his cars to a mechanic for any reason and he's never hired anyone for any home services like his lawn or gutter cleaning. For both his cars or house it doesn't matter if it's a regular maintenance thing like an oil change or if the entire motor is blown and needs new pistons or ABS brakes, or a sprinkler system for his yard....or even something as crazy as installing heated floors inside and outside the house in the driveways, walkways, and garage. The only thing I've seen him hire people for was to install solar panels which was only because it was more expensive overall if he installed it himself due to a promotion. Oh and I think he takes his car in for tires...I think.
And to be clear, he's not even a car guy or home theater enthusiast type of guy. When I ask him why the hell he doesn't just pay people for all these services like everyone else on the planet, he says "It's easy to do and I have all the tools so why not?"
The guy is a genius so I don't question anything he does. But it's obvious to me and everyone else that it's not the best use of his time from a financial standpoint. And I'm pretty sure he knows this because he is literally a business guru.
I think it's just the engineer inside of him...sometimes taking practicality past the point of diminishing returns just because he can figure out how to do anything...probably how developers feel since they can literally make anything as well.
I agree, which is also the reason I immediately bought it. I didn't get around to play with it over the weekend, but it's pretty easy to imagine how much time this is going to save me, especially because I'm already using tailwind and my design is very rough atm.
I'd love if you could get them on the podcast btw ;)
Even if I don't get around to using it so much, it feels could just to support their open source efforts
This comment was deleted a year ago.
TailwindCSS is a good library used but many people out there, and the support of the Laravel community has an effect on this big success, and no one can deny that.
The same thing happened to the VueJS library, once It got an endorsement from Taylor the creator of Laravel, it got a lot of attentions.
What does this offer that Bootstrap doesn't?
The knowledge that restyling your about contact page won't break 17 other pages you had no idea relied on the same styles.
Utility classes sacrifice some code reuse in order to escape brittle reliance on specificity.
If restyling a single, static page in your product would put you in such a situation, you've done something wrong to begin with. I don't see that happening with bootstrap either
It definitely depends on the size of your team and the age of the project. It's never happened to me in my own projects but it absolutely did at unicorn where I used to work (which had 7 devs directly in my group).
A few times pages I didn't even know existed broke due to updates I believed were entirely contained within my widget.
But that's my point. It's about how you use a tool, not the tool itself. It's an invalid argument to say that Tailwind UI will prevent this from happening. Same goes with Bootstrap et all.
The whole idea of utility classes is that you're explicitly applying them to specific components rather than making deeply nested structure-based rules that apply across your entire app.
What are the advantages of using tailwind compared to bootstrap?
Customizability, tailwind is essentially inline styles done with classes plus it supports responsive breakpoints
As someone who suffers from “build it myself” syndrome, I 100% bought this the minute it was in my inbox.
The last thing I want to do is spend more time looking through other designs to find ones to copy. Would much rather use this as a starting point and if something takes off, I can hire someone else to take the design to a more custom place.
Not to forget Refactoring UI that likely netted a few hundred grand (if not millions too).
If this is what he's earned after 3 days I expect it to be a million plus within a year.
As other commentators have mentioned, a lot of upfront work went into this in terms of building his following, producing excellent content and doing a lot of open source work.
Adam + Steve are maker partnership goals ✨
I wonder how this kit compares functionally to material-ui.
Wow amazing success. Congrats to him.!
Holy Moses Batman!
@csallen do you have any idea on how many of the uptake were from existing tailwind users vs new user looking for a UI kit?
The reason I ask it, it's easy to look at this and think "if only I cold make 500k in 3 days!" when in fact, the tailwind guys have been working on this open source/community projects for AGES, including podcasting about it etc etc (I'm tailwind fan/user in fact).
So, this latest win is kinda like the tip of an iceberg that goes back years... UNLESS... a large portion of this does come from brand new people that are just like "I don't know what tailwind is but this is a cool UI Kit" in which case I'm wrong and a LOSER for not making 500k in 3 days 😊
Looking at one of their brief videos of a use case (https://vimeo.com/393580241/82c6d7c5f6) I still don't think the price justifies the product.
Sure it is nice to copy and paste elements to create your own page but ultimately you'll still have to tackle some points:
I like the idea, but I personally (as a developer) would never invest so much for a tool that gives me so little, when I could have a landing page ready to go (for less) with a combination of other integrations (say carrd + typeform + airtable or something).
I guess the market is proving that the price DOES justify the price surely? And the market is what matters right?
Congrats is the only word for me today! Keep up the great work :)
They have been working on it for long and have contributed a lot for the community. Well deserved!
Great stuff, and I am sure it covers some of the slow prior periods when they contributed to the community without payback. Keep up the great work. I look forward to developing with it!
This looks great and impressively marketed...
Although I'm not a fan of combining markup with styling, which is one of the Tailwind principles. I think markup should still make semantic sense, while styling, how it looks visually, should be separate. This makes it both easier for switching themes, as well as should make the markup more accessible to bots and possibly screen readers
So although this UI framework looks nice, it feels wrong from a first-principles standpoint. If I'm wrong about this, I'd love to hear counter arguments
we are shifting to component based design as a way to group stuff, separating the styles from markup with custom classes adds an unnecessary layer of indirection imho