5 ms·
Tailwind Labs relied on a weird monetization scheme. Revenue was proportional to the pain of using the framework. The sudden improvement in getting desired UI
by heliumtera 9mo ago
Tailwind Labs relied on a weird monetization scheme.
Revenue was proportional to the pain of using the framework. The sudden improvement in getting desired UI without relying on pre-built templates killed Tailwind Labs.
There are many initiatives in a similar spot, improving your experience at using Next.js would hurt Vercel.
Making GitHub actions runners more reliable, stable and economical would hurt Microsoft.
Improving accessibility to compute power would hurt Amazon, Microsoft and Google.
Improving control and freedom over your device would hurt apple and Google.
Why should we be sympathetic to the middleman again?
If suddenly CSS became pleasant to use, Tailwind would be in a rough spot. See the irony?
"Give everything away for free and this people will leave technology", geohot said something like this and I truly appreciate. Technology will heal finally
- eddythompson80 9mo ago> Tailwind Labs relied on a weird monetization scheme. Revenue was proportional to the pain of using the framework. Really? To me, Tailwind seemed like the pinnacle of how anyone here would say “open source software” should function. Provide a solid, truly open source, software and make money from consulting or helping others use it and selling custom built solutions around it. The main sin of Tailwind was assuming that type of business could scale to a “large business” structure as opposed to “a single dev”-type project. By a “single dev”-type I don’t mean literally one guy, but more a very lean and non-corporate or company-like structure. Vercel (and redislabs, mongo, etc) are different because they are in the “we can run it for you” business. Which is another “open source” model I have dabbled in for a while in my career. Thinking that the honest and ethical position is to provide open source software, then offer to host it for people who don’t want to selfhost and charge for that.
- reb 9mo agoWasn't the tailwind team just a few people? Might be misremembering but my impression was a team under 10 people, which is tiny
- heliumtera 9mo agoFrom the developer perspective not much changes despite organization structure being completely different in this comparison (trillion dollar company vs 10 individual contributors). Tailwind Labs revenue stream was tied to documentation visit, that was the funnel. The author's argument was this revenue stream was destroyed by a slight quality of life improvement (having llms fill in css classes). Tailwind Labs benefits from: a) documentation visit b) inability to implement desired layout using the framework (and CSS being unpleasant). It seems there is a conflict of interest between the developer expecting the best possible experience and the main revenue stream. Given that a slight accidental improvement in quality of life and autonomy for users destroyed the initiative main revenue stream, it would be fair to say it doesn't just "seems like a conflict of interest". Definitely disagree with it being the "pinnacle" of how open source should function but I also won't provide any examples because it is besides the point. I will point out that fsf is fine for many decades now, and a foundation with completely different structure like zig foundation seems to be ok with a somewhat proportional revenue (orders of magnitude less influence, adoption and users, maybe 10-20x less funding)
- appplication 9mo ago> If suddenly CSS became pleasant to use Not being sarcastic, but this will never be. CSS is a perfectly functional interface, but the only way it becomes less annoying is when you abstract it behind something more user friendly like tailwind or AI (or you spend years building up knowledge and intuition for its quirks and foibles). We have decades of data at this point that fairly conclusively shows that many people find CSS as an interface inherently confusing.
- eddythompson80 9mo agoI agree. I actually think CSS (and SQL or other “perfectly functional” interfaces) hold some kind of special power when it comes to AI. I still feel that the main revolution of AI/LLMs will be in authoring text for such “perfectly functional”-text bases interfaces. For example, building a “powerful and rich” query experience for any product I worked on was always an exercise in frustration. You know all the data is there, and you know SQL is infinitely capable. But you have to figure out the right UI and the right functions for that UI to call to run the right SQL query to get the right data back to the user. Asking the user to write the SQL query is a non-starter. You either build some “UI” for it based on what you think is the main usecases, or go all in and invent a new “query language“ that you think (or hope) makes sense to your user. Now you can ask your user to blurb whatever they feel like, and hope your LLM can look at that and your db schema, and come up with the “right” SQL query for it.
- yread 9mo agoHey! Don't you dare to compare SQL and CSS. SQL is not a cobbled together mess of incremental updates with 5 imperfect ways of achieving common tasks that interact in weird ways. Writing everything in SQL-92 in 2026 is not gonna get you weird looks or lock you out of features relevant for end users. If writing SQL for your problem feels difficult it's a good sign you ought to look at alternatives (eg. use multiple statements instead). Writing the right CSS being difficult is normal.
- cuu508 9mo ago
- mikojan 9mo agoGPT is the middleman.
- asa400 9mo ago> Making GitHub actions runners more reliable, stable and economical would hurt Microsoft. Can you explain this one a bit? I know some folks who would absolutely increase their spend if Actions runners were better. As it stands I've seen folks trying to move off of them.
- heliumtera 9mo agoGh actions runners had a dubious implementation of sleep that would cause runners to hang on 100% usage for weeks/months. A simple fix was proposed and neglected for 10 years. This discussion resurfaced recently with zig abandoning GitHub entirely and criticizing this specific issue. A fix was them merged following an announcement that self hosted runners will now be charged by the minute. Of course this two facts are totally independent but yeah, yeah, sure.
- staticassertion 9mo agoHow does this support your point? If we're saying "they fixed it because there was pressure to"... okay? That's the parents point - tons of people are going to move off over bad performance, and Github was incentivized to fix it when people started moving off. If Github's incentive was to keep it slow... we wouldn't have seen exactly what you're describing.
- heliumtera 9mo agoThe fix already existed and was neglected for a decade. It was a 3 lines of bash code. The big would commonly make a runner hang forever unnoticed, on a platform that charged by the minute. One minute hanging, was one minute charged. The fix that would drop considerably the amount of total minutes charged was immediately followed by charging self hosted runners by the minute. >GitHub incentive was to make it fast. They charge by the minute. The faster it completes the action, less money. Runner go fast pocket go low
- mirekrusin 9mo ago
- azangru 9mo ago> If suddenly CSS became pleasant to use, Tailwind would be in a rough spot. CSS is pleasant to use. I know I find it pleasant to use; and I know there are quite a few frontend developers who do too. I didn't pay much attention to tailwind, until suddenly I realized that it has spread like wildfire and now is everywhere. What drove that growth? Which groups were the first adopters of tailwind; how did they grow; when did the growth skyrocket? Why did it not stay as niche as, say, htmx?
- znnajdla 9mo agoI used plain CSS for more than a decade and felt the benefits of Tailwind within 10 minutes of getting started. What fueled the growth of Tailwind is that it makes web development palpably easier.
- azangru 9mo agoDo you remember what made it click for you? What was the hard part of writing plain CSS that tailwind made significantly easier?
- christophilus 9mo agoCSS requires discipline, or you end up accidentally styling something completely unrelated because you were overly general, or overly specific, or accidentally reused a class name. CSS disallows local reasoning. If you’re writing markup for a component, you have to jump between two files. There are plenty of other problems Tailwind solves, but these two alone make me never want to go back.
- tisdadd 9mo agoThis is why I loved polymer 1 and it's adoption of the shadow dom.
- azangru 9mo agoI agree with you about discipline; but... was it not interesting to discover how to build such a discipline? Was it not intriguing to learn how people who had been writing CSS for years had made it tolerable? Besides, there recently have been several crucial improvements to CSS to address these pain points. One is CSS layers, which lets define custom layers of specificity that help with the discipline (e.g. resets or some baseline styles go in a low layer, component styles go in a higher layer, and finally overrides end up in the highest layer). The other is CSS scope, which prevents the leakage of the styles. These should greatly help with the specificity issues; and @layer is now sufficiently broadly supported that it is safe to use. > If you’re writing markup for a component, you have to jump between two files. Yeah; one of the reasons for my question about the groups in which tailwind saw the biggest growth was that in some ecosystems jumping between files was not a problem to begin with. Vue, for instance, had single-file components, where css could be written in the same file as javascript. So did svelte. So does astro.
- cyanydeez 9mo agoYour synthesis points to software in the public interest. Governments need to start forking projects and guiding them through maturity, the same as other public utilities.
- j45 9mo agoThe pain and opportunity will move elsewhere. Tailwind is a handy tool that deserves support and sustainability
- computerthings 9mo ago[dead]
- andrei_says_ 9mo agoI know I’m echoing others’ responses but CSS in 2026 is incredible, easy to use and beautiful. I find the tailwindcss approach inexcusable and unmaintainable.
- raincole 9mo agoI think you live in a conspiracy world. > Improving accessibility to compute power would hurt Amazon, Microsoft and Google. Yeah, if they were not competing against each other. > If suddenly CSS became pleasant to use, Tailwind would be in a rough spot. See the irony? Honestly, I don't. If people suddenly adopted a heathier lifestyle, doctors, at least dentists, would be in a rough spot. See the irony? Well, again I don't.
- skeptic_ai 9mo agoYou can’t even have dynamic Classes: https://tailwindcss.com/docs/detecting-classes-in-source-files https://tailwindcss.com/docs/detecting-classes-in-source-fil... > <div class="text-{{ error ? 'red' : 'green' }}-600"></div> —- I find it really crazy that they think would be good idea. I wonder how many false positive css stuff is being added given their “trying to match classes”. So if you use random strings like bg-… will add some css. I think it’s ridiculous, but tells that people that use this can’t be very serious about it and won’t work in large projects. —— > Using multi-cursor editing When duplication is localized to a group of elements in a single file, the easiest way to deal with it is to use multi-cursor editing to quickly select and edit the class list for each element at once Instead of using a var and reusing, you just use multi cursors. Bad suggestions again. —- > If you need to reuse some styles across multiple files, the best strategy is to create a component But on benefits says > Your code is more portable — since both the structure and styling live in the same place, you can easily copy and paste entire chunks of UI around, even between different projects. —- > Making changes feels safer — adding or removing a utility class to an element only ever affects that element, so you never have to worry about accidentally breaking something another page that's using the same CSS. CSS in js fixed this long time ago. —- <div class="mx-auto flex max-w-sm items-center gap-x-4 rounded-xl bg-white p-6 shadow-lg outline outline-black/5 dark:bg-slate-800 dark:shadow-none dark:-outline-offset-1 dark:outline-white/10"> <img class="size-12 shrink-0" src="/img/logo.svg" alt="ChitChat Logo" /> <div> <div class="text-xl font-medium text-black dark:text-white">ChitChat</div> <p class="text-gray-500 dark:text-gray-400">You have a new message!</p> </div> </div> So many classes you need to learn to use it.
- bschmidt700 9mo ago[dead]
- sodapopcan 9mo ago> killed Tailwind Labs They are still around. > "Give everything away for free and this people will leave technology" This is more interesting, although somewhat generally understood (can be conflated with people seeing "free" and "cheap" and therefore undesirable). It depends on your definitely of longevity but we certainly have a LOT of free software that has, so far, lasted the test of time.
- tshaddox 9mo agoThat’s not at all why I bought Tailwind Plus. I bought it (at work) to have a solid collection of typical components and UI patterns, mostly expertly designed with a lot of attention to detail, to use as inspiration and as a shared language with other frontend devs and designers. I rarely (if ever) actually copy pasted any of their HTML or Tailwind styles. It’s mostly used as reference and inspiration. The fact that it’s implemented in Tailwind is mostly irrelevant (Tailwind really isn’t hard to use, especially after your first couple of small projects).
- renegade-otter 9mo agoCSS has come a long way. I used to include Bootstrap in all of my projects, effectively by default. Now it's obsolete. Especially with Grid and Flex. Do people even know what they can do with CSS these days? https://lyra.horse/blog/2025/08/you-dont-need-js/ https://lyra.horse/blog/2025/08/you-dont-need-js/
- yencabulator 9mo agoFWIW the radio button vedi vidi vici example has the round radio buttons overlaid with the text on Firefox.
- rebane2001 9mo ago> I’ve made the radio buttons half-visible in the demo for clarity, but with the opacity: 0 they would not actually be visible.
- yencabulator 9mo agoOkay, thanks. That was highly unintuitive when skimming.
- steveBK123 9mo agoHow is this drastically different than a lot of software companies that open source software and then sell support service for monetization?