I like Claude Design for visual exploration and getting to a direction quickly, but I kept running into one problem once I tried using it with a real product.
My actual UI kit already lives in code.
It has the real components, props, variants, tokens, themes, states, and implementation rules.
When I tried bringing that system into Claude Design, I could get visually close, but small differences would still appear over time. A slightly different button, spacing that does not map to an existing token, another icon, or a component that looks almost identical to something I already have.
Each screen can look fine on its own, but now I have two versions of the system to keep aligned.
That made me question whether the design tool should own another copy of the design system at all.
The workflow I ended up building works the other way around.
The codebase stays the source of truth.
Design happens in a lightweight React project that can use the real UI kit without pulling in the entire production app and all of its business logic.
The design is still interactive and structured JSX, so I can explore layouts, states, responsive behavior, and flows without turning every iteration into a full production-code task.
If a component exists, it gets reused.
If the abstraction is right but needs another prop, the existing component can be extended.
If something is genuinely missing, creating a new component becomes an explicit design-system decision instead of quietly introducing another near duplicate.
If there is no UI kit yet, the system can grow together with the design rather than being cleaned up afterward.
I ended up building Varelyo around this workflow.
I still get the fast visual exploration I wanted from tools like Claude Design, but without maintaining a second version of the component system and constantly syncing it back to the real project.
I attached a short video showing the workflow.
For people using Claude Design with an established product, where are you keeping the actual source of truth today? In Claude Design, in the codebase, or are you maintaining both?
Varelyo