A button is a tiny object with an absurd number of opinions. It has to know when to glow, when to wait, how to speak to a screen reader and what to do when a thumb replaces a mouse. It needs a typeface, a radius, a focus state and manners. Most product teams would rather spend their imagination elsewhere. Junior Garcia built his career around that neglected arithmetic: make the small decisions reusable, and developers recover time for the larger ones.
From Buenos Aires, the software engineer has turned that arithmetic into HeroUI, the open-source interface ecosystem formerly known as NextUI. His own description is pleasingly direct. He works where design, engineering and developer experience meet, building tools that remove interface friction so creators can concentrate on the product. The sentence could double as a table of contents for his professional life.
Garcia began in full-stack and Java development, studied electrical engineering without completing the program, and later specialized in frontend work. Before making HeroUI his full-time concern, he worked as a frontend engineer at Deel. Nearly a decade of engineering experience gave him ample exposure to the ritual repetitions of web development: the same controls rebuilt, the same accessibility details rediscovered, the same handoff between design and code translated by hand.
The project that answered back
In 2020, Garcia started NextUI as a personal open-source React library. Its practical promise was uncomplicated: developers could assemble polished, responsive interfaces from components that already had sensible behavior. The deeper attraction was freedom from the blank canvas. A good default does not remove creativity. It removes the tax paid before creativity can begin.
Open source made the project unusually conversational. Every installation, issue, contribution and tutorial carried information. Developers did not have to flatter the founder in an interview. They could use the library, ask for a feature, extend it or quietly depart. Garcia later argued that this behavior is a more revealing measure of product-market fit than a burst of attention. When users begin teaching one another, building extensions and requesting new use cases, the product has entered their working lives.
“Watch your community more closely than your metrics.”Junior Garcia, writing on open-source product-market fit
The community grew around that exchange. By 2024, the Discord had passed 8,000 members; HeroUI reported more than 9,000 in 2026. Garcia regularly offered guidance while contributors improved the library around him. The result was not a pristine founder myth. It was closer to a busy workshop: maintainers, users and edge cases arguing the product into better shape.
From useful library to actual company
A popular repository and a durable business are cousins, not twins. Garcia had to learn marketing, team management and commercial judgment alongside component APIs. NextUI Pro, launched in early 2024, offered a paid collection of more elaborate application pieces. It was a way to charge for acceleration while preserving the open-source core that had earned trust.
An early check from Epakon Capital let him focus on the company full time. Garcia has credited the firm's partners with supporting him through the Y Combinator application process as well as the less photogenic ups and downs around it. In July 2024, NextUI entered Y Combinator's Summer batch.
The gratifying part was not the badge. It was walking among other founders and seeing their products built with his library. “When I started creating NextUI, I never imagined that moment was going to happen,” he said. A component that had once lived on his screen was now shaping software built by his peers. Reuse had become reach.
A name large enough for the mission
NextUI was a precise name when the library was closely identified with Next.js. Precision eventually became confinement. Developers were using it across Astro, Remix, Vite and Laravel; the team wanted to serve the larger React ecosystem and, later, mobile applications. There was also a practical nuisance: the name could suggest that the Next.js team created or maintained it.
In January 2025, NextUI became HeroUI. The migration changed package names and the command-line tool but deliberately avoided breaking features. A dedicated Discord channel helped users cross over. The rebrand worked as a public edit to the mission: the company was no longer defining itself through one framework.
The name changed; the taste remained. HeroUI still treats visual polish as functional. Accessibility is folded into the architecture through React Aria. Tailwind CSS supplies static styling and design tokens. TypeScript catches mistakes. Components can be dismantled into slots and rearranged rather than accepted as sealed boxes. Keyboard navigation, focus management and screen-reader behavior belong to the component, not to a rescue mission scheduled after launch.
The ground-up rewrite
HeroUI v3 arrived in March 2026 with the audacity peculiar to maintainers: every component rewritten, every animation moved to CSS, implementation separated from styles, and a React Native library built from scratch. The web set counted more than 75 components; the native set had 37. Compound APIs exposed the internal pieces of cards, modals and other controls so teams could move or restyle them without wrestling hidden structure.
There is a revealing modesty in the release's philosophy. More lines of component code can produce more freedom if each line corresponds to a visible, controllable piece. Less JavaScript can produce richer motion if CSS does the job. A library can be opinionated about craft while remaining permissive about composition. Garcia's work keeps returning to this bargain: carry the fiddly weight centrally so product teams can make distinctive choices locally.
The grammar beneath the components
Garcia's other featured project, Tailwind Variants, reveals what sits below the visible library. A component rarely has one appearance. A button may be quiet or loud, small or large, disabled or waiting, square or pill-shaped. Those choices multiply, and combinations begin colliding. Tailwind Variants gives developers a structured API for defining the variations without scattering conditional class names through an application. It is less photogenic than a finished dashboard and arguably more revealing. Garcia is interested in the grammar that lets a design system remain coherent while people customize it.
That grammar matters to a small team. Hiring a specialist to revisit every interaction is expensive; ignoring the interactions produces a different bill later. A reusable component moves the cost toward the center. Maintainers solve focus behavior, theming and state combinations once, then thousands of product teams inherit the work. Open source distributes the answer. Commercial layers can package more complete layouts, templates and support for teams that would rather buy time than assemble every piece.
The business logic follows the technical logic. HeroUI's free core earns adoption by being useful on its own. Pro components address larger application patterns. The Figma kit keeps design artifacts closer to code. Documentation and command-line tools reduce setup. Native components extend the same vocabulary to mobile. None of these products is identical, but each sells or shares a reduction in translation. The designer's token, the developer's class and the user's experience are supposed to refer to the same decision.
This is also why accessibility fits naturally into Garcia's project rather than sitting in a compliance appendix. A shared primitive can carry keyboard conventions, focus management and screen-reader announcements into every product that adopts it. The maintainer's care compounds. So does the maintainer's mistake, which is why the community remains part of the mechanism. Users report the strange browser, the awkward combination and the missing state. The system gets another chance to learn.
Now the developer may be an agent
The newest customer in the room does not drink coffee. AI coding assistants can generate interfaces rapidly, but they can also hallucinate props, import obsolete packages and reproduce stale patterns with perfect confidence. HeroUI's response is to make its current documentation, component source and design tokens available in forms that coding agents can query. The library publishes machine-readable context, an MCP server and repository guidance alongside the human documentation.
HeroUI Chat extends the idea into a product for creating frontend applications with AI. The interesting wager is not merely that software will write more software. It is that taste can be made partially legible. An agent still needs to know which component exists, how it behaves, what token controls it and whether the result works with a keyboard. Garcia spent years turning design judgment into reusable rules for people. Now those rules have a second audience.
The future of interface tools may depend less on generating more pixels and more on preserving good decisions while the pixels arrive faster.
That makes HeroUI an unusually coherent founder project. The early library reduced repetitive work. The community exposed real use. The paid products financed speed. The rebrand widened the canvas. The v3 rewrite made the system more composable and cross-platform. The AI tooling gives new builders a current map. Each stage is another attempt to lower friction without flattening personality.
Garcia's public profile is spare. His personal site highlights two projects, HeroUI and Tailwind Variants, and little else. The restraint feels apt. His argument is in the products: accessibility before apology, customization without excavation, polish without a large design department. He is not trying to make every interface identical. He is trying to keep every team from solving the same invisible problems alone.
A button remains a tiny object with too many opinions. In Garcia's world, at least it arrives prepared to defend them.