Shadcn/UI now defaults to Base UI instead of Radix

(ui.shadcn.com)

253 points | by dabinat 13 hours ago

27 comments

  • ricardobeat 8 hours ago
    It’s getting tiring to hear at this point, but the Claude voice comes through clearly in this post, and it’s a little off-putting. If even an important product release doesn’t warrant full human attention, where will we draw the line?
    • techscruggs 5 hours ago
      The post effectively communicated what it needed to. It seemed both written and structured in a way that was optimized for human consumption.

      If they used AI to write this and that gave them more time to volunteer their time towards developing this fantastic piece of open source software, then this all seems like a good thing to me.

      • sickcodebruh 3 hours ago
        It is clearly not effectively communicated if the tool used to write it stamps its signature in such a way that it distracts from the great work they’re doing.
        • ashikns 2 hours ago
          It is distracting you because part of your mental focus is on "is this AI".
          • collingreen 1 hour ago
            I love how quickly all AI pushback gets blown off as "skill issue". Even reading and taste now!
            • sbarre 44 minutes ago
              All writing is open to interpretation by the reader.

              Some people let punctuation or grammar mistakes ruin an entire text or post for them, because they choose to focus on those flaws, rather than looking past them and taking in the content itself.

              "this was written/assisted by AI" is starting to feel like next-gen "this has spelling/grammar mistakes in it, therefore it is invalid".

        • nullstyle 3 hours ago
          Its only distracts the distractable. Does anyone ever read product announcement blog posts like they were great literature? Ive always just skimmed, theyve always been throwaway writing to me. I’d rather the humans spend more time on the actual creative challenges in a project.
          • F7F7F7 3 hours ago
            tldr; continue to cede ground on the slippery slope.

            did i get that right?

            • nullstyle 2 hours ago
              yep, and when the llms can pack flatware, stamp license plates or clean bedpans, I'll argue we shouldn't have humans doing that bullshit work either.
      • mewpmewp2 1 hour ago
        The issue is that you can't trust that every word of the message was intentional due to how much Claude will usually add various levels of nonsense, some more obvious some less to your voice or requests. Considering how much Claude alters the meaning of what I want to communicate I wouldn't trust the accuracy of that output right.

        And I use Claude a lot, 24/7, but not for things like that. And I appreciate how much it elevates my productivity, but not like this. It usually prioritizes or highlights the wrong things, it overfixates on one thing I said and adds random content there out of nowhere.

        So then I can't tell what part of it is slop, how slop, and it becomes impossible to trust.

    • eurekin 6 hours ago
      Oh, I know exactly what you mean. I use plannotator with claude a lot and have much better time, since I asked for a specific styleguide.

      I used "CD era MSDN reference and Raymond Chen blogging style" as a starting prompt for the styleguide and my work ability to digest AI plans raised a lot.

      Couldn't recommend it more. Humble, insightful and respecting the reader

      • 8organicbits 4 hours ago
        > respecting the reader

        When people say LLM slop is disrespecting the reader, I don't think they are complaining about style.

        • eurekin 4 hours ago
          That's where the annotation in plannotator helps.

          I'm asking to scan projects on gitlab, go through some docs to find more grounding material, write a subarticle (in the same style), scan logs on the test env, issue some curls, etc.; until the whole article is digestible - in the "backing knowledge graph" department.

          • 13415 3 hours ago
            Very funny.
        • elxr 3 hours ago
          They are, and I am. While I don't use the words "LLM slop", I do have the urge to instantly stop reading any piece of writing that was obviously default Claude output with no effort to make it sound even remotely human written.

          I'd rather read natural sounding, non-repetitive, and actually useful LLM text than the majority of reddit comments (including the serious ones) for instance.

        • qntmfred 3 hours ago
          that's precisely the objection most people have whether they realize it or not.

          slop just means "I don't like this style"

          when AI writes more reliably in a way that people do like, they will stop calling everything AI does slop.

          • 8organicbits 2 hours ago
            I may complain that I don't like the way a sleezy con man talks, and I may be able to detect his communication patterns, but that doesn't mean I want the con man to speak in a different way I can't detect as sleezy. I don't want to talk to the con man.

            Obfuscating LLM output to trick the reader into thinking it wasn't LLM output is not respectful.

            • eurekin 38 minutes ago
              Disclaimer, I only use it to grow the "knowledge hub".

              It's a single git project at my $USER home, that is referenced in global memory. It contains as much information about work things, as possible, to be productive.

              I found that, if I allowed Claude to create the notes, it actually became more and more useful, but without the guideline, I just could barely get through reading it manually.

              I'd never publish anything with such origin.

          • mannanj 2 hours ago
            I think you are forgetting about the decency and dignity part of "respect".

            Yes there's a quality component to the role of communication in how it respects other people.

            There's also honesty, transparency, truth and vectors along the dimensions of "Are we claiming and presenting the truth or are we bending facts and creating impersonations and warping reality?" Most AI is used for the latter today: people are having AI's write their words and speech for them and then the AI says things as though it were the human like "I said xyz" when the AI is NOT the human who did those things. That's lying and deception and disrespect to the reader.

      • Melonai 5 hours ago
        Exactly! See this is what I don't get about the Claude/GPT-style writing that's so prevalent everywhere and why it annoys me even more. It's just so easy to get rid of it, that's why it feels even more disrespectful when I still see it everywhere in full force, just a few sentences is enough to get rid of so much of the extremely obvious tells, sometimes even a "Don't write like an AI" in the prompt leads to completely acceptable results. Everywhere I use LLMs I put a tiny style-guide with instructions such as yours, and the results are just so much more pleasant I barely understand why it seems that almost everyone else seems incapable of it?

        The obvious response is of course, they're just completely unbothered by it. Why change it if it doesn't even matter (to me)? I presume the set of people who use AI like this for writing and the set of people who are annoyed by it are largely not overlapping, and there is a possibility that a lot of the text I read and think sounds human, might be written by an LLM with a style-guide like mine. Still though, if 5 words genuinely can reduce annoyance by a lot of people who read your article, why does it feel like so many people haven't picked up on it yet? Or is the LLM writing highly loved & popular amongst other people perhaps?

    • drchiu 7 hours ago
      Just read the post and it didn’t sound AI to me.

      Would be kind of funny if someone from the team came out and said it was written by a human.

      • KronisLV 6 hours ago
        > Just read the post and it didn’t sound AI to me.

        Those short and punchy two-part sentence groups very much feel like the writing that Claude does, like: The writing feels familiar. Suspicion earns its keep. Ultimately, the judgement remains yours. Not conjecture, your thoughts.

        Then again, I bet how much aversion people feel to that sort of thing depends on how much they’ve been exposed to that, especially in frustrating circumstances. Personally, that’s a lot (daily Claude Code) and sometimes that writing makes me really upset.

        Or maybe people genuinely just write like that and overuse that style and Claude has ruined it for me, whereas otherwise I wouldn’t have given it a second look.

        • andrewingram 2 hours ago
          I call it "being shot in the face with bullet points". I was trying to use an LLM to write up some guidelines on how to use a piece of tech, and I kept getting frustrated that it felt like a slide deck rather than sincere persuasion.

          Maybe it's a style that's always existed in moderation, but now it feels like it's being applied to every paragraph in every document or social posting.

        • mattmcknight 3 hours ago
          People do write like that. Claude learned it from somewhere, after all. I read an X post yesterday where someone was complaining about "genuinely" as being an AI tell.

          I think the broader phenomenon with the AI tells is it is revealing about a person's consumption. If they already interacted with and read material that resembled AI output, it wouldn't seem as weird. But if you encounter a particular pattern with the AI before you encounter the human patterns that trained it that way, it seems like an AI quirk.

          • KronisLV 2 hours ago
            > But if you encounter a particular pattern with the AI before you encounter the human patterns that trained it that way, it seems like an AI quirk.

            It might also be the overuse of specific phrases and patterns. I sometimes scan over my own blog posts to see what appears too often and there are things that I overuse in my own writing as well.

        • jasonlotito 3 hours ago
          It's not that it's bad writing. It's that people are used to bad writing. People are used to garbage. For example, your comment is awful from a literature or writing perspective. It needs to be edited. This comment that I'm writing right now is awful. We're used to crap writing and people who don't care about editing and putting out good, thoughtful words. When all you're used to is garbage, things that actually are better are generally going to seem odd and out of place. However, for those people that are used to better, more elegant writing, it's going to seem fine.

          Of course, the difference here is context. In a comment, you're not expecting well-written sentences, structure, and editing. So we jump at these things that seem out of place because of the context.

          > sometimes that writing makes me really upset.

          You know what makes me upset?

          - No writing

          - Or bad documentation

          - Or just no documentation

          - Or just nothing being written down about something

          For me, at its core, the most important thing is accuracy. Is it accurate? If so, good. We can start from there. If your issue is style, fine, but that's a personal judgment. As long as it's accurate, I'm fine.

          • jagenabler2 8 minutes ago
            Claude/ChatGPT is not good or elegant writing. Read a book or a short essay from a respected author and it becomes obvious why different styles of writing are actually discernible. AI-generated text feels void of life and unintentional, it is legitimately a chore to read.
          • ricardobeat 2 hours ago
            That’s a genuinely smart take, and to be honest with you – most people never achieve this level of awareness. /s

            Most humans speak in “garbage” and not perfectly correct sentences. Imperfection makes it human.

            In this case, it’s not about unwanted sophistication, but fluff and specific sentence structures that tell you this was written by AI, not the actual people behind the project. I guess the closest analogy is to always being left on voicemail.

      • designerarvid 6 hours ago
        Maybe the human has been reading too much ai generated text and got influenced by it?
        • robofanatic 4 hours ago
          Exactly! We have accepted British English, American English, Australian English …. Lets just accept AI English and move on.
      • jacob_rezi 4 hours ago
        There's not a strong reason for a human to write this type of content anymore
        • dawnerd 2 hours ago
          Why should a human read it? And by extension why even bother than if it’s just for machines?
          • tzs 1 hour ago
            Because the human wants the information contained within?
      • elxr 3 hours ago
        To me, it couldn't sound more AI if you tried.
      • relativeadv 6 hours ago
        I didn't read the post and scrolled to a random clause.

        "Because you own the code. You've added variants, changed classes, threaded new props. A codemod handles the components you never touched and breaks on the ones you did."

        • dbbk 3 hours ago
          It's so staccato throughout, a human wouldn't write like this.
    • deanc 8 hours ago
      Serious question, why does it matter to you? Maybe they wrote a draft and reviewed Claude's writing before publishing. Why are we trying to "call out" when AI is assisting us in our work? This is an open source project, not a F500 company. They have limited resources, maybe English isn't their first language.
      • zopa 6 hours ago
        I'm not a shadcn user, and so as with any project I'm not familiar with, I'm looking to see if if it's interesting to me. If the post is thoughtful and clear and I like the sense I get of their perspective on programming, then great, tell me more. No guarantees but maybe the writer is someone whose software I'd like to use. Claude doesn't tell me anything except that the writer used Claude.

        It's the same as with too marketing-speak, which conceivably this is. Maybe the actual work is good but Sturgeon's law, it's probably crud. If I really needed a UI library or whatever right now then maybe I'd dig deeper but in casual browsing HN mode? No time, catch them later.

        So maybe all your maybes but who cares? It's not AI that made me think badly of them: I think badly of all software by default and it takes more than Claude to change my mind.

        • hamburglar 1 hour ago
          For me, I don’t care one bit whether the text is AI generated or not. What stood out to me on this one is that they talked about something called shadcn, something called base UI, and something called radix as if they were things that everyone should be familiar with, but failed to consider that a reader might never have heard of any of them. I read for a while to see if they give some clues but nothing was forthcoming so the whole thing might as well have been gibberish.
      • LVB 4 hours ago
        Tone/style bit aside, a real problem is length. Scroll waaay down and look at most older updates and see how brief and too-the-point they were. Often they look rushed, some essential links, and that’s it. Fine by me! That’s the real state of things… people usually don’t want to write bc it’s a lot of effort.

        I see the same phenomenon at work. A year ago I’d read your two-sentence daily update in slack, all riddled with the quirks and oddities that made it yours. Today when I see the page of headings and emojis describing the couple things you did yesterday, I wince because now I’m the one who has to sift through the fluff to get to the point.

      • purerandomness 7 hours ago
        Because it means that they think I'm stupid.

        They think it's not worth investing human attention to write it, so why am I expected to invest my attention to read it?

        If it's written as SEO spam, why link it here?

        If it's written to be read by humans, do they think we're stupid?

      • dev_hugepages 7 hours ago
        Because it sounds like the average LinkedIn poster and we don't want it to invade spaces outside LinkedIn.
      • robmccoll 7 hours ago
        Because I associate that style with "I have little to say, but I will say it in as many words as I possibly can"
      • IshKebab 7 hours ago
        I think fundamentally it's just really annoying to read the same cringey LinkedIn style voice everywhere.

        If you manage to write an AI assisted article that doesn't tediously follow the "what this means for you", "it's not this, it's that", "One thing. Two things. Three things." formula... I really doubt people would complain.

        • vcf 6 hours ago
          I agree that the style is somewhat generic, but for things like new release announcements, I find that the common structure allows me to skim through much faster. I value that and am happy with that tradeoff.
      • stefan_ 5 hours ago
        Just read the post! It's essentially "we switched from Radix to Base UI". Why? "the ecosystem moved on". Nothing says braindead web frontend churn like this post, and them not having written it in the first place is just the cherry on the cake.

        They could have just written "we asked Claude to rewrite our project with Base UI because it eclipsed Radix in NPM downloads".

        • NamlchakKhandro 4 hours ago
          If you're not a heavy frontend developer then you probably don't know why radix is a blocker for most server side react
      • lionkor 7 hours ago
        Because it implies that the users of the AI don't understand that it's output is usually horseshit littered with enough good info to make it sound correct
    • mannanj 3 hours ago
      I disagree, that it's not tiring to hear - because it's deception and lying as it gets used and presented today. I believe it's dangerous to a culture of cooperation that I think cooperation requires trust and truth to support and preserve. I don't want articles to have AI's lying and saying "I did or said" when it was the human who did and said those things.

      for example, in this article (if it was truly Claude written):

      > Last year, Base UI tagged a beta and a lot of you asked if we are going to replace Radix with it. I said "the worst thing you can do for your production app is switch component libraries". I meant it, and it still holds. So instead of switching, we did the shadcn thing: we rebuilt every component for Base UI, kept the same abstraction, and let you choose. December brought npx shadcn create with both libraries. January brought full Base UI docs.

      If an AI wrote this, why and how is it pretending to be a human and the humans on the team at that? That's impersonation, and it's a lie and deceptive. I personally don't want a culture where my AI agent is talking as though its me, when a pro-cooperative and honesty/truth preserving culture would instead say "My human said" or at least label correctly that this is an AI acting on behalf of a human.

    • draw_down 7 hours ago
      [dead]
    • fjdjshsh 7 hours ago
      I hate the marketing-selling-linkedn style as much as anyone, but I don't think it's an LLM thing in particular. It's a style that existed before LLMs and it's very easy to make LLMs avoid it with one or two prompt paragraphs.

      For what it's worth, I didn't get that vibe reading this post.

    • dstroot 4 hours ago
      Am I the only one who expects ALL writing to be generated or at least edited by an LLM going forward? It's like pointing out the fabric in my clothes was not hand woven by a human. Sounding like an AI wrote it is not as valid a criticism as "it was unclear about...", or "It was too long", or "It left out this important point...". Can't we move past the "It sounds like AI..." posts?
      • mannanj 2 hours ago
        I'd love to have this as a norm, as long as the AI doesn't lie and impersonate and deceive humans in speech by saying things as though it were the human like "I ate breakfast" or "I was saying this to my team" because clearly the AI did not do those things. That's lying, deception and harmful to a culture of truth and transparency.

        Instead the humans who promoted and allowed the LLM content to post behind their human identity, didn't bother to update the LLM language and either do a) mark the post as AI generated or b) properly update those pronouns so it isn't an AI speaking through the humans point of view.

        Consider this exaggerated example: Would it be ok for you if in a zoom meeting with your team someone was lip syncing an AI speaking on their behalf, both impersonating voice tonality, the words chosen, and even pretending to voice the humans thoughts themselves? Of course you wouldn't. So now extend this to the words people write in articles like this one where the "I said" perspective was used many times supposedly by an AI.

    • nmstoker 8 hours ago
      I'm sure this received full human attention, even if they used a computer to help write it (be that more traditional text tools or more recent ones).
    • petilon 5 hours ago
      Isn't that a bit like working in the movie industry and no longer being able to enjoy films because you are always thinking about how they were made and noticing their flaws?
      • wongarsu 5 hours ago
        More like working in the movie industry and noticing all the places where the director took the cheap shortcut instead of putting effort in. And while the result isn't much worse, it still feels a bit disrespectful. You reminisce about the time five years ago when things were much more human

        Oh, and the target audience of movie you are watching are other people in the movie industry. Nearly everyone in the audience can tell where production cheaped out

        • petilon 4 hours ago
          After watching the movie everyone in the audience goes back to their offices, and what do they use to improve their productivity? Right, AI.
      • nullsanity 5 hours ago
        [dead]
  • chvid 12 hours ago
    For boring applications - do people prefer the copy paste approach of shadcn instead of a traditional ui library like mantine?

    The copy paste approach may be easily modifiable but creates new problems - ie now there is an upgrade ai agent for something that should just be ticking up a version number.

    • oneneptune 3 hours ago
      "just ticking up a version number" drastically understates the headaches of Material UI over the years.

      Not a boring application, a very large application -- each major version update was a tedious process because they completely upended many APIs.

      We've migrated to shadcn, and upgrades are now easy; we can upgrade a single component -- add the new ones free.

      With MaterialUI we had to update EVERYTHING to their new APIs to be able to take advantage of the new features anywhere.

      With shadcn we can be selective.

      • RadiozRadioz 1 hour ago
        This sounds like a problem with Material UI being undisciplined with API compatibility, rather than a problem with the broader approach itself.
    • stevepotter 6 hours ago
      I never understood the copy paste thing. Shadcn just reeks of a fad, and even after doing copy paste and trying it, I didn’t see what the big deal was. But enjoy it, y’all. One of the benefits of AI is that HN isn’t clogged with talk of JavaScript frameworks as much
    • notpushkin 12 hours ago
      I’m leaning towards vendoring for all my new projects.

      Grabbing an off-the-shelf UI library is easy in the short term, but it’s usually overcomplicated, implements things I won’t ever need, is hard to tweak if/when you want to distinguish your app from the thousand others using the same library, and when you do decide to upgrade it, all your tweaks break in subtle ways.

      What I think would be the best approach is building your own UI library. You own it, you get to reuse it across different projects and maintain the same visual style (if desired), and you add features when you need them.

      • dsego 9 hours ago
        > building your own UI library

        It's one more thing to maintain, and it's also difficult to push back on things. If you use off the shelf components it's much easier to say to designers and managers that a UX pattern is not available or not valid. You can point to the mature well known community owned UI library you use and make it authoritative. It's harder to do it if you build your own, suddenly each designer and developer is throwing things in there, adding features etc. It's also difficult to agree on the structure, so the components are well thought out, flexible, but also not so flexible to lose semantics. It's not an easy job, do you use slots, composition, rendering callbacks, there are too many decisions and you spend time building the UI library instead of actually shipping features.

        • threetonesun 6 hours ago
          Odd to me when I read stuff like this but also posts about how AI is making everything trivial. Surely a thing that almost every company did in the early 2000s should not be hard today, but of course today you can’t just write HTML + CSS, you must consider every front end framework introduced in the last decade.
          • dsego 1 hour ago
            I remember the 2000s web, it was primitive. It's not hard to combine some html and css, it is hard to support more complex dynamic actions and components, all with consistent theming and behaviors and have them composable and reusable.
      • jvorick 1 hour ago
        To me, that's the value of shadcn (conceptually) - it's nothing more than a tool to bootstrap your own UI library.

        It let's you copy in snapshots and change/edit/refine as you go. You own the UI kit the moment you copy it in. I see Shadcn 'upgrades' as nothing more than a stranger's PR to my UI kit, which usually means useless noise, unless there's a specific feature/bug that I need.

    • Exoristos 12 hours ago
      Mantine is brilliant, I can build anything in it quickly and then extend it or completely customize the theme or individual components, but there is a learning curve. I would not call it a giant learning curve.
      • dkersten 9 hours ago
        I love Mantine. It’s easy to use, full featured with lots of components and helpers, and yet if you need to, you can use it headless and customise it too (I’ve never bothered though; I did add my own additional spacing/sizing options via the theme support though)
        • elxr 4 hours ago
          Any direct comparisons to base UI? I've been pretty satisfied with base UI so far, but my usage has been very basic so I'm open to switching if Mantine offers something better.
      • stevepotter 6 hours ago
        Love love love mantine.
    • lucumo 10 hours ago
      > that should just be ticking up a version number.

      Ah, but it's rarely just that in many systems. It can only be just that if the component library does exactly what you want. Unfortunately, it happens quite often that component doesn't entirely do what's needed.

      People bolt on extra CSS to the components all the time. Two lines of CSS is very tempting if the alternatives are a few hours of work at least. But those two lines need to be verified against every new feature of the component library.

      Do those two line fixes a lot, and upgrading becomes A Project.

    • slowjames 8 hours ago
      Ticking up a version number is all fine and good until it requires a dependency upgrade you aren’t ready for. If for example you wanted to upgrade MUI from 4 to 5, you’d find react 17 wasn’t supported. And if you weren’t ready or able to upgrade react, then you’d just be stuck using a UI library going more out of date by the day.

      With shadcn / the copy paste format, you’ll almost never see that happen. The button shadcn provides for example is just css / tailwind. And if you did ever for some reason want to bring in a dependency for your button component you wouldn’t have to consider its effect on your other UI elements. The rest of your components can live independently (for the most part)

      We have customized UI components we got from shadcn and now some use radix and some use base ui, and some have other dependencies or no dependencies at all. Properly tree shaken this is not a big deal at all and we can upgrade components individually as needed.

      For boring applications this may be a bit much. But even then if you wait too long and mantine falls behind more than a couple versions, who knows how easy it would be to get your whole project up to date.

    • andrewingram 2 hours ago
      I think it depends on the project, but I've found that using installable libraries becomes a bottleneck over time as you find yourself running into their limits, or trying to customise them in ways they really aren't design for.

      I wrote something about it a few years ago when shadcn was relatively new on the scene https://andrewingram.net/posts/recipe-kits-a-great-alternati...

    • rzmmm 10 hours ago
      I don't like the copy paste. Rather use lower-level abstractions for the UI if I know I have to make modifications.
    • matt-attack 3 hours ago
      Can you explain what copy paste means here?

      I use Material UI for all my AI coded applications. Am I doing something wrong? What difference would Shadcnd even make in a world of Claude Code?

      Isn’t either infinitely customizable via CSS? So what’s the difference?

      • xiaoape 1 hour ago
        I think it's design / aesthetic choice.
    • victorbjorklund 11 hours ago
      If you don't need to make any changes, it should be very simple to just upgrade by replacing the components. And if you need to make changes then well it's not gonna work with a traditional UI library.
    • dbbk 3 hours ago
      The copy paste approach is just a plain bad idea, I am not sure why this doesn't get more criticism
    • sreekanth850 10 hours ago
      Bigger issue ,every app that use shadcn use 100% same. I still have to figure how people differentiate their brand using shadcn.
    • Griffinsauce 7 hours ago
      > that should just be ticking up a version imber.

      Is it ever that simple?

    • sevenzero 12 hours ago
      I highly prefer a copy and paste approach. The less npm installs the better.
    • chrismsimpson 8 hours ago
      As grug, I prefer the paste approach
    • p-e-w 9 hours ago
      > now there is an upgrade ai agent for something that should just be ticking up a version number.

      If a component as basic as a button or a list view ever requires an “upgrade”, something is fundamentally wrong to begin with. HTML5, ARIA, etc. aren’t cutting edge technologies that the ecosystem still needs time to figure out. This should be pull once and forget.

    • IceDane 12 hours ago
      Martine just straight up sucks.

      Vendoring your components gives you the best of both worlds. You get a full component library but retain the ability to modify them as you want.

      Your AI agent claim doesn't make any sense either. When upgrading normally your component just gets rewritten on disk. When switching from radix to base ui, a more comprehensive approach is needed.

      • chvid 11 hours ago
        The ai agent “claim” is from the webpage that is linked to:

        When You're Ready to Migrate

        You don't need to migrate. But if you want to, we built a skill for it:

        pnpm dlx skills add shadcn/ui

        Then ask your coding agent:

        migrate accordion to base-ui

        • addandsubtract 8 hours ago
          This is just an ongoing trend to address coding agents first in documentation, and people / manual methods second.
      • Griffinsauce 7 hours ago
        > Mantine just straight up sucks. > Mantine is brilliant.

        Thanks internet.

  • notnullorvoid 1 hour ago
    It bothers me that these popular UI toolkits render copious amounts of divs. I went to look at Base UI and for nearly every component it's "Renders a <div> element", when there are native elements that can achieve the same thing like details/summary for accordion.

    I'm far from a native web evangelist, I think there's a lot the web APIs especially HTML gets wrong, but div overuse is also wrong.

  • gherkinnn 12 hours ago
    I have used and mostly like Shadcn, and yet their Radix-based radio button was a bit much, as are other choices, where similarly overblown solutions were used.

    https://news.ycombinator.com/item?id=46688971

    • notpushkin 11 hours ago
      My main gripe with Shadcn and, well, most UI libraries nowadays, is that they are reinventing the wheel for like a thousandth time.

      I’m trying out Ark UI on a side project. They do have some genuinely useful components, like tags input: https://ark-ui.com/docs/components/tags-input

      They have a tabs/“segment group” component with a nice animated active element indicator which would probably be tricky to implement: https://ark-ui.com/docs/components/segment-group

      And then they also have stuff like overcomplicated “click to copy” button and a <details> reimplementation: https://ark-ui.com/docs/components/clipboard, https://ark-ui.com/docs/components/collapsible

      All with a verbose markup that renders as a div soup.

      • Griffinsauce 7 hours ago
        I think this is really an indictment of the platform. Much more stuff should be covered by the browser.
        • gjvc 6 hours ago
          this is actually true; the web was done so terribly to begin with on day one, that we have been paying the price of compatibility thereto ever since.
          • skydhash 5 hours ago
            The web was for hyperlinked documents (and forms?). And it’s still does the job beautifully. It was never an UI toolkit.
      • gjvc 11 hours ago
        [flagged]
  • dyllon 12 hours ago
    Moving away from codemods and towards LLMs doing migration work is an interesting development.

    Even if they’re more deterministic, I wonder if the days of codemods are numbered.

    • yard2010 12 hours ago
      How about leveraging llms to produce deterministic codemods? You can then iterate on this by running the codemods and using other deterministic guardrails, feeding the results back into the llm to improve the codemods?
      • willsmith72 2 hours ago
        Yeah exactly this is right. In the same way that we don't get an LLM to write the HTML for each request, but we do get an LLM to write the code to make the HTML
    • xyzzy_plugh 5 hours ago
      The framing in TFA is a dangerous way to think. Codemods are whatever, I could take em or leave em.

      What you want isn't skill files for LLMs, though. Just write docs for humans. Write a migration guide, for humans.

      It's going to take us a while to realize they should be the same things, skill files and docs.

    • tipiirai 9 hours ago
      Sorry, what is codemod here?
    • kristiandupont 12 hours ago
      I think the two complement each other perfectly and will continue to do so. I keep writing AGENTS.md files for soft rules and custom linter rules for hard ones which IMO is the best of both worlds.
  • 8cvor6j844qw_d6 11 hours ago
    What is the shadcn/ui equivalent for Angular?

    PrimeNG had a licensing change recently and I'm looking at a suitable alternatives for a fresh project.

  • nektro 1 hour ago
  • xiaoape 1 hour ago
    I'm still on Daisyui and feeling FOMO here. Is it worth the switch and why?
  • rplnt 8 hours ago
  • pgisapedo 6 hours ago
    Shadcn is great until you want to use it
  • klaussilveira 6 hours ago
    I miss a good old skeuomorphic styleguide. I guess the last one was Blueprint?
  • geophph 2 hours ago
    This reads like a script to a Theo video
  • vmware508 10 hours ago
    • esperent 9 hours ago
      Why? There's a thousand component libraries, what makes this one stand out?
      • Wurlitzer 8 hours ago
        It uses Zag js for its primitives which is framework agonistic as opposed to Radix or Base UI. Shadcn is only for React. If you use Solid.js for example, Skeleton is an option for your design system.
  • Topfi 12 hours ago
    That's great. Started using Base UI early on via 9ui [0] and found the primitives very pleasant to work with, especially if one wants to compose more complex components from other Base UI components. Maybe Shad can reduce some of the dependencies they rely on now.

    [0] https://www.9ui.dev

    • nullbio 11 hours ago
      What's the difference?

      All of these component libraries look the same.

      • progx 8 hours ago
        UI libraries are the new Linux distributions ;-)
  • nullbio 11 hours ago
    Why? What advantage does it bring?
    • dabinat 11 hours ago
      Base UI is more low-level, a lot less opinionated and doesn’t force you into certain layouts. This of course makes it more complex to use, but that doesn’t matter if you’re using shadcn components because they’re doing that work for you.

      So essentially they look and operate the same as Radix components at the shadcn level but you have low-level control later on should you need it.

      • f-serif 11 hours ago
        I tried to use baseUI and gave up. Forms are a bit different and I can't no longer copy/paste similar form code between projects (unless I migrate everything to baseUI).
    • stefan_ 10 hours ago
      Yeah instead of this slop a simple table explaining the tradeoff would have been far superior.
  • vjeux 9 hours ago
    Curious if anyone tried Astryx that was open sourced by Meta last week to see how it compares.
  • kcrwfrd_ 12 hours ago
    Tangential but does anyone an have opinion on Base UI vs React Aria?

    Trying to decide between the two atm.

    • lloydatkinson 10 hours ago
      Personally I'd prefer React Aria; I don't have the patience to try understand why suddenly everyone is rushing to adopt Base UI instead of Radix which itself was once suddenly the thing everyone rushed to instead of Stitches.

      Having a library not in anyway related to that to me feels like a big pro.

      I have found React Aria to be very good. I really like how its a set of hooks, a set of premade components using said hooks, and I like how you can choose bits of either approach for your own components. Some of the hooks are very useful.

      • re-thc 8 hours ago
        > why suddenly everyone is rushing to adopt Base UI instead of Radix

        MUI (who started Base UI) hired the Radix "original" developers and they were pushing that as it being Radix v2.

        • lloydatkinson 34 minutes ago
          MUI is one of the most dreadful UI libraries I have ever had to use.
  • ruguo 10 hours ago
    Most of the websites I found are still on the radix version.
  • TheFuzzball 5 hours ago
    Imagine building a brand new component library to replace your already quite successful component library and still making it React-only.
  • joel_liu 7 hours ago
    [flagged]
  • joel_liu 9 hours ago
    [flagged]
  • saaskitdev 8 hours ago
    [dead]
  • mr-karan 12 hours ago
    [flagged]
  • upmostly 12 hours ago
    [flagged]
  • skeptrune 12 hours ago
    based