{"article":{"slug":"10-tells-of-a-slop-ui","title":"10 Tells of a Slop UI","subtitle":null,"summary":"Pranav Desai catalogs ten visual and copy tells of AI-generated “slop UI”—from rainbow gradients and pulsing badges to glassmorphism and generic hype—and why vibe-coded interfaces often look cheap without a design vision.","content_type":"blog_post","language":"en","canonical_url":"https://hereticpleb.vercel.app/blog/10-tells-of-slop","author":{"name":"Pranav Desai","url":"https://hereticpleb.vercel.app/","person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"hereticpleb","url":"https://hereticpleb.vercel.app/","listing_slug":null,"listing":null},"topics":[{"name":"AI","slug":"ai","url":"https://listedarticles.com/topics/ai"},{"name":"User Experience","slug":"user-experience","url":"https://listedarticles.com/topics/user-experience"},{"name":"Design","slug":"design","url":"https://listedarticles.com/topics/design"},{"name":"Web Development","slug":"web-development","url":"https://listedarticles.com/topics/web-development"},{"name":"Opinion","slug":"opinion","url":"https://listedarticles.com/topics/opinion"}],"about_listings":[],"cover_image_url":"https://hereticpleb.com/og-image.jpg","license":"all-rights-reserved","word_count":908,"reading_minutes":4,"published_at":"2026-09-27T15:16:40.674Z","added_at":"2026-09-27T15:16:40.674Z","updated_at":"2026-09-27T15:16:40.674Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":false},"profile_url":"https://listedarticles.com/articles/10-tells-of-a-slop-ui","markdown_url":"https://listedarticles.com/articles/10-tells-of-a-slop-ui.md","example":false,"citation":"Pranav Desai, hereticpleb. \"10 Tells of a Slop UI.\" 27 Sept 2026. https://hereticpleb.vercel.app/blog/10-tells-of-slop (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://hereticpleb.vercel.app/blog/10-tells-of-slop"},"body_markdown":"# 10 Tells of a Slop UI\n\nRecently my college app was updated with “minor UI improvements”, and it was the most slop-coded user interface I have seen.\n\nThe old UI was clunky, but I would’ve preferred that over the slop cannon their AI agent produced.\n\n# What Is Slop?\n\nSlop UI is the UI that AI cooks up that looks off, where it’s not supposed to be, doesn’t serve a purpose or when a UI is too generic.\n\nThis is seen in vibe-coded UI without a vision. Vibe-coded UI can look great when done right, but most don’t. And it makes the apps look cheap and unappealing to use.\n\n# Examples of Slop-Coded Websites:\n\nCloudflare recently slop-coded a website.\n\nAnd also websites like this, you just know it when you see it. It’s like the AI videos these days:\n\nanyhow. The following are the things that make up the slop.\n\n## Gradients. Gradients Everywhere.\n\nThe biggest and most noticeable sign is gradients. Gradients anywhere, gradients any time, gradients at every single thing. You’ll see them on buttons, in the background, basically anywhere where it could stuff it.\n\n**Slop Cannons LOVE purple for some reason**\n\n## Rainbow Vomit.\n\nAI loves using colours that mean nothing and are just different colours.\n\nYou just get this, just a screen of a bunch of colours that don’t go well together but are coloured that way. Because there is some distinction in fields when making the UI or whatever.\n\nIt doesn’t follow the 70-30-10 rule. It just adds colours all over the place.\n\n## Pulsing Badges\n\nI have no clue why it adds these, but it just does. It is in the training data, I guess. But it adds these pulsing badges on everything.\n\nIn the “”“upgrade”“” my college app had. They have this thing called a digital ID, which just shows, like, a QR code and your face. It has this pulsing badge which says it’s “active”.\n\nThe problem is. IT IS JUST NEVER INACTIVE. IF IT IS INACTIVE, THE APP JUST LOGS YOU OUT. It’s just redundant information.\n\nAnd my profile has an “active student” badge.\n\nCAN SOMEONE TELL ME WHAT AN INACTIVE STUDENT LOOKS LIKE??\n\nAlso in the same digital ID interface. It added a little “verified” badge next to my college logo.\n\nWHY THO.\n\nBecause it’s not like it’s doing some api call and going, “oh yeah, this guy is verified”.\n\nAnd EVEN IF IT WAS, IT DOESN’T MEAN ANYTHING, like. If I were forging my digital ID, would I deliberately add “unverified”????\n\n## Finger Nail Cards.\n\nI see these things in literally every vibecoded ui and it pisses me off every time.\n\nYou see these everywhere, dude.\n\nIt’s not even that it’s bad; it’s just so overused by literally every LLM in every single place that it just looks bad now.\n\nThe thing is. I don’t think anyone has EVER consciously sat down and thought, “you know what would improve this? a fingernail”\n\n## Emoji Slop\n\nAI LOVES emojis for whatever reason. It loves them more than Sam Altman loves to pretend that they are pacing the frontier.\n\n## Misaligned Stuff.\n\nIf you have SVGs or ASCII art or some kind of element that isn’t in a box, it is almost always off its alignment.\n\nLike this list in the timetable of my college app.\n\n## Font Selection\n\nThese websites don’t usually go for more interesting font selections. It’s usually Inter, or if you have a website even remotely programming-related, you get JetBrains Mono.\n\nand this thing:\n\nIt adds these `//` whenever anything close to tech is mentioned.\n\n## Redundant Text Due To Chat Context.\n\nIt just adds a bunch of redundant text just because of the chat context. For example. I was making my previous blogging website, and I told it, “Okay, I don’t wanna be writing any HTML; I will write in my comfy Neovim, and I don’t wanna do any web-related stuff.”\n\nIt added text saying “Built with Hugo. Written from Neovim”\n\nNo, because no one gives a shit where I write it from. AI does this thing in readmes as well. It goes “Built with Modern CPP 20 features” BRO WHO CARES.\n\nMy college app has this on its startup screen.\n\nThe thing with this is. YOU CAN PRACTICALLY SMELL THE PROMPT THAT TRIGGERED THIS FROM THIS ONE.\n\nLike “one campus. one app.” Yup. Most definitely some management guy said, “let’s unify our 3 apps; we have 3 apps for our 3 branches.”\n\n## Glassmorphism\n\nIt just loves glassmorphism. It doesn’t go for any other design language(except brutalism, and for brutalism all of them look the EXACT same).\n\nand this is the “brutalist aesthetic”:\n\nNow I gotta admit I can let the brutalist slide. It looks kinda cool till it gets overused and then you start hating it.\n\n## Generic Taglines And Unnecessary Hype\n\nIt is obsessed with the words “Elevate”, “Seamless”, “Next-Generation”, “Supercharge”,\n\n“Unleash”, and “Empower”.\n\nEvery H1 is followed by a greyish subtitle that says something like: “Experience the power of\n\ntask management with our cutting-edge intuitive interface.”\n\nIt loves using “Welcome to your Dashboard, [Name] ✨” or “Revolutionise your workflow”. It\n\ntreats every screen like a landing page rather than a functional tool.\n\n# Conclusion\n\nHonestly, this was just a bunch of things that annoy me when I look at slop. And it’s not even that I am against vibecoding. This website is vibe coded; it looks cute tho. It’s just that these people don’t put ANY effort into making it even look mildly good.","body_html":"<h1 id=\"10-tells-of-a-slop-ui\">10 Tells of a Slop UI</h1>\n<p>Recently my college app was updated with “minor UI improvements”, and it was the most slop-coded user interface I have seen.</p>\n<p>The old UI was clunky, but I would’ve preferred that over the slop cannon their AI agent produced.</p>\n<h1 id=\"what-is-slop\">What Is Slop?</h1>\n<p>Slop UI is the UI that AI cooks up that looks off, where it’s not supposed to be, doesn’t serve a purpose or when a UI is too generic.</p>\n<p>This is seen in vibe-coded UI without a vision. Vibe-coded UI can look great when done right, but most don’t. And it makes the apps look cheap and unappealing to use.</p>\n<h1 id=\"examples-of-slop-coded-websites\">Examples of Slop-Coded Websites:</h1>\n<p>Cloudflare recently slop-coded a website.</p>\n<p>And also websites like this, you just know it when you see it. It’s like the AI videos these days:</p>\n<p>anyhow. The following are the things that make up the slop.</p>\n<h2 id=\"gradients-gradients-everywhere\">Gradients. Gradients Everywhere.</h2>\n<p>The biggest and most noticeable sign is gradients. Gradients anywhere, gradients any time, gradients at every single thing. You’ll see them on buttons, in the background, basically anywhere where it could stuff it.</p>\n<p><strong>Slop Cannons LOVE purple for some reason</strong></p>\n<h2 id=\"rainbow-vomit\">Rainbow Vomit.</h2>\n<p>AI loves using colours that mean nothing and are just different colours.</p>\n<p>You just get this, just a screen of a bunch of colours that don’t go well together but are coloured that way. Because there is some distinction in fields when making the UI or whatever.</p>\n<p>It doesn’t follow the 70-30-10 rule. It just adds colours all over the place.</p>\n<h2 id=\"pulsing-badges\">Pulsing Badges</h2>\n<p>I have no clue why it adds these, but it just does. It is in the training data, I guess. But it adds these pulsing badges on everything.</p>\n<p>In the “”“upgrade”“” my college app had. They have this thing called a digital ID, which just shows, like, a QR code and your face. It has this pulsing badge which says it’s “active”.</p>\n<p>The problem is. IT IS JUST NEVER INACTIVE. IF IT IS INACTIVE, THE APP JUST LOGS YOU OUT. It’s just redundant information.</p>\n<p>And my profile has an “active student” badge.</p>\n<p>CAN SOMEONE TELL ME WHAT AN INACTIVE STUDENT LOOKS LIKE??</p>\n<p>Also in the same digital ID interface. It added a little “verified” badge next to my college logo.</p>\n<p>WHY THO.</p>\n<p>Because it’s not like it’s doing some api call and going, “oh yeah, this guy is verified”.</p>\n<p>And EVEN IF IT WAS, IT DOESN’T MEAN ANYTHING, like. If I were forging my digital ID, would I deliberately add “unverified”????</p>\n<h2 id=\"finger-nail-cards\">Finger Nail Cards.</h2>\n<p>I see these things in literally every vibecoded ui and it pisses me off every time.</p>\n<p>You see these everywhere, dude.</p>\n<p>It’s not even that it’s bad; it’s just so overused by literally every LLM in every single place that it just looks bad now.</p>\n<p>The thing is. I don’t think anyone has EVER consciously sat down and thought, “you know what would improve this? a fingernail”</p>\n<h2 id=\"emoji-slop\">Emoji Slop</h2>\n<p>AI LOVES emojis for whatever reason. It loves them more than Sam Altman loves to pretend that they are pacing the frontier.</p>\n<h2 id=\"misaligned-stuff\">Misaligned Stuff.</h2>\n<p>If you have SVGs or ASCII art or some kind of element that isn’t in a box, it is almost always off its alignment.</p>\n<p>Like this list in the timetable of my college app.</p>\n<h2 id=\"font-selection\">Font Selection</h2>\n<p>These websites don’t usually go for more interesting font selections. It’s usually Inter, or if you have a website even remotely programming-related, you get JetBrains Mono.</p>\n<p>and this thing:</p>\n<p>It adds these <code>//</code> whenever anything close to tech is mentioned.</p>\n<h2 id=\"redundant-text-due-to-chat-context\">Redundant Text Due To Chat Context.</h2>\n<p>It just adds a bunch of redundant text just because of the chat context. For example. I was making my previous blogging website, and I told it, “Okay, I don’t wanna be writing any HTML; I will write in my comfy Neovim, and I don’t wanna do any web-related stuff.”</p>\n<p>It added text saying “Built with Hugo. Written from Neovim”</p>\n<p>No, because no one gives a shit where I write it from. AI does this thing in readmes as well. It goes “Built with Modern CPP 20 features” BRO WHO CARES.</p>\n<p>My college app has this on its startup screen.</p>\n<p>The thing with this is. YOU CAN PRACTICALLY SMELL THE PROMPT THAT TRIGGERED THIS FROM THIS ONE.</p>\n<p>Like “one campus. one app.” Yup. Most definitely some management guy said, “let’s unify our 3 apps; we have 3 apps for our 3 branches.”</p>\n<h2 id=\"glassmorphism\">Glassmorphism</h2>\n<p>It just loves glassmorphism. It doesn’t go for any other design language(except brutalism, and for brutalism all of them look the EXACT same).</p>\n<p>and this is the “brutalist aesthetic”:</p>\n<p>Now I gotta admit I can let the brutalist slide. It looks kinda cool till it gets overused and then you start hating it.</p>\n<h2 id=\"generic-taglines-and-unnecessary-hype\">Generic Taglines And Unnecessary Hype</h2>\n<p>It is obsessed with the words “Elevate”, “Seamless”, “Next-Generation”, “Supercharge”,</p>\n<p>“Unleash”, and “Empower”.</p>\n<p>Every H1 is followed by a greyish subtitle that says something like: “Experience the power of</p>\n<p>task management with our cutting-edge intuitive interface.”</p>\n<p>It loves using “Welcome to your Dashboard, [Name] ✨” or “Revolutionise your workflow”. It</p>\n<p>treats every screen like a landing page rather than a functional tool.</p>\n<h1 id=\"conclusion\">Conclusion</h1>\n<p>Honestly, this was just a bunch of things that annoy me when I look at slop. And it’s not even that I am against vibecoding. This website is vibe coded; it looks cute tho. It’s just that these people don’t put ANY effort into making it even look mildly good.</p>","headings":[{"level":1,"text":"10 Tells of a Slop UI","id":"10-tells-of-a-slop-ui"},{"level":1,"text":"What Is Slop?","id":"what-is-slop"},{"level":1,"text":"Examples of Slop-Coded Websites:","id":"examples-of-slop-coded-websites"},{"level":2,"text":"Gradients. Gradients Everywhere.","id":"gradients-gradients-everywhere"},{"level":2,"text":"Rainbow Vomit.","id":"rainbow-vomit"},{"level":2,"text":"Pulsing Badges","id":"pulsing-badges"},{"level":2,"text":"Finger Nail Cards.","id":"finger-nail-cards"},{"level":2,"text":"Emoji Slop","id":"emoji-slop"},{"level":2,"text":"Misaligned Stuff.","id":"misaligned-stuff"},{"level":2,"text":"Font Selection","id":"font-selection"},{"level":2,"text":"Redundant Text Due To Chat Context.","id":"redundant-text-due-to-chat-context"},{"level":2,"text":"Glassmorphism","id":"glassmorphism"},{"level":2,"text":"Generic Taglines And Unnecessary Hype","id":"generic-taglines-and-unnecessary-hype"},{"level":1,"text":"Conclusion","id":"conclusion"}]}}