Why Tailwind Laid Off Three of Its Four Engineers
Downloads hit an all-time high, yet revenue collapsed by 80 percent.

Opening
Dear reader, there’s a piece of news that quietly slipped by this past January.
The company behind the CSS framework Tailwind laid off three of its four engineers. At the very same time, Tailwind’s monthly downloads reached 75 million, and according to the 2025 State of CSS1 survey, developer adoption hit 51 percent — making it the most widely used CSS framework in history. The product had just peaked, and the company cut its headcount to a quarter of what it was.
Here are the numbers founder Adam Wathan disclosed: official documentation site traffic down roughly 40 percent from 2023, and revenue down roughly 80 percent.
This isn’t a story about a product failing. It’s a story where the product won, but the floor its business model was standing on disappeared. And that floor isn’t unique to Tailwind — it’s the same floor that the entire software supply chain your company’s product rests on is standing on.
🚰 The Pipes Are Clogged
Let’s start with what’s happening on the technical side.
If you’re reading this right now, you just used a piece of software called cURL. Even if you didn’t open a browser, if you touched a smartphone, laptop, TV, or car today, you used it too. libcurl, cURL’s core component, is estimated to have been installed more than 20 billion times. Just as we don’t think about the pump when we turn on a faucet, we use this every day without ever noticing it.
cURL is an open-source project that first appeared in 1996. It was created by Swedish developer Daniel Stenberg (55), who still maintains it full-time today. The list of contributors runs past 3,000 names, but he is the only full-time one.
“I’ve been curl’s only full-time person for a long time. Everyone else is a volunteer, and they come and go. I don’t know who’ll still be here tomorrow.” (Daniel Stenberg)
Eric S. Raymond called people like this “load-bearing internet people” — the walls that carry a building’s weight while no one ever looks at them.
But this past January, Stenberg shut down the bug bounty2 program he had run for six years. Over those six years it had paid out $86,000 (~₩120 million) and fixed 78 genuine vulnerabilities. There was exactly one reason for ending it: an explosion of AI slop3.
Stenberg said that across six years, not a single genuine vulnerability was ever found among AI-generated reports. Instead, he was flooded with plausible-looking fake reports, complete with GDB session logs and register dumps referencing functions that didn’t even exist.
He wrote:
“The never-ending slop reports take a serious mental toll to manage, and it takes a long time to refute them. It’s time and energy completely wasted. And it erodes even our will to live.”
That same month, Steve Ruiz, founder of the digital whiteboard tool tldraw, started automatically closing pull requests4 from outside contributors. He isn’t against writing code with AI — he uses it himself and recommends it to his team. The problem lay elsewhere.
“If writing the code is the easy part, why would I want someone else to write it for me?” (Steve Ruiz)
AI-generated contributions are formally correct but miss context, misread the codebase, and above all, the author doesn’t stick around for the follow-up conversation. In the past, new contributors learned a project over time and eventually became trusted maintainers. Now all it takes is pointing a tool at a project, so there’s no reason for the person behind a contribution to ever come to know the project at all.
Review costs stayed the same while the cost of producing a contribution converged to zero. A paper published this past March labeled this phenomenon a “tragedy of the commons”: an individual’s productivity gains get passed on as costs to reviewers, maintainers, and the community as a whole.
💰 The Currency Disappeared
Now for the economics. This is where we come back to Tailwind.
Tailwind’s business structure worked as a loop: a developer searches “how to center a div” → lands on the official docs → sees an ad for the paid product (Tailwind UI) next to the docs → buys it. Documentation traffic was the revenue funnel itself.
LLMs deleted the second link of that loop entirely. Developers no longer visit the docs — they ask Claude or ChatGPT instead. The irony is that those models can answer precisely because they were trained on Tailwind’s documentation and community discussions.
Product usage at an all-time high, revenue at a fifth of what it was. This is the clearest cross-section of what’s happening across the open-source ecosystem right now.
This past January, a research team led by economist Miklós Koren at Central European University (CEU) published a paper titled “Vibe Coding Kills Open Source.”5 It applies an international trade model to open source, and its conclusion cuts sharp.
Testing across six coding models, the team confirmed that packages models frequently recommend see downloads surge, but that activity never converts into the engagement that actually sustains maintainers. Bots install the package, but they don’t file issues, don’t read the docs, and never say thanks.
The paper’s conclusion: “Under traditional business models where developer revenue depends entirely on direct user engagement, the open-source ecosystem cannot survive widespread AI adoption.”
Koren put it this way:
“From a developer’s perspective, the question becomes: if I want to be popular among people, why would I build something only machines use?”
Stack Overflow’s collapse follows the same structure. Monthly questions that exceeded 100,000 right before ChatGPT launched now number fewer than 1,500. The answer rate has also dropped from 80 percent to roughly half. Where a public square once stood, private conversation logs owned by big tech companies now sit instead.
🔑 The Intersection: The Real Currency of Open Source Was Never Code
This is the heart of this piece.
We’ve always understood open source as “giving away code for free.” But in fact, open source was a system that ran on two currencies.
- Surface — Out: code / In: (nothing, free)
- Actual — Out: code / In: attention, reputation, issue reports, documentation traffic, career capital
The second line was the real balance sheet. Labor that looked unpaid was actually being compensated in the currency of attention. A contribution history was a line on a résumé, a documentation visitor was a potential customer for a paid product, and a GitHub star was your next job.
AI coding tools replicated code perfectly. But they couldn’t replicate attention — instead, they absorbed it. The attention users used to pay maintainers now flows to Silicon Valley as $100-to-$200-a-month subscription fees.
A comment from Rich Harris, creator of Svelte, nails this exact point.
“Until very recently, the idea of paying what amounts to rent to a Silicon Valley company for the privilege of using software would have been considered utterly absurd.”
An artist named Mierle Laderman Ukeles wrote the “Manifesto for Maintenance Art” in 1969. She pointed out that maintenance labor is always devalued relative to creative labor, and that society grants maintainers “lousy status.” And she asked:
“After the revolution, who’s going to pick up the garbage on Monday morning?”
That question is 57 years old, and it’s repeating verbatim right now in GitHub issue trackers. Generative AI was designed and marketed as a tool for creation. Have you ever seen an AI product advertise itself as “revolutionizing maintenance”? I haven’t. Maintenance is the one job with no shortcut.
So What Does This Mean for Our Products?
This is where the story stops being someone else’s problem.
A single FT app sits on top of more than 2,000 open-source packages. Your company’s product probably isn’t very different. A large share of those 2,000 packages hangs on a single maintainer, and that one person is wearing out under slop reports right now.
A famous xkcd comic drew this exact structure: a towering block labeled “all modern digital infrastructure” balanced on a single thin block labeled “a project some random person in Nebraska has been thanklessly maintaining since 2003.”
In the course of building GTM strategy, I’ve opened plenty of technical due-diligence documents, and dependency lists usually just check whether “the license is clean” and move on. I did the same. Who’s maintaining this, and whether that person is running out of steam was never on the due-diligence checklist. Looking back, that was the biggest hole.
Here are three things worth checking right now.
- Check the bus factor6: How many of your product’s core dependencies have had over 80 percent of their commits over the past 12 months come from a single person? You can check this in 30 minutes using GitHub Insights.
- Check whether you’re sponsoring anyone: How many of those packages do you actually pay for? For most companies, the answer is zero. Sending even a few tens of dollars a month via GitHub Sponsors or Open Collective changes the odds a maintainer walks away.
- Tighten your contribution policy: Are your engineers throwing AI-generated PRs at external open-source projects? The moment your company’s name gets attached to producing slop, it damages your recruiting brand too.
Oz’s Lens
Honestly, I’m wary of letting this issue get reduced to “AI is bad.”
Even Stenberg isn’t against AI tools themselves. He publicly praised a developer who used AI-assisted tools to surface a large batch of genuine issues. Here’s the core of what he said:
“Generally, writing the initial code has never been the problem for any project. The challenge of a project is maintaining it over time and fixing the bugs. [AI] isn’t that great at fixing problems. It’s much better at finding them.”
Looking at this structure, what strikes me is that this isn’t a technology problem — it’s a settlement-structure problem.
Close to two decades of building GTM strategy has shown me one recurring pattern: what genuinely collapses in a market is never the product itself, but a business model where the point where value is created and the point where money is collected have drifted apart. Tailwind created value in its code and collected money via documentation traffic. AI simply cut the bridge linking those two points. The real problem was that the bridge was that thin to begin with.
So I’d frame this less as “open source is dying” and more as “open source’s settlement model is being forcibly redesigned.” And the bill for that redesign eventually comes to every company that sells software — to us. Right now, maintainers are absorbing that cost with their own personal stamina. Once that stamina runs out, we’ll turn the faucet and nothing will come out.
A remark from Karen Sandler of the Software Freedom Conservancy has stayed with me. She said these tools have “the potential to let anyone fix the software they depend on themselves.” I believe in that possibility too. But it won’t arrive on its own — it’s a future that’s only possible if there are still people left who know how to fix things.
Closing
To sum up:
- The pipes are clogged. cURL shut down its bug bounty, and tldraw closed off external contributions. Individual maintainers are shouldering the review cost of AI slop.
- The currency disappeared. Tailwind: 75 million downloads, revenue down 80 percent. The currency open source was actually being paid in was never code — it was “attention,” and AI absorbed that attention.
- The bill comes to us. Maintainers of the thousands of packages our products rest on are burning out and walking away, one by one. I’d suggest checking just two things today: bus factor, and whether you’re sponsoring anyone.
Building is harder than destroying, and maintaining is harder than building. We usually don’t notice maintenance until something breaks, and we only realize a maintainer existed after they’ve already left.
💬 Among the open-source packages your company’s product depends on, do you know of any that effectively have just one maintainer? Or, on the flip side, if you’ve ever sent an AI-generated PR to an external project, I’d love to hear what kind of reaction you got. Tell me in the comments and I might carry it into the next issue.
💬 Share your experience with the question above in the comments · 📨 If you have a colleague wrestling with dependency management, send them this issue
References & Further Reading
Primary sources
- Koren, M., Békés, G., & Hinz, J., “Vibe Coding Kills Open Source”, arXiv:2601.15494, January 2026. : This is the economic backbone of this piece. The approach of applying an international trade model to open source is especially interesting. If you’re short on time, the conclusion alone is enough.
- Daniel Stenberg, “The end of the curl bug-bounty program”, January 2026. : This is the maintainer’s own voice. The exhaustion in his sentences says more than the numbers do.
- Steve Ruiz, “Stay away from my trash!”, tldraw blog, January 17, 2026. : The question “if writing code is the easy part, why would you want someone else to do it” is the starting point for this entire piece.
- DevClass, “Tailwind Labs lays off 75 percent of its engineers thanks to ‘brutal impact’ of AI”, January 8, 2026. : The most concrete case study of an open-source revenue model collapsing.
Background
- Mierle Laderman Ukeles, “Manifesto for Maintenance Art 1969!”, 1969. : A classic text on the devaluation of maintenance labor. It isn’t about software at all, yet it reads like it is.
- xkcd, “Dependency”, xkcd #2347. : This single drawing summarizes everything in this piece.
The author, Kwangseob Ahn, is a professor of business administration at Sejong University and lead consultant at OBF (Oswarld Boutique Consulting Firm). He teaches statistics and data analysis — business data management and business analytics — while leading GTM and AI strategy consulting in the field, designing the seam between technology and business. He has published academic research on a memory architecture for AI dialogue systems (HEMA) and runs Daily Arxiv, a daily curation of global AI papers. He holds a master’s from Korea University’s Graduate School of Technology Management and a KMBA. He is the author of Homo Brainless: The People Who Outsource Their Thinking.
📝 Glossary
Footnotes
-
State of CSS: An annual survey of CSS tool usage among web developers worldwide. It functions as the de facto industry standard metric for adoption rates. ↩
-
Bug Bounty: A program that pays outside developers a reward for finding and reporting security vulnerabilities in software. It’s designed to catch flaws internal staff alone would miss — but because a reward is on the line, it also draws a flood of fishing-for-cash reports. ↩
-
AI slop: Mass-produced AI content that looks plausible but has no real substance. In coding contexts, it refers to bug reports or code suggestions that are “formally perfect but contextually wrong.” ↩
-
Pull Request (PR): A proposal submitted to an open-source project saying “please change the code this way.” A trusted maintainer of the project has to review and approve it before it’s actually merged in. The core of the current problem is that submitting one takes seconds, while reviewing one takes hours. ↩
-
Vibe Coding: A development style where, instead of reading and writing code yourself, you give natural-language instructions and use whatever AI produces as-is. It’s fast, but if you lack the ability to verify the output, you’re stuck when something goes wrong. ↩
-
Bus Factor: A metric measuring “how many people would need to get hit by a bus before this project grinds to a halt.” A bus factor of 1 means the entire project hinges on a single person. ↩


Your take shapes the next issue
What resonated most in this issue, or where has your experience been different?