Judge the behavior.
Compare working components with the styles and states your project actually uses.
Put real components and pages side by side. Explore the differences, test the details and find the direction you want to keep.
Choose a grid density and select the versions you want to compare.
Make decisions with the interface running, not just the idea of it.
Compare working components with the styles and states your project actually uses.
Follow the page. Test the links. See how a direction behaves beyond its first screen.
Check the same implementation from Mobile through Wide.
Hold on to promising options without crowding the workspace.
Design tools help explore what an interface could be. Here you compare implementations running in your project, with your styles, content and behavior.
A comparison workspace alongside your development flow. No separate mockup to rebuild before you can test a button or follow a link.
import { VariantHubProvider, VariantHubCanvasPage } from "varianthub-core";import { QuietButton, BoldButton } from "./alternatives"; const actions = { key: "primary-action", name: "Primary action", path: "src/alternatives", variants: [ { id: "quiet", name: "Quiet", component: QuietButton }, { id: "bold", name: "Bold", component: BoldButton }, ],}; <VariantHubProvider> <VariantHubCanvasPage componentsWithVariants={[actions]} getComponentVariants={key => key === actions.key ? actions : undefined} /></VariantHubProvider>Your components, styles and state. Nothing to rebuild.
An exploration can grow without filling your workspace. Choose what stays visible, save favorites and find another item from the keyboard.
Hide an option from the workspace without removing it from the catalog. Select the visible versions you want to compare.
Open search with ⌘ K, jump to a recent item or return to a favorite. Spend less time looking through the catalog.
Two skills bring VariantHub into your coding agent. Set up the workspace, ask for alternatives, then compare real interfaces without wiring each variant by hand.
Ask your agent to install or update VariantHub. The skill connects the registry and preview routes, then checks that components and pages open correctly.
What would you like to set up?
varianthub-builder· working
localhost:3000Choose how you want to work. Scroll through setup, alternatives and your first preview.
Add VariantHub to an existing project. Initialize a workspace alongside the code you already have.
git clone https://github.com/mattiamichini-design/varianthub.git
cd varianthub
npm ci
npm run build:packages
node packages/runner/src/cli.mjs init --root /path/to/your-project✓ Workspace initialized for ~/your-project✓ Ready. Add your first alternatives next.Node.js 22+. Clone and build once from GitHub; run directly against your project.
Free and open source. Add VariantHub to your project, then open your workspace.
Node.js 22+. AI is optional. Clone and build VariantHub from GitHub, then point it at your project root.
What runs where, what stays local, and how to get started.
Start with the sample project. See the whole page, test the details, then bring your own work.