Astryx is a fully customizable, open-source design system built by Meta, powering over 13,000 internal apps. Engineered for both human developers and AI coding agents, it features 150+ accessible React components styled with StyleX (with no build plugins required). What sets it apart is its "open-internals" architecture—allowing you to swizzle and extract full component source code—and strict API predictability that ensures LLMs and humans can build seamlessly together.
No reviews yetBe the first to leave a review for Astryx
Hunter
📌
Hey Product Hunt! 👋
We are incredibly excited to share Astryx with the community!
Over the last eight years within Meta, Astryx has evolved into our most critical and widely used design system—powering more than 13,000 internal applications. Today, we’re opening it up to everyone.
Why we built this:
Traditional design systems often lock components behind rigid, high-level APIs or force you into strict styling ecosystems. More importantly, they weren't built for modern workflows where AI agents code alongside humans. Every single convention in Astryx was refined to ensure that both a human engineer and an AI assistant can predict, understand, and use the components flawlessly.
Key features:
🤖 Agent-Ready: Designed from the ground up so LLMs can read the docs, predict props, and scaffold UIs without hallucinating.
🔓 Open Internals & Swizzling: No closed wrappers. Need deeper customization? You can extract a component's full source code directly into your project.
🎨 Zero Style Lock-in: Powered by StyleX underneath, but fully compatible with Tailwind, CSS Modules, or vanilla CSS. Override anything at the className level.
📦 Production-Grade: 150+ accessible, typed React components with 7 beautiful, ready-to-customize themes out of the box.
Check out our repo, try the CLI (npm run astryx), and let us know what you think! We’d love to hear your feedback on how you build interfaces alongside AI tools today. 👇
Report
Curious how the "swizzle" workflow holds up when you want to upstream improvements back to the base library without conflicts.
Report
How does the "swizzle and extract full component source code" feature actually work in practice, like does it pull in the full dependency tree or just the component itself?
Report
Finally tried Astryx this morning and the swizzling out of a Button into my project was surprisingly painless, which is rare for design systems this big.
Report
The swizzling into full source is genuinely useful, beats fighting a black box every time you need a tweak. Surprised how clean the StyleX setup is without a build plugin in sight.
Curious how the "swizzle" workflow holds up when you want to upstream improvements back to the base library without conflicts.
How does the "swizzle and extract full component source code" feature actually work in practice, like does it pull in the full dependency tree or just the component itself?
Finally tried Astryx this morning and the swizzling out of a Button into my project was surprisingly painless, which is rare for design systems this big.
The swizzling into full source is genuinely useful, beats fighting a black box every time you need a tweak. Surprised how clean the StyleX setup is without a build plugin in sight.