upvote
Show HN: Performative-UI – a react component library of design tropes

(vorpus.github.io)

The funny thing is, the techniques shown here are the ones that were once considered something only advanced front-end developers or publishers could do. Seeing that a former symbol of skill has now become a subject of satire makes me think that what we call 'high-level' ultimately comes from what others can't do. I personally never even thought about how to implement ASCII art animation.
reply
It's less about "can't do" and more about creativity :)
reply
I've worked on several projects where people looked at the site, which was simple and straight to the point, and people would straight up tell me they didn't take it seriously because it didn't have these performative UI things on it.

It's like when a Youtuber's audience complains about how they're constantly asking you to subscribe. The reason it happens is because the statistics say it works.

reply
I don't think the commentary being made here is that startup websites should not be flashy. Just that, maybe they don't all need to look exactly the same as each other.
reply
I think homogeneity is an unavoidable end game for the internet (unfortunately).

At work we’ve been discussing whether to migrate off our home grown component library to Material UI. I shudder at the thought, personally. However, a compelling reason to use a ubiquitous framework is that the ubiquity means folks intuitively know how to interact with your product.

Like many of us I was born into a deeply customizable Internet, all of my websites were green or red on black. They were a glorious amalgam of fixed width fonts and <blink> tags. With occasional wingdings characters for fun and games and complex <table>/<tr>/<td> tags for really epic layouts. They were l33t, honestly ^_^

But, as time goes on and more and more people use this thing, converging on the one-true-UX feels like a net good thing assuming the fundamentals are right. To some degree the LLM-ization of the Internet is essentially the end game of squashing the personality out of the Internet which bootstrap started.

We’re on the cusp of spoken word being the core UX of computers with a fall back to reading the LLM transcript, neither of which benefits from <blink>

reply
> a compelling reason to use a ubiquitous framework is that the ubiquity means folks intuitively know how to interact with your product

Not that I disagree with you, but I'll also offer a tradeoff.

When people expect to pick up your app intuitively, it can also just mean them using the app absent-mindedly, which can mean them skipping the manual and jumping straight to trying to tie up the support lines. Whereas if your ui asks for a user's full focus up front, yes there are downsides to that but they're also more engaged.

reply
We're migrating our Material UI components to homemade components, since MUI doesn't cater to our needs anymore.
reply
It seems to me the parent commenter is saying the opposite: looking exactly like each other _is_ the point. It's a form of social signaling, to indicate that a project "belongs" to the in group of high-flying successful AI hype projects.

Note I'm not arguing that this is a good strategy. But given that so many people follow it I imagine it's not as bad as it appears on the surface.

reply
It really comes down to first impression. Your website design is your company’s first impression. If the design is clean, people will believe the product is clean and robust as well. Similar to how people think things that cost more and probably high quality and better overall.

As for this website, the best component is the ASCII animation in the hero and you can’t even copy that component. In fact, that nice ASCII hero is what gave me a good first impression to go thru all the components.

reply
reply
Ah it’s in the hero section, kind of scanned that section but had lost interest by that point
reply
explain why Craigslist, temu, etc. are all popular then? :p
reply
Sometimes utility can be so good, users don’t care about design. I was also thinking of it as a business coming to a SaaS website. B2C is filled with so many dark patterns, first impression probably plays less of a role.
reply
Same for clickbait thumbnails, people hate them, and yet don't really click on non clickbaity ones.
reply
Its like when people say they hate politicians all the while they've been voting for the same Senator for the past 30 years.
reply
In the marketing world this is called revealed preference. This stuff is A/B tested to death. Anyone trying to sell something is best served by watching people's behavior instead of listening to what they say, as the two are often different if not polar opposites.
reply
The perspective marketing world seems toxic. From the perspective of the "consumer", it sure does feel like we are being "ignored", "tricked", or "bamboozled" when our stated preferences are ignored in favor of "revealed preference".

It isn't that we have a "preference" for these things, it is far more likely that a user just doesn't have their guard up 100% of the time, and these psychological manipulations are designed to cut through that.

Sure, these strategies probably net clicks, but they aren't from people who "chose" your product, they are clicks from people who were manipulated into clicking.

I suppose whether you think that is okay depends on your industry and ethics.

reply
It's behavioral marketing, vs status/aspirational marketing.

A stated preference isn't necessarily current or situational (I will choose to run instead of watching another 45 minutes of Youtube videos).

A situational preference is often inertia, and behavioral marketing will directly hinder the meta cognitive processes that usually give us the agency to override our default mode choices (John has been on YouTube for the last 20 minutes, what next suggestion is not likely to keep him there?)

reply
Yeah, it is highly toxic. I'd assume that in most cases those "revealed preferences" are specifically engineered, not organic. It's taking advantage of biological reflexes and calling it a true preference.
reply
I love how this is both hilarious and extremely well made. Great job!

And I'm gonna be honest, I kind of want to use a few of these components for real (the ASCII art is fantastic).

reply
I was going to say that too. Some of these I definitely am guilty of. I have a few dozen that aren't on the list but it's a breath of fresh air to see it so well organized even though, we all know what it is :D fantastic job to the author(s).
reply
These all look very professional for (basically) a parody library
reply
Definitely bookmarking for future ideas and inspiration, don't care if I'm shamed for it.
reply
What are the odds some companies end up using it for a real product?
reply
Honestly I can just swap these bad boys in and ship in less than a couple hours if it'd be funny enough. I don't think they're bad designs at all, and I don't think every aspect of my business needs to be unique and obsessed over.

IMO this is like judging landscaping companies for all using similar looking shovels.

reply
...which might just show how predictable and similar all janky startup pages are.
reply
Janky?
reply
The most extreme virtue-signal is to go completely browser-default and have no styling whatsoever. Like lowercasing because your pinky can't be arsed to reach for the shift-key even though you've a billion dollars in series A.
reply
reply
My god, it's perfect.
reply
Ew. I mean 500 bytes of CSS would make this so much better.
reply
I've mostly stopped caring about using using proper capitalization, commas, grammar and spelling in my writing of comments, primarily as a signal that i'm not an llm.
reply
If you turn on HN's "Show Dead" setting, there are tons of LLM-generated comments on stories related to AI. You can see the human(s) behind the LLM trying to fiddle with the style of comment by making them skip proper grammar, capitalization, use or avoid certain phrases, and so on. The biggest tell for LLM content, though, is just the content as a whole: it sounds fake and ungenuine, like it passed through a committee of hostage negotiators to remove the speaker's own attachment/expectations.

They can configure it to use all lowercase letters, skip em-dashes, make grammar mistakes, stop saying "it's not X, it's Y", or whatever, yet the content itself just has a fake quality to it that makes it stand out, which is why those comments still get flagged IMO.

reply
The uncanny valley of text. It looks and sounds like a human, but lacks the "soul" / humanity that our intuition somehow perceives.

It's really strange... I see some text with obvious tropes and sometimes I read something and there's no obvious AI trope... but it's just not human?

reply
I had this conversation the other day. I'm a native German speaker originally, which is why I hand out commas like it's candy and capitalize things unnecessarily. Sometimes I notice these things and leave them in when I write something, since at least it gives you a good indication that a human wrote it... for now.
reply
Claude's "write me a product description like a cool human would" is just using lower-case where it shouldn't be though.
reply
The problem is that omitting capitalization, commas, and so on signals, in addition to "not AI in default settings", but also "I'm part of the San Francisco AI in-crowd and Altman is my spirit animal".
reply
Virtue-signalling or just the daddy?

https://www.berkshirehathaway.com/

reply
Netscape knows best.
reply
Give me Navigator or give me death
reply
Ah yes, the jeevacation special
reply
Craziest m'island
reply
Array language proponents also like to do this. In their case I‘ll allow it, it matches the substance.
reply
lowercasing everything -- just means

you're literate smart... poetic; because

you read e.e.cummings

and william carlos

williams

...

fin.

reply
Instructions unclear, am will.i.am
reply
I get the whole trope thing and maybe I'm just an old man but I still am kinda impressed when Claude sh*ts out this type of UI 100 times faster than I ever could. It might also be that I never could have made UI even of this quality before AI. (˶ˆᗜˆ˵)
reply
It's still better than the sh*t developers produced three years ago.

Some people just like to feel superior by shaming others' work. You can easily tweak the visual output if you want to, but it's good enough for most use cases and better than what developers used to produce.

So, it's progress.

reply
Agreed. I enjoy looking at and using a lot of these components.
reply
Some of these are actually nice and appropriate to use in certain contexts. Also this issue is hilarious: https://github.com/vorpus/performativeUI/issues/2
reply
That ascii lava lamp effect is low key really cool
reply
Yeah probably my favorite of the bunch too. I bet there’s a fun project to do to make a customizer for that.
reply
Lags the hell out of my browser (Safari) window though.
reply
sorry in advance if this post causes more sites to use that effect
reply
“TokenStream – Server-sent events (SSE) were added to the HTML5 spec in 2008 but never used until 2025.”

I remember chunked transfer encoding shipped in 1997. It's been possible since then to readily and easily stream bytes of text or chunks of html the way everyone sees LLMs do today.

I used this to write a web based telnet client in 1997, and later a text moo / chat for the web. In both cases used a frameset so your line to send was at bottom of screen, the incoming lines were server-sent as things happened server side, and scrolled the client as new lines came in.

There were other things you could abuse before that, but less reliable.

But yeah, talk about things nobody used....

reply
Adding github link for those who want to use it (I do): https://github.com/vorpus/performativeUI
reply
wait my readme isnt performative enough yet, let me add a chart showing the star history
reply
lol. Genuinely curious, what is your reaction to so much "actually, this is great and useful" feedback?
reply
this gives me great motivation to take on even more story points next sprint!
reply
Dickover is suspiciously missing. How will I ask visitors to subscribe to my newsletter?
reply
I could see actually using this…
reply
Savage and accurate. 100%.
reply
Many a true word is spoken in jest.
reply
Slick and self aware. Looks good
reply
My Claude feels personally attacked.
reply
pretty decent, may even use some of the components eventually. star given
reply
Coooooooooool!!!!
reply
This needs an additional subscriptions service tier, that's even more performative and even more AI
reply
It's very fun and way too polished, thanks!
reply
Very funny. Although ironic that this whole library was built with AI.
reply
Ironic, or appropriate?
reply
Ironically appropriate
reply
Spot on "AI Native".
reply
Starred this, my next project is going to be classified as slop anyway.
reply
no more stars please, we are at a funny number
reply
It needs a purple gradient mode.
reply
NGL I'm going to steal/borrow/leach all sorts of these for my product.

When in Rome!

reply
Man... That's satire on a whole another level. What a technical and deep sense of humor.
reply
Now I can produce slop without AI.
reply
Why would you do that, when you can make shit nobody needs 10x faster with AI
reply
The author should have AI set up a simple deployment to EC2 and Azure and make an endless series of semantically meaningless AI companies with web sites and submit them everywhere. The web sites should also do this themselves.
reply
deleted
reply
Nice UI quality
reply
Lmao!!! Awesome
reply
I heard you like AI slop...
reply
[flagged]
reply
Neat, opened an issue there for a finicky bit of code that'd help me quite a bit. /s
reply
Yawn. This is just bootstrap all over again. So what if people who don't have design skills can now create pleasant looking websites?
reply
The thing about humor is that you don't have to tell people when you don't get a joke, you can just quietly continue to live your life while you wait for your next chance to be temporarily happy.
reply