Been using NextUI for 8 months before they pulled this rebrand nonsense. HeroUI is literally NextUI with fresh branding - same components, same bugs, same everything. The announcement came out of nowhere and everyone on our team was like "wait, what the fuck happened to NextUI?" But it still works, so here we are.
What Actually Works
The Tailwind CSS + React Aria combo actually works without making you hate your life. Most libraries give you either completely unstyled components (thanks for nothing) or overly designed shit that screams "I used a component library." HeroUI hits the sweet spot. The official docs aren't complete garbage either.
Tailwind means no CSS-in-JS runtime bullshit. Your bundle doesn't get ass-fucked by style injection like with Chakra or MUI's emotion nightmare. Everything builds to normal CSS classes instead of injecting styles on every render.
React Aria is where shit actually works for once. Keyboard navigation doesn't randomly break. Screen readers can figure out what the hell your buttons do. Focus management works when you've got modals inside modals (learned this during our accessibility audit nightmare). Most libraries just slap role="button"
on a div and call it a day. The accessibility docs show they actually give a shit, and React Aria patterns explain why your custom components break screen readers. Behavior hooks are separate from styling, so you get real ARIA attributes without wrestling the design system.
Performance Reality Check
Latest is v2.8.4 as of September 2025. Around 50 components that cover the basics without being overwhelming. TypeScript support doesn't suck - IntelliSense works, props are typed correctly, and you won't spend hours fighting any
types. Rare win in React-land.
I think it was v2.8.4, anyway. Could be v2.8.5 by now - they ship pretty regularly.
Tree-shaking works if you import individual components instead of dumping the whole library into your bundle like an amateur. Bundle stays sane as long as you're not importing every single component. The installation docs explain individual vs global imports without being condescending.
Here's the bullshit: Framer Motion is a peer dependency whether you like it or not. No animations? Too bad, you're still carrying 30kb+ of Motion code. Found this out when webpack-bundle-analyzer lit up our Motion chunks like a Christmas tree. Recent versions claim they "fixed" this by lazy-loading Motion, but it's still there, judging you from your node_modules folder.
Production gotcha that cost me a weekend: HeroUI's dark mode completely shit the bed when we upgraded to Next.js 14.2. Components rendered as white text on white background - literally invisible. Spent like 6 hours debugging before realizing the provider wrapper moved in the Next.js upgrade. The framework guide mentions this now, but wasn't documented when it happened. Lost a Saturday to that bullshit.
Our monitoring went down and didn't tell us. Fucking brilliant.
The Migration Headache
GitHub has 26k+ stars so it probably won't get abandoned next week. Regular releases, maintainer responds to issues instead of ghosting. Most of the NextUI community migrated over without too much bitching.
React Server Components don't break everything. Next.js App Router works without weird hydration errors. Standard modern React stuff you'd expect. The Next.js guide covers RSC integration properly, and this SO thread explains the "use client" directive placement. This Medium article shows actual implementation instead of theoretical bullshit.