Work in progress: 82,651 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #671

A

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.

Visit the blog
119mentions?
13recommend?
94HN people?
2016–2026first – last linked?
Links on Hacker News per year · peak 27 in 2020

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?

  1. CSS Utility Classes and “Separation of Concerns” (2017)
    60 people · 79 mentions · first linked 2017-08-09
  2. The $61,392 Book Launch That Let Me Quit My Job
    10 people · 10 mentions · first linked 2017-04-22
  3. Tailwind CSS: From Side-Project Byproduct to Multi-Million Dollar Business
    7 people · 7 mentions · first linked 2020-08-02
  4. Persistent Layout Patterns in Next.js
    4 people · 4 mentions · first linked 2019-11-12
  5. Don't Use Em for Media Queries
    3 people · 3 mentions · first linked 2017-11-30
  6. The Trick to Understanding Scoped Slots in Vue.js
    2 people · 2 mentions · first linked 2018-05-24
  7. Going Full-Time on Tailwind CSS
    2 people · 2 mentions · first linked 2018-12-30

What Hacker News says?

  1. 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”
  2. Submitted Tailwind CSS: From Side-Project Byproduct to Multi-Million Dollar Business as a story · 308 points

    HN discussion
  3. They 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”
  4. Submitted CSS Utility Classes and “Separation of Concerns” (2017) as a story · 280 points

    HN discussion
  5. inopinatus · 2020-02-04Recommends
    No, 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”
  6. Submitted CSS Utility Classes and “Separation of Concerns” as a story · 17 points

    HN discussion
  7. That 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”
  8. Submitted The $61,392 Book Launch That Let Me Quit My Job as a story · 11 points

    HN discussion
  9. It'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”
  10. Submitted CSS Utility Classes and “Separation of Concerns” as a story · 9 points

    HN discussion
  11. See 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”
  12. Submitted CSS Utility Classes and Separation of Concerns as a story · 4 points

    HN discussion
  13. red_admiral · 2020-11-19Recommends
    I 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”
  14. Submitted CSS Utility Classes and “Separation of Concerns” as a story · 4 points

    HN discussion
  15. As 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”
  16. Submitted CSS Utility Classes and "Separation of Concerns" (2017) as a story · 3 points

    HN discussion
  17. lemonberry · 2020-11-18Recommends
    One 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”
  18. Submitted CSS Utility Classes and “Separation of Concerns” (2017) as a story · 3 points

    HN discussion
  19. sbergot · 2021-12-10Recommends
    In 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”
  20. Submitted CSS Utility Classes and “Separation of Concerns” (2017) as a story · 3 points

    HN discussion
  21. bschne · 2021-12-10Recommends
    For 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”
  22. Submitted The Trick to Understanding Scoped Slots in Vue.js as a story · 3 points

    HN discussion
  23. dcchambers · 2021-05-27Recommends
    Miscellaneous 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?”
  24. Submitted CSS Utility Classes and “Separation of Concerns” as a story · 3 points

    HN discussion
  25. dmitriid · 2018-02-05Recommends
    I 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”
  26. Submitted Don't Use Em for Media Queries as a story · 3 points

    HN discussion
  27. 1. "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”
  28. Submitted Don't Use Em for Media Queries as a story · 3 points

    HN discussion
  29. The 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”
  30. Submitted CSS Utility Classes and “Separation of Concerns” as a story · 3 points

    HN discussion

Search all of HN for adamwathan.me

Linked by the same people?