Top all-time · #671
Adam Wathan
Personal blog · adamwathan.meprogrammingweb
Adam Wathan's personal blog at adamwathan.me covers programming and web. Since 2016, 94 different Hacker News readers have linked it 119 times, most often “CSS Utility Classes and “Separation of Concerns” (2017)”. The last post was in 2020, but the archive is still widely read.
Sometimes recommended · 13 of 40 sampled comments recommend it?
Why HN links it
HN readers link this blog mostly for its argument for utility CSS classes and separation of concerns, cited as the defence of Tailwind's approach, and for the Tailwind business story.
- Recommended for · 13 comments
- worth reading; explains the motivations better than the commenter could; the best defence of Tailwind
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- CSS Utility Classes and “Separation of Concerns” (2017)60 people · 79 mentions · first linked 2017-08-09
- The $61,392 Book Launch That Let Me Quit My Job10 people · 10 mentions · first linked 2017-04-22
- Tailwind CSS: From Side-Project Byproduct to Multi-Million Dollar Business7 people · 7 mentions · first linked 2020-08-02
- Persistent Layout Patterns in Next.js4 people · 4 mentions · first linked 2019-11-12
- Don't Use Em for Media Queries3 people · 3 mentions · first linked 2017-11-30
- The Trick to Understanding Scoped Slots in Vue.js2 people · 2 mentions · first linked 2018-05-24
- Going Full-Time on Tailwind CSS2 people · 2 mentions · first linked 2018-12-30
What Hacker News says?
CSS "separation of concerns" never worked well anyway: https://adamwathan.me/css-utility-classes-and-separation-of-...
Comment linking /css-utility-classes-and-separation-of-concerns/?utm_source=pocket_mylist
on “Show HN: Imba – I have spent 7 years creating a programming language for the web”Submitted Tailwind CSS: From Side-Project Byproduct to Multi-Million Dollar Business as a story · 308 points
HN discussionThey achieved $2 million revenue in the first 5 months of the first Tailwind UI release.[1] They had a very good run for such a project. [1] - https://adamwathan.me/tailwindcss-from-side-project-byproduc...
Comment linking /tailwindcss-from-side-project-byproduct-to-multi-mullion-dollar-business/
on “Shopify acquires Tailwind”Submitted CSS Utility Classes and “Separation of Concerns” (2017) as a story · 280 points
HN discussionNo, not custom at all. Quite the opposite - it's a well-curated set of standard classes. It's the focus on utility-based composition of style that sets Tailwind apart. For me the problem being solved is maintainability, recognising that CSS is tremendously brittle with regard to the application it serves and the context in which it is evaluated. Probably best to read https://adamwathan.me/css-utility-classes-and-sep…
Comment linking /css-utility-classes-and-separation-of-concerns/
on “Old CSS, New CSS”Submitted CSS Utility Classes and “Separation of Concerns” as a story · 17 points
HN discussionThat is answered by the author here https://adamwathan.me/css-utility-classes-and-separation-of-...
Comment linking /css-utility-classes-and-separation-of-concerns/
on “Tailwind UI”Submitted The $61,392 Book Launch That Let Me Quit My Job as a story · 11 points
HN discussionIt's different because it's not actually setting a specific style, it's still a semantic description. You would never need to update all the "text-sm text-gray-700" in your project to something else, that just wouldn't make any sense. You might change what "text-sm" and "text-gray-700" (I'd probably go with a more meaningful name for colors, "text-gray-primary" or whatever, but hey) actually do, but you wouldn't wan…
Comment linking /css-utility-classes-and-separation-of-concerns/
on “Tailwind UI”Submitted CSS Utility Classes and “Separation of Concerns” as a story · 9 points
HN discussionSee https://tailwind.build for something that already exists and knowing the community that surrounds this, he will more than make a good return off it so no worries there for the work that has gone into it. ie. https://adamwathan.me/the-book-launch-that-let-me-quit-my-jo...
Comment linking /the-book-launch-that-let-me-quit-my-job/
on “Tailwind UI”Submitted CSS Utility Classes and Separation of Concerns as a story · 4 points
HN discussionI really like the author's explanation at https://adamwathan.me/css-utility-classes-and-separation-of-... - key points for me are: The question is not "semantic" or not. The question is whether your HTML depends on your CSS, or the other way round - and that depends on what you're doing. Halfway down, it feels like we've somehow managed to recreate the OOP inheritance vs composition debate in our stylesheets (with @…
Comment linking /css-utility-classes-and-separation-of-concerns/
on “TailwindCSS v2.0”Submitted CSS Utility Classes and “Separation of Concerns” as a story · 4 points
HN discussionAs someone who is actively maintaining several projects using Tailwind now, it really doesn’t in practice. In fact if anything it requires _less_ discipline, because a styling change can’t really break a layout elsewhere. You avoid repeated classes by extracting components (either template partials, or actual components if you’re using a front-end framework). The components themselves define how they look, and then…
Comment linking /css-utility-classes-and-separation-of-concerns/
on “TailwindCSS v2.0”Submitted CSS Utility Classes and "Separation of Concerns" (2017) as a story · 3 points
HN discussionOne huge difference is that you can use media queries with TailwindCSS and you can't with the style attribute. I think the best defense of Tailwind's approach is from Adam Wathan in this post. https://adamwathan.me/css-utility-classes-and-separation-of-...
Comment linking /css-utility-classes-and-separation-of-concerns/
on “TailwindCSS v2.0”Submitted CSS Utility Classes and “Separation of Concerns” (2017) as a story · 3 points
HN discussionIn case you haven't seen it this is an explanation that is worth reading: https://adamwathan.me/css-utility-classes-and-separation-of-...
Comment linking /css-utility-classes-and-separation-of-concerns/
on “Tailwind CSS v3.0”Submitted CSS Utility Classes and “Separation of Concerns” (2017) as a story · 3 points
HN discussionFor those wondering "but separation of concerns!" or "but code reuse!", the dev behind Tailwind wrote a post about his thinking around this, which IMO makes quite a lot of sense, a while back: https://adamwathan.me/css-utility-classes-and-separation-of-...
Comment linking /css-utility-classes-and-separation-of-concerns/
on “Tailwind CSS v3.0”Submitted The Trick to Understanding Scoped Slots in Vue.js as a story · 3 points
HN discussionMiscellaneous technical stuff: - https://danluu.com/ - https://blog.jessfraz.com/ - https://adamwathan.me/ - https://jvns.ca/ - https://rachelbythebay.com/w/ - https://dankim.org/ - https://mtlynch.io/ - https://rgz.ee/ - https://markdotto.com/ - https://thorstenball.com/ - https://sarahdrasnerdesign.com/writing/ - https://lukesmith.xyz/ - Quirky minimalist linux & free software stuff. I don't agree with many of his…
Comment linking /
on “Ask HN: Favorite Blogs by Individuals?”Submitted CSS Utility Classes and “Separation of Concerns” as a story · 3 points
HN discussionI also highly recommend this article, "CSS Utility Classes and "Separation of Concerns": https://adamwathan.me/css-utility-classes-and-separation-of-... This helps you wrap your head around semantic-vs-layout CSS and Functional/Atomic CSS
Comment linking /css-utility-classes-and-separation-of-concerns/
on “Modern CSS Explained”Submitted Don't Use Em for Media Queries as a story · 3 points
HN discussion1. "cascade" is mistake and "separation of concern" is mistake https://adamwathan.me/css-utility-classes-and-separation-of-... 2. website work perfectly fine without CSS functions, Bevels and squircles, Infinite possibilities with border-shape, ... only need these for make CSS educational blog 3. future of CSS is DeepSeek
Comment linking /css-utility-classes-and-separation-of-concerns/
on “The Future of CSS”Submitted Don't Use Em for Media Queries as a story · 3 points
HN discussionThe most important thing you can do to increase your odds of success when releasing a technical book is to have multiple pricing tiers, adding additional content so you give people the option to pay you more than $30 or whatever you are charging for just the book. I released a book in May 2016 teaching PHP programmers how to refactor code with lots of loops and conditionals into collection pipelines. So far it's mad…
Comment linking /refactoring-to-collections/
on “How I Made $70k Self-Publishing a Book about Ruby on Rails”Submitted CSS Utility Classes and “Separation of Concerns” as a story · 3 points
HN discussion