Live data from Hacker News

Tailwind and slop apps

briandouglas.ie

71–80 of 85 posts

Re: Tailwind and slop apps

#71

Tailwind, IMHO, doesn't bring any real value to the developer or the codebase. It's just a weird way to write CSS right in the classes. We have a tool for that, it's called "writing CSS", and it actually has classes that allow sharing style choices across various components (which somehow is marketed as feature of TW) In other words, I don't see how Tailwind is just "I want to write my CSS in obscure way in the wrong…

There are a couple of things:

1. Locality of behavior - the classes are the description of the style once you know tailwind, and they live where the thing they're styling is. I can look at a template and know pretty well how it is going to look without having to go lookup a sites personal bespoke CSS and match what's written there to the markup.

2. It's the same classes as you move from project to project. I have tons of small one-off apps I maintain, all using tailwind and I don't have to figure out the custom CSS classes and their meanings. It is a knowledge set that reduces friction between projects and I really need things that reduce cognitive load like that.

3. No dead CSS. There are tools to help with this in regular CSS but I just don't have to think about it with tailwind and that's nice. I work on my templates and the CSS is updated and minifed on the fly without extra steps (or unnecessary CSS).

4. Easy to build a personal component library that doesn't also require relevant CSS to be bundles with it. For me this one is pretty great. Thanks to template engines (for me it's Django's, but Jinja or others are grand too) I have a simple place to pull components (really just template partials) and widgets I've made and they just work because the underlying classes are the same. There are some exceptions around color schemes and the like but now all my little components take a colour scheme arg and voila, no proballo.

I think the key here is that a description of the visual is embedded in the markup. That lets the actual mark-up delivered to the front-end describe pretty much the whole kit. With server-side rendering ( I use HTMX ) I can even write unittests that responses contain expected markup, including CSS classes (I built a few helper assertions that all of my test suites use) which gives me some interesting checks.

I really ultimately don't think there is one correct way to do things. The things I value may be utterly irrelevant to another developer.

Re: Tailwind and slop apps

#72
post #54
post #22

These pages look fine. I'm not seeing the problem. Most landing pages don't need to be creative statements; in fact, I'd wager the majority are hurt by creativity; real creativity is risky! Which of these applications want an artistic statement on their brochure pages?

Probably at the very least the one for artists and DJs, you don't think so? You'd rather take your car to the sweaty, unkempt mechanic with his hands coated in motor oil, who you've never seen without his overalls, or the clean mechanic who wears a nice business attire with the classy shoes and tie? I rest my case.

Artists and DJs are a separate category than what the original article is talking about, and I'd agree that there's more need for creativity in those cases (although I have definitely seen websites for people in more creative fields that have thrown usability and legibility out the window in pursuit of annoying "gee whiz" overly designed sites.

The mechanic is a separate argument - the article is talking about uniqueness of design and creativity, not cleanliness / orderliness. These sort of Tailwind designs are exceptionally clean and orderly, they're just predictable and not unique. To apply the article to your analogy, I wouldn't particularly care if my mechanic had the same coveralls that most mechanics wear as opposed to some unique design of coveralls.

Re: Tailwind and slop apps

#73
post #68

Tailwind, IMHO, doesn't bring any real value to the developer or the codebase. It's just a weird way to write CSS right in the classes. We have a tool for that, it's called "writing CSS", and it actually has classes that allow sharing style choices across various components (which somehow is marketed as feature of TW) In other words, I don't see how Tailwind is just "I want to write my CSS in obscure way in the wrong…

Code locality has some advantages and some disadvantages. A “perfect” website has things cleanly separated out between style, logic, and DOM, but that does cause cases where you might have to edit three files every time you change a single widget of your website. Neglecting to do that can leave dead or incorrect code just because the issues do not inherently present themselves to you. Yes, a perfectly principled prog…

I'd argue that it's impossible to have locality in all aspects. If your style, logic, and DOM are separated almost certainly you have a separation in domain - you're going to have styles, logic, and DOM concerned with "widgets" in your product and if they're separated by whether they are style or logic that means they can't be correlated by their "widgetness".

Really the decision comes down to whether it's better to separate based on style/logic/dom or on the business domain, and I think at least for web apps, separation by domain wins out in most cases.

Re: Tailwind and slop apps

#74
post #54
post #22

These pages look fine. I'm not seeing the problem. Most landing pages don't need to be creative statements; in fact, I'd wager the majority are hurt by creativity; real creativity is risky! Which of these applications want an artistic statement on their brochure pages?

Probably at the very least the one for artists and DJs, you don't think so? You'd rather take your car to the sweaty, unkempt mechanic with his hands coated in motor oil, who you've never seen without his overalls, or the clean mechanic who wears a nice business attire with the classy shoes and tie? I rest my case.

I think it would be extremely funny to have a DJ site that uses a Tailwind SAAS product template.

Re: Tailwind and slop apps

#75
post #56

Earlier quoted context omitted.

Bingo! People mustve forgotten about the bootstrap era

Well there you go. If you want to differentiate yourself today, just use bootstrap!

My trick, I just use bootstrap, ask Claude for a custom Styles following a style, palete etc. Much better experience than buying and adapting and existing bootstrap theme

Re: Tailwind and slop apps

#76
> despite Tailwind being incredibly customisable I can instantly tell when a site is using Tailwind.

People used to say this a lot about Bootstrap.

Someone set up a bootstrap or not? guessing game and the real surprise was that you not only failed to spot some bootstrap sites you also guessed a lot of non-bootstrap sites were bootstrap because they all used the same modern UX paradigms.

Re: Tailwind and slop apps

#77

> despite Tailwind being incredibly customisable I can instantly tell when a site is using Tailwind. People used to say this a lot about Bootstrap. Someone set up a bootstrap or not? guessing game and the real surprise was that you not only failed to spot some bootstrap sites you also guessed a lot of non-bootstrap sites were bootstrap because they all used the same modern UX paradigms.

And I don't really believe them. Are they claiming to identify every site using tailwind-compatible utility classes, and within that set, they all look similar?

I think what they're actually experiencing is that they can instantly tell a default Tailwind site with reused components, which is not much of a claim at all.

Re: Tailwind and slop apps

#79

For all the complaints like this that I see about AI generated websites, the complaints rarely come with counter examples of what a good human generated alternative should look like. The authors blog design is perfectly functional, and I'm not suggesting that it needs any changes, but it also isn't a particularly impressive piece of web design.

In a way, Httpster would be a counter-example; but then some would claim that over-design landing pages are annoying in other ways.

You can either please the Greeks or the Trojans, I guess.

Re: Tailwind and slop apps

#80
post #2

Tailwind is the latest bootstrap. These frameworks were designed to allow people with no skill in design/UI to produce something that passed for attractive. Since most clients are more concerned about time and cost than quality and originality, this approach effectively killed bespoke landing pages and led a lot of UI devs to move away from hand-coding styles to glomming on class names and using a "best practice" fra…

i feel like this isn't a tailwind problem it's the homogenization of component libraries like shadcn daisyui etc. all remarkably boring,

pair that with the field of ui/ux thinking landing pages that say nothing at all and you get a million webpages that look the same. every sass does this. in fact, every saas had a slop feeling to it because of this before AI took off. before chat friggen jippity and now claude and gemini were ubiquitous, i was regularly rolling my eyes at every. single. saas. website.

all the examples in OP don't look like a tailwind specific thing to me at all. they look like a broader boring internet-webdev equivalent to live laugh love pinterest home interior designs that predates the AI slopfest. this is the web styling VC's have been demanding from the startups they've invested in for many years now.

as far as tailwind goes, it's more like a utility set of classes but i see no reason why you can't get creative with it. feel like it's catching strays here simply because everyone's vibe coding and it's a common path for trained models to choose but that really says not a lot about tailwind and a whole lot about how people are choosing to use tailwind. it's not like tailwinds providing a breadth of components or is locking in certain stylistic elements. it's just that everyone's making the same choices because everyone's slopping their front ends.

Post reply on HN