No one in the design community seems to be discussing this. Designers are still stuffing design systems into prompts and docs hoping the LLM respects them. Past a certain length, docs get ignored. Rules get hallucinated away. Sharding them is critical, but doesn’t actually solve the issue. You don't make AI design systems better by adding more documentation. You make it better with linters, test harnesses, and tooling that verifies itself. Ai native coders have learned prompts, docs, and rules are only a fraction of the harness needed for AI to work well. ===Do this instead=== Turn your design into a JSON recipe: a declarative schema that describes what should exist, not how to build it. Then build a UI interpreter that renders it. Now you've unlocked something fundamentally different: → A component registry mapped from Storybook that stays in sync automatically → A “limitless” linter that validates AI-generated UI against design rules at build time via a hook → Agentic UI that can read, generate, and modify the recipe natively and at runtime if desired → Rapid iteration: change the concise recipe, not the code → Separation of concerns: a design description that is independent of implementation The recipe is the source of truth. The interpreter enforces it. The tooling catches what the LLM won't. That's not a design system. That's a design harness.
Good share, Brian! What parts of the UI implementation will this constrain (HTML, JS, CSS, framework-level), and how do those rules wire into those parts? And can you use this approach in conjunction with other design system definition (ie. CSS variables)?
Whats the difference between this and an .md file other than the concise structure? Honestly asking because I'm curious. Yes it is more effective, but I think the core problem is that the model compacts the json / md file at some point, due to limited context window. This causes it to "forget" your instructions. Ideally, the design system is stored in a file, regardless of its format, and read every time before any change. I mean a JSON file is nice, but unless the design software (figma, etc) can output this, it's just another layer of mapping that humans have to do, regardless if it's formatted in markdown or json
What’s the blueprint for this?
This shares the same underlying principle behind well-built MCPs like Figma’s, which means designers who learn to think this way are already halfway to building their own … and adding to their toolbox of new age design skills that matter. Not all designers need MCP architecture skill it in their design toolbox - in the same way not every designer needs to have the skill of being a world class visual designer in their toolbox in order to be a great UX designer.
We have done same. We have built patterns, full page templates, and components using skills paired with declarative json. It’s worked well so far. We also have tests that run so if a designer or pm use a skill to build a page a verifier runs checking react code, page composition layout, and other things for build issues so the page is built right from the start.
This a good approach to get layouts implemented. Not sure if it fix component discoverality to a 100%. It still depends on the agent sarching and finding. But you combine this with a proper index and it works great. I also think the JSON can get very verbose. You can get same result by just describing the structure + pointing to the actual component file path. Documentation and rules works more granulary, or for when you are prototyping without a clear idea.
Everyone is looking for the magic recipe that resolves design/product issues. Sharing a step by step approach would really help others to follow your path, if ever worked for you.
Yeah that’s the direction I have been going for a year for design systems and am about to expand into patterns, examples and compositions https://github.com/DirectedEdges/anova/tree/main https://nathanacurtis.substack.com/p/components-as-data-2be178777f21
Nice to see Json config popping up everywhere. Have a look at Arc Rider Widgets. Complex Widgets like Calendar, Table, Kanban are missing in every big framework so far. Using Json as UI config is the heart of our platform agnostic approach 👍
OXD•2K followers
2dMy understanding is that this might not be great for SEO, particularly for crawlers that might not render the page before indexing. Anyone know if this is a concern?