<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Design System Guide]]></title><description><![CDATA[Get weekly insights, tools, and templates to help you build and scale design systems.]]></description><link>https://learn.thedesignsystem.guide</link><image><url>https://substackcdn.com/image/fetch/$s_!D_hv!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png</url><title>The Design System Guide</title><link>https://learn.thedesignsystem.guide</link></image><generator>Substack</generator><lastBuildDate>Fri, 24 Apr 2026 11:53:18 GMT</lastBuildDate><atom:link href="https://learn.thedesignsystem.guide/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Romina]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[romina@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[romina@substack.com]]></itunes:email><itunes:name><![CDATA[Romina Kavcic]]></itunes:name></itunes:owner><itunes:author><![CDATA[Romina Kavcic]]></itunes:author><googleplay:owner><![CDATA[romina@substack.com]]></googleplay:owner><googleplay:email><![CDATA[romina@substack.com]]></googleplay:email><googleplay:author><![CDATA[Romina Kavcic]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[What I Learned from Analyzing 158 Design Systems]]></title><description><![CDATA[What gets built first, what gets skipped, and what it costs you.]]></description><link>https://learn.thedesignsystem.guide/p/i-analyzed-158-design-systems-heres</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/i-analyzed-158-design-systems-heres</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sun, 12 Apr 2026 05:58:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Xkrk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xkrk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xkrk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!Xkrk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!Xkrk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!Xkrk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xkrk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:226928,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Xkrk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!Xkrk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!Xkrk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!Xkrk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5b015e1-9d35-4ba7-9248-e208d2976115_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I spent a few years collecting public design systems into my Airtable. I tracked what each system actually ships: tokens, GitHub repos. I have now used AI and gathered valuable insights. </p><p>The finding that surprised me most: almost no design system ships all the &#8220;layers&#8221;. They all make trade-offs. And the trade-offs follow a pattern.</p><div><hr></div><h2>The seven layers of a design system</h2><p>A design system can serve its users in seven ways. I checked which of these layers each system makes publicly available:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!120l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!120l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 424w, https://substackcdn.com/image/fetch/$s_!120l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 848w, https://substackcdn.com/image/fetch/$s_!120l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 1272w, https://substackcdn.com/image/fetch/$s_!120l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!120l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png" width="780" height="751" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:751,&quot;width&quot;:780,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56999,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!120l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 424w, https://substackcdn.com/image/fetch/$s_!120l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 848w, https://substackcdn.com/image/fetch/$s_!120l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 1272w, https://substackcdn.com/image/fetch/$s_!120l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a067d71-20d7-4009-8f2b-b74908c9b422_780x751.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>What this tells you </h3><p>This measures <strong>how many layers a system makes available</strong>, not how good any layer is. It also only measures what&#8217;s <strong>public</strong>. Some systems have excellent internal Figma libraries, Storybooks, and docs that score low here because the outside world can&#8217;t see them. I&#8217;m not scoring quality. I&#8217;m mapping coverage.</p><h3>A note on the dataset</h3><p>The <strong>158 systems</strong> were collected from public sources: documentation sites, GitHub repositories, Figma community files, npm registries, and design system directories. Each entry was manually verified against its live URL. Some systems required deeper digging than others.</p><div><hr></div><h2>What the data shows</h2><p>89% have code examples. That&#8217;s the first layer teams build. But after that, each subsequent layer drops off sharply. Only 37% add usage guidelines. Only 21% document accessibility. Only 13% include content guidelines.</p><p>Three systems scored a perfect 7: <strong>Polaris</strong> (Shopify), <strong>Paste</strong> (Twilio), and <strong>eBay Playbook</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rHRz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rHRz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 424w, https://substackcdn.com/image/fetch/$s_!rHRz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 848w, https://substackcdn.com/image/fetch/$s_!rHRz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 1272w, https://substackcdn.com/image/fetch/$s_!rHRz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rHRz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png" width="1000" height="139" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:139,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:20308,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rHRz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 424w, https://substackcdn.com/image/fetch/$s_!rHRz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 848w, https://substackcdn.com/image/fetch/$s_!rHRz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 1272w, https://substackcdn.com/image/fetch/$s_!rHRz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc20f89ac-dff0-4a3f-af85-ffb3d96bc463_1000x139.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h2>The leaderboard</h2><p>Look at the top. Shopify. Twilio. Workday. Microsoft. Salesforce. These are companies with dedicated design infrastructure teams and years of investment. The gap between them and the average is not small. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s8Mk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s8Mk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 424w, https://substackcdn.com/image/fetch/$s_!s8Mk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 848w, https://substackcdn.com/image/fetch/$s_!s8Mk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 1272w, https://substackcdn.com/image/fetch/$s_!s8Mk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s8Mk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png" width="724.65625" height="1548.952734375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:2736,&quot;width&quot;:1280,&quot;resizeWidth&quot;:724.65625,&quot;bytes&quot;:229877,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!s8Mk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 424w, https://substackcdn.com/image/fetch/$s_!s8Mk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 848w, https://substackcdn.com/image/fetch/$s_!s8Mk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 1272w, https://substackcdn.com/image/fetch/$s_!s8Mk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693a6b3e-d801-40a8-bf83-6c7a00189f13_1280x2736.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Accessibility is still a lower priority</h2><p>Only 34 systems explicitly mention accessibility. That&#8217;s 21%.</p><p>4 systems have accessibility <em>issues</em> flagged. Meaning someone noted problems.</p><p>Some of these systems probably have accessible components under the hood. They just don&#8217;t document it or surface it as a priority. But if you don&#8217;t talk about it, your adopters won&#8217;t prioritize it either.</p><div><hr></div><h2>The tech landscape</h2><p>React dominates. But the picture is more interesting than &#8220;React won.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C5jy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C5jy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 424w, https://substackcdn.com/image/fetch/$s_!C5jy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 848w, https://substackcdn.com/image/fetch/$s_!C5jy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 1272w, https://substackcdn.com/image/fetch/$s_!C5jy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C5jy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png" width="1456" height="1372" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1372,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107591,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C5jy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 424w, https://substackcdn.com/image/fetch/$s_!C5jy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 848w, https://substackcdn.com/image/fetch/$s_!C5jy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 1272w, https://substackcdn.com/image/fetch/$s_!C5jy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fe5d63-d113-4000-bdf7-d18ec72d6c94_1560x1470.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>React is the default.</strong> More than half of all systems use it. No surprise.</p><p><strong>Web Components are the quiet second wave.</strong> These are not startups experimenting. These are large organizations making a deliberate bet on framework-agnostic components.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0WJS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0WJS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 424w, https://substackcdn.com/image/fetch/$s_!0WJS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 848w, https://substackcdn.com/image/fetch/$s_!0WJS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 1272w, https://substackcdn.com/image/fetch/$s_!0WJS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0WJS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png" width="1456" height="1733" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1733,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:564711,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0WJS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 424w, https://substackcdn.com/image/fetch/$s_!0WJS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 848w, https://substackcdn.com/image/fetch/$s_!0WJS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 1272w, https://substackcdn.com/image/fetch/$s_!0WJS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82011f9e-c300-42a9-9727-868a9dbb6cf5_2269x2701.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Tailwind is the new entrant.</strong> 8 systems: shadcn/ui, daisyUI, Flowbite, Tremor, HeroUI, Nessie, Nuxt UI, Park UI. All relatively new. All growing fast. The utility-first, copy-paste model is rewriting the distribution rules.</p><p><strong>15 systems support 3+ technologies.</strong> Carbon (IBM) leads with 6: React, Vanilla JS, Angular, Vue, Svelte, Web Components. That&#8217;s not a design system. That&#8217;s a platform.</p><div><hr></div><h2>The Tailwind gap</h2><p>This one surprised me.</p><p>There are 8 Tailwind-based design systems in the dataset: shadcn/ui, daisyUI, Flowbite, Tremor, HeroUI, Nessie, Nuxt UI, Park UI. They are some of the <strong>fastest-growing</strong> projects in the ecosystem. <strong>shadcn/ui alone has 112K GitHub stars.</strong></p><p>But across all 8 systems, not a single one documents accessibility. Not one includes content guidelines. </p><p>This isn&#8217;t a criticism of Tailwind. It&#8217;s a pattern about what happens when the distribution model is &#8220;copy this code.&#8221; The copy-paste philosophy solves the adoption problem brilliantly. But it skips the layers that make a design system more than a component starter kit. When you own the code, nobody is responsible for documenting when to use it, how to make it accessible, or how to write the words inside it.</p><p>The question is whether these systems will fill in those layers as they mature. Or whether the &#8220;you own it, you document it&#8221; model means those layers never get built centrally.</p><div><hr></div><h2>Tone of voice</h2><p>Only 21 systems out of 158 include content guidelines. 13%.</p><p>But look at <em>which</em> 20. Sainsbury&#8217;s. Polaris (Shopify). Atlassian. Lightning (Salesforce). NHS Digital. Pharos (JSTOR). Bolt. Workday Canvas. Paste (Twilio).</p><p>These are retail, fintech, healthcare, government, and enterprise SaaS. Industries where getting the words wrong has consequences. An error message that says the wrong thing in a banking app isn&#8217;t just bad UX. It&#8217;s a <strong>compliance risk. </strong>A healthcare system that uses inconsistent terminology isn&#8217;t just confusing. <strong>It&#8217;s dangerous.</strong></p><p>The systems that ship tone of voice aren&#8217;t doing it because they&#8217;re more thorough than everyone else. They&#8217;re doing it because their industry demands it. Content guidelines aren&#8217;t a &#8220;nice to have&#8221; when regulators read your interfaces.</p><p><strong>But compliance isn&#8217;t the only reason.</strong> When 10 teams use your Button component and each writes different label text, different error messages, different confirmation dialogs, your product speaks in 10 different voices. Content guidelines aren&#8217;t a legal checkbox. They&#8217;re how you keep the experience consistent at scale. Without them, your design system controls how things look but not what they say. That&#8217;s half a system.</p><div><hr></div><h2>The documentation gap</h2><p>89% of systems have code examples. </p><p>But only 37% tell you <em>when</em> to use a component. Only 21% tell you how to make it accessible. Only 13% tell you how to write the content inside it.</p><p>33 systems have code examples but no usage guidelines and no accessibility documentation. They show you <em>how</em> to implement a button. They don&#8217;t tell you <em>which</em> button to use, <em>when</em>, or <em>why</em>.</p><p>A design system without usage guidelines is a component library. A component library without accessibility documentation is a liability.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!caaH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!caaH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 424w, https://substackcdn.com/image/fetch/$s_!caaH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 848w, https://substackcdn.com/image/fetch/$s_!caaH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!caaH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!caaH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png" width="1456" height="956" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:956,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77941,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!caaH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 424w, https://substackcdn.com/image/fetch/$s_!caaH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 848w, https://substackcdn.com/image/fetch/$s_!caaH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!caaH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693bdea9-0add-4fe2-822f-0abedb6b6c74_1560x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>How many components do the top systems actually ship?</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;2cde9d36-0b13-4ad7-9f33-a1defb810e7b&quot;,&quot;duration&quot;:null}"></div><p>This one gets misunderstood constantly. People equate &#8220;big design system&#8221; with &#8220;lots of components.&#8221; The data says otherwise.</p><p>The range is massive. </p><p>More components is <strong>not </strong>better. More components is more to maintain, more to document, more to keep accessible. The systems that score highest aren&#8217;t the ones with the most components. They&#8217;re the ones that document the components they have.</p><div><hr></div><h2>How many design tokens power these systems?</h2><p>I counted CSS custom properties and documented tokens across the top systems. Some counts are verified from the source code. Others are estimates from documentation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3WaF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3WaF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 424w, https://substackcdn.com/image/fetch/$s_!3WaF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 848w, https://substackcdn.com/image/fetch/$s_!3WaF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 1272w, https://substackcdn.com/image/fetch/$s_!3WaF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3WaF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png" width="1456" height="1594" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1594,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134414,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3WaF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 424w, https://substackcdn.com/image/fetch/$s_!3WaF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 848w, https://substackcdn.com/image/fetch/$s_!3WaF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 1272w, https://substackcdn.com/image/fetch/$s_!3WaF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5939d7e1-b067-40c5-92a6-66d18cc957d7_1560x1708.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>The popularity contest nobody asked for</h2><p><strong>npm downloads</strong> measure one thing: who gets <code>npm install</code>ed. Open community libraries naturally dominate here. Enterprise and internal systems are consumed behind firewalls, not through public registries.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9F2s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9F2s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 424w, https://substackcdn.com/image/fetch/$s_!9F2s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 848w, https://substackcdn.com/image/fetch/$s_!9F2s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 1272w, https://substackcdn.com/image/fetch/$s_!9F2s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9F2s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png" width="1456" height="1525" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1525,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107541,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9F2s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 424w, https://substackcdn.com/image/fetch/$s_!9F2s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 848w, https://substackcdn.com/image/fetch/$s_!9F2s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 1272w, https://substackcdn.com/image/fetch/$s_!9F2s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F486a4ec1-d588-41bd-b201-99eef46fe220_1560x1634.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Stars don&#8217;t mean what you think</h2><p>I almost didn&#8217;t include this chart. But the myth of &#8220;more stars = better system&#8221; needs data thrown at it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F3iS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F3iS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 424w, https://substackcdn.com/image/fetch/$s_!F3iS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 848w, https://substackcdn.com/image/fetch/$s_!F3iS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!F3iS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F3iS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png" width="1456" height="1019" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1019,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74812,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!F3iS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 424w, https://substackcdn.com/image/fetch/$s_!F3iS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 848w, https://substackcdn.com/image/fetch/$s_!F3iS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!F3iS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf5768c0-d5da-4a50-bf91-e9af81cb13c8_1560x1092.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>The architecture fingerprint</h2><p>I divided each system&#8217;s token count by its component count. The ratio tells you something fundamental about design philosophy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gj4V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gj4V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 424w, https://substackcdn.com/image/fetch/$s_!gj4V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 848w, https://substackcdn.com/image/fetch/$s_!gj4V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!gj4V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gj4V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png" width="780" height="1184" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1184,&quot;width&quot;:780,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:92219,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193775936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gj4V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 424w, https://substackcdn.com/image/fetch/$s_!gj4V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 848w, https://substackcdn.com/image/fetch/$s_!gj4V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 1272w, https://substackcdn.com/image/fetch/$s_!gj4V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8a8a90-924b-4230-87bd-c8733d3de2bb_780x1184.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p>I&#8217;ve thrown a lot of numbers at you. Here&#8217;s what they change about how I&#8217;d build a design system today.</p><ol><li><p><strong>Write usage guidelines before building more components.</strong> </p></li><li><p><strong>Add accessibility documentation now.</strong></p></li><li><p><strong>Add Storybook before another component.</strong></p></li><li><p><strong>Ship decision logic, not just components.</strong> </p></li><li><p><strong>Content guidelines are required if you&#8217;re regulated.</strong> </p></li><li><p><strong>Fund it like an infrastructure.</strong></p></li></ol><div><hr></div><h2>Why this matters more than it used to</h2><p>I&#8217;ve spent the past year building agentic design systems. AI agents that audit tokens, compose patterns, generate documentation, and open pull requests. I wrote about the architecture in Parts 1, 2 and 3 of that series.</p><p>But here&#8217;s the thing I keep running into: <strong>agents can only work with what&#8217;s documented. </strong>An AI agent can&#8217;t use a component that has no usage guidelines. It can&#8217;t check accessibility if accessibility isn&#8217;t described. It can&#8217;t compose a pattern from a system that only ships code and a landing page.</p><p>Everyone is talking about AI agents for design systems. This data shows that many systems aren&#8217;t ready for a human to use properly, let alone a machine.</p><p>Fix the layers first. The agents will follow. &#128588;</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>MemPalace / </strong>Free, local AI memory system that stores your entire chat history and makes it searchable across sessions. 96.6% recall, no cloud, works with Claude/Cursor/ChatGPT</p><p>&#128279; <strong><a href="http://github.com/milla-jovovich/mempalace">Link</a></strong></p><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b66f0c1a-e295-4248-af79-326cf80c0c08&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why your design system is the most important asset in the AI era&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-03-29T09:18:46.507Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!mqJ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/why-your-design-system-is-the-most&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:192390627,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:40,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p>]]></content:encoded></item><item><title><![CDATA[The Self-Healing Design System]]></title><description><![CDATA[Agentic Design Systems, part 3]]></description><link>https://learn.thedesignsystem.guide/p/the-self-healing-design-system</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/the-self-healing-design-system</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sat, 04 Apr 2026 09:40:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!N4qr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N4qr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N4qr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 424w, https://substackcdn.com/image/fetch/$s_!N4qr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 848w, https://substackcdn.com/image/fetch/$s_!N4qr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 1272w, https://substackcdn.com/image/fetch/$s_!N4qr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N4qr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:736859,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193053173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!N4qr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 424w, https://substackcdn.com/image/fetch/$s_!N4qr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 848w, https://substackcdn.com/image/fetch/$s_!N4qr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 1272w, https://substackcdn.com/image/fetch/$s_!N4qr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55d8930-7ee1-422a-bae7-37810c34ffbd_2184x1455.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b66f0c1a-e295-4248-af79-326cf80c0c08&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why your design system is the most important asset in the AI era&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-03-29T09:18:46.507Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!mqJ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/why-your-design-system-is-the-most&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:192390627,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:40,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>In Part 1 and 2, I made the case that design systems are the semantic layer that makes AI-assisted design possible. The understanding, not the code, is the asset.</p><p>Now let&#8217;s talk about the machinery AND the judgment calls. The architecture, the self-healing loop, what AI genuinely cannot do, and three phases you can start this week.</p><div><hr></div><h2>The architecture</h2><p>This is the architecture I&#8217;ve built over the past year.</p><p>At the center: <strong>Claude Code</strong> as the orchestration layer. Connected via MCP to <strong>Figma</strong> (through my Tidy plugin), to <strong>GitHub</strong>, to <strong>Storybook</strong>, to <strong>PostHog</strong> (analytics) , to <strong><a href="https://go.granola.ai/romina-kavcic">Granola</a></strong> (meeting notes), to <strong>Sentry</strong> for error monitoring, to the <strong>documentation layer</strong>, and to the <strong>Observatory</strong> dashboard.</p><p><strong>&#128075; A note on tooling: </strong></p><p>Claude Code is not the only option here. Because everything connects through MCP, the orchestration layer is swappable. I&#8217;ve tested Cursor, Codex, and other AI coding tools in this setup. <strong>I also run the same exercises </strong>across new models whenever they come out (Gemini, GPT 5.2 through 5.4, Llama, Mistral) to benchmark how they handle token naming, component composition, and system-level reasoning. Claude Code consistently delivered the best results for design system work, particularly in reasoning about component relationships and token semantics. But the architecture doesn&#8217;t lock you in. If a better tool shows up tomorrow, you swap the center, and everything else stays the same. That&#8217;s the point of building on a protocol, not a product.</p><p>The loop is:</p><ol><li><p><strong>Watch.</strong> Detect drift in tokens, components, and docs.</p></li><li><p><strong>Analyze.</strong> Score severity, prioritize fixes.</p></li><li><p><strong>Execute.</strong> Generate PRs, update docs, sync tokens.</p></li><li><p><strong>Observe.</strong> Verify results and loop back.</p></li></ol><p>But here&#8217;s the thing. This architecture only works because the <strong>foundation is solid. </strong>Without clean token naming, without component descriptions, without intent documentation, the agent has nothing meaningful to work with. </p><div><hr></div><h2>Six agents, each specialized</h2><p>I built six agents on top of those MCP connections:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uqag!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e30e4f1-c380-4c3d-9bb7-c9fc81a42d69_1560x1110.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uqag!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e30e4f1-c380-4c3d-9bb7-c9fc81a42d69_1560x1110.png 424w, https://substackcdn.com/image/fetch/$s_!uqag!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e30e4f1-c380-4c3d-9bb7-c9fc81a42d69_1560x1110.png 848w, https://substackcdn.com/image/fetch/$s_!uqag!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e30e4f1-c380-4c3d-9bb7-c9fc81a42d69_1560x1110.png 1272w, https://substackcdn.com/image/fetch/$s_!uqag!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e30e4f1-c380-4c3d-9bb7-c9fc81a42d69_1560x1110.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uqag!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e30e4f1-c380-4c3d-9bb7-c9fc81a42d69_1560x1110.png" width="1456" height="1036" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e30e4f1-c380-4c3d-9bb7-c9fc81a42d69_1560x1110.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1036,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:85196,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193053173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e30e4f1-c380-4c3d-9bb7-c9fc81a42d69_1560x1110.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uqag!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e30e4f1-c380-4c3d-9bb7-c9fc81a42d69_1560x1110.png 424w, https://substackcdn.com/image/fetch/$s_!uqag!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e30e4f1-c380-4c3d-9bb7-c9fc81a42d69_1560x1110.png 848w, https://substackcdn.com/image/fetch/$s_!uqag!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e30e4f1-c380-4c3d-9bb7-c9fc81a42d69_1560x1110.png 1272w, https://substackcdn.com/image/fetch/$s_!uqag!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e30e4f1-c380-4c3d-9bb7-c9fc81a42d69_1560x1110.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Each has clear boundaries. The Composer doesn't do health scoring. The Guardian doesn't write docs. Specialization matters because it keeps the agents focused and predictable.</p><div><hr></div><h2>The knowledge graph: how the agent knows what to assemble</h2><p>Remember the destructive confirmation dialog from Part 2? The agent assembled Dialog + Alert + Button destructive. But how did it know THOSE three? How did it know that&#8217;s the right combination, and not Modal + Toast + Link?</p><p>Because of the <strong>knowledge graph.</strong></p><p>Every tool knows something. But none knows everything. Here is the example:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!95yA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc121f4c9-f6f4-4fc7-a781-15c12fc1bf76_1560x1292.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!95yA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc121f4c9-f6f4-4fc7-a781-15c12fc1bf76_1560x1292.png 424w, https://substackcdn.com/image/fetch/$s_!95yA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc121f4c9-f6f4-4fc7-a781-15c12fc1bf76_1560x1292.png 848w, https://substackcdn.com/image/fetch/$s_!95yA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc121f4c9-f6f4-4fc7-a781-15c12fc1bf76_1560x1292.png 1272w, https://substackcdn.com/image/fetch/$s_!95yA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc121f4c9-f6f4-4fc7-a781-15c12fc1bf76_1560x1292.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!95yA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc121f4c9-f6f4-4fc7-a781-15c12fc1bf76_1560x1292.png" width="1456" height="1206" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c121f4c9-f6f4-4fc7-a781-15c12fc1bf76_1560x1292.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1206,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:130119,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193053173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc121f4c9-f6f4-4fc7-a781-15c12fc1bf76_1560x1292.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!95yA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc121f4c9-f6f4-4fc7-a781-15c12fc1bf76_1560x1292.png 424w, https://substackcdn.com/image/fetch/$s_!95yA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc121f4c9-f6f4-4fc7-a781-15c12fc1bf76_1560x1292.png 848w, https://substackcdn.com/image/fetch/$s_!95yA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc121f4c9-f6f4-4fc7-a781-15c12fc1bf76_1560x1292.png 1272w, https://substackcdn.com/image/fetch/$s_!95yA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc121f4c9-f6f4-4fc7-a781-15c12fc1bf76_1560x1292.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>The knowledge graph connects the dots. </strong>It knows Button destructive has been paired with Dialog in 6 existing patterns across production. It knows Alert warning appeared in 4 of those. It&#8217;s not guessing. It&#8217;s reading your system&#8217;s history.</p><p>Think of this as<strong> &#8220;smart defaults.&#8221;</strong> We provide the agent with preloaded context for each component combination. The agent doesn&#8217;t start from zero. It starts from your team&#8217;s accumulated decisions.</p><p><strong>That&#8217;s the difference between an AI that generates components and an AI that understands your system.</strong></p><p>And here&#8217;s the thing most people miss: the knowledge graph is not a database. Example below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Tp7H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cc34fd-d26c-45a1-ae8a-c12069d04b48_2340x2052.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Tp7H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cc34fd-d26c-45a1-ae8a-c12069d04b48_2340x2052.png 424w, https://substackcdn.com/image/fetch/$s_!Tp7H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cc34fd-d26c-45a1-ae8a-c12069d04b48_2340x2052.png 848w, https://substackcdn.com/image/fetch/$s_!Tp7H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cc34fd-d26c-45a1-ae8a-c12069d04b48_2340x2052.png 1272w, https://substackcdn.com/image/fetch/$s_!Tp7H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cc34fd-d26c-45a1-ae8a-c12069d04b48_2340x2052.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Tp7H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cc34fd-d26c-45a1-ae8a-c12069d04b48_2340x2052.png" width="1456" height="1277" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74cc34fd-d26c-45a1-ae8a-c12069d04b48_2340x2052.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1277,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:466568,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193053173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cc34fd-d26c-45a1-ae8a-c12069d04b48_2340x2052.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Tp7H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cc34fd-d26c-45a1-ae8a-c12069d04b48_2340x2052.png 424w, https://substackcdn.com/image/fetch/$s_!Tp7H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cc34fd-d26c-45a1-ae8a-c12069d04b48_2340x2052.png 848w, https://substackcdn.com/image/fetch/$s_!Tp7H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cc34fd-d26c-45a1-ae8a-c12069d04b48_2340x2052.png 1272w, https://substackcdn.com/image/fetch/$s_!Tp7H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74cc34fd-d26c-45a1-ae8a-c12069d04b48_2340x2052.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Tidy: the quality gate</h2><p>Every AI tool I tried could generate components, but none could tell me whether the result was actually correct. Was the naming right? Were the tokens semantic or primitive? Did the component follow our conventions? I needed something that could answer those questions automatically, not after a manual review, but in the moment.</p><p><strong>So I built Tidy: a Figma plugin and an MCP server. </strong>The plugin validates inside Figma. The MCP server lets AI agents do the same thing from the terminal. What started as a simple naming validator grew into over 100 tools that cover everything from token auditing to pattern composition to documentation generation.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;425ac17a-18c2-4838-9a05-c8605fa5becf&quot;,&quot;duration&quot;:null}"></div><p>Tidy has two faces:</p><p><strong>The Figma Plugin</strong> audits naming, tokens, and components. Scores health across 6 categories. Validates new variables. Navigates to issues on the canvas.</p><p><strong>The Agent Integration</strong> exposes 100+ tools via MCP. Create, alias, and batch-update tokens. Compose patterns from natural language. Run accessibility audits. Generate component specs. Check design-code parity. Run any Figma Plugin API from the CLI.</p><p><strong>One command.</strong> Is <code>color.bg.danger</code> applied correctly? Is the naming consistent? Are the component descriptions present? Is auto-layout used? Full scan, instant feedback.</p><p>This is the quality gate before anything ships.</p><p>The evolution was important here.<strong> I started with static context files. </strong>Rules files, token definitions, and component templates that you feed to Cursor or Claude. It works. But every token change means a manual update. Every new component means editing the template. That friction is exactly what led me to build Tidy. A live connection to Figma instead of a static snapshot.</p><div><hr></div><h2>The Token Intent Validator: guardrails, not just components</h2><p>Back to our dialog component. The agent composed it with <code>color.bg.danger</code> for the destructive button. But what if someone manually swaps that to <code>color.bg.primary</code> because it &#8220;looks nicer&#8221;?</p><p>The Token Intent Validator catches it. Red flag: primary token used in a destructive context. Intent mismatch.</p><p>It detects:</p><ul><li><p>Raw hex colors used instead of tokens</p></li><li><p>Primitive tokens like <code>blue.500</code> used directly in components</p></li><li><p>Status color misuse (danger in the wrong context)</p></li><li><p>Intent-property mismatches</p></li></ul><p>And it&#8217;s context-aware. It knows the difference between a button in an alert versus a button in a card.</p><p><strong>Design teams need to invest in guardrails. Not just components. Not just tokens. The rules that prevent your system from degrading over time.</strong></p><div><hr></div><h2>Pattern composition: where everything converges</h2><p>Pattern composition is where everything comes together. The agent acts as a Composer.</p><p>You say &#8220;create a login form&#8221; and it assembles the right components with the right variants and the right tokens. Input default, input password, button primary. It knows the composition because of the reasoning layer.</p><p>Now the payoff. Remember the destructive confirmation dialog? This is what the agent built:</p><ul><li><p>Dialog container</p></li><li><p>Alert with warning slot</p></li><li><p>Button destructive for the action</p></li><li><p>Button secondary for cancel</p></li><li><p><code>color.bg.danger</code> on the action</p></li><li><p>Semantic color mapping</p></li><li><p>Auto-layout with proper spacing</p></li></ul><p>The agent didn&#8217;t design this. <strong>It assembled it.</strong> From the index, the metadata, the reasoning, and the knowledge graph. Every layer we talked about converges here.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;fe9c2d61-4954-4a37-9f50-fa1f0af19e22&quot;,&quot;duration&quot;:null}"></div><p>Four patterns. Four different intents. Same system. Same agent. Different outputs because the CONTEXT is different.</p><p>And one more thing: one command. I type <code>generate-code Dialog</code> in the terminal, and five files appear. The React component, the CSS module with design tokens, tests, Storybook stories, and a barrel export. </p><div><hr></div><h2>The self-healing loop</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q77o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42328c05-feb2-4634-9e17-5aded15b4bbe_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q77o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42328c05-feb2-4634-9e17-5aded15b4bbe_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!Q77o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42328c05-feb2-4634-9e17-5aded15b4bbe_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!Q77o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42328c05-feb2-4634-9e17-5aded15b4bbe_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!Q77o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42328c05-feb2-4634-9e17-5aded15b4bbe_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q77o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42328c05-feb2-4634-9e17-5aded15b4bbe_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42328c05-feb2-4634-9e17-5aded15b4bbe_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:820961,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193053173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42328c05-feb2-4634-9e17-5aded15b4bbe_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Q77o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42328c05-feb2-4634-9e17-5aded15b4bbe_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!Q77o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42328c05-feb2-4634-9e17-5aded15b4bbe_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!Q77o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42328c05-feb2-4634-9e17-5aded15b4bbe_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!Q77o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42328c05-feb2-4634-9e17-5aded15b4bbe_1920x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Self-healing systems are not a new idea. IBM published the <strong>MAPE-K control loop</strong> in 2003. Monitor, Analyze, Plan, Execute, with a shared Knowledge base in the center. It&#8217;s been running server farms and cloud platforms for over twenty years.</p><p>I just applied it to design systems.</p><p>Here&#8217;s what it looks like in practice. The destructive dialog shipped. A week later, a developer on another team needs the same pattern. But instead of using the composed version, they fork it. They hardcode <code>#DC2626</code> instead of using <code>color.bg.danger</code>. They skip the cancel button.</p><p><strong>The self-healing loop kicks in:</strong></p><p><strong>Detect.</strong> Tidy scans and finds a raw hex value in a dialog context. And a destructive action without a cancel pair.</p><p><strong>Score.</strong> Observatory drops the health score from 96 to 84. Two violations, one structural.</p><p><strong>Fix.</strong> Claude + Tidy MCP opens a PR. Replaces the hex with <code>color.bg.danger</code>. Adds the missing cancel button based on the component metadata that says &#8220;always paired with a cancel option.&#8221;</p><p><strong>Verify.</strong> Re-run the audit. Health back to 96. Tests pass.</p><p><strong>Learn.</strong> And here&#8217;s the important part. That fork taught the system something. It captured a new anti-pattern: &#8220;hardcoded red in dialog context.&#8221; Next time anyone tries the same shortcut, the agent flags it BEFORE review.</p><p><strong>Every mistake makes the system smarter.</strong> That&#8217;s the flywheel.</p><div><hr></div><h2>Automated documentation</h2><p>Documentation is the first thing that drifts. So I automated it.</p><p>Four triggers:</p><ol><li><p>A variant gets added in Figma</p></li><li><p>A token alias changes</p></li><li><p>Health drops below threshold</p></li><li><p>A pattern gets promoted as canonical</p></li></ol><p>Four outputs:</p><ol><li><p>A changelog</p></li><li><p>A component spec with props and variants</p></li><li><p>Do/Don&#8217;t usage guidance</p></li><li><p>A migration plan when tokens are deprecated</p></li></ol><p>No one has to remember to update the docs. The system does it.</p><p>I use <strong>Mintlify. </strong>I already wrote about this setup.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bd47676f-9fbc-47a8-a9fb-074ec511f632&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Documentation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-17T08:58:02.536Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!9dDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe9c6aa2-4c25-47ea-8c50-3c5d2d786ca1_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-documentation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176234757,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:109,&quot;comment_count&quot;:3,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h2>The Observatory: my dashboard</h2><p>The Observatory is a dashboard that shows the health of your design system in real time. Token compliance, naming scores, component coverage, and drift over time.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;88caa065-ef03-430d-a4e2-7f23808902b3&quot;,&quot;duration&quot;:null}"></div><p>This is what turns gut feeling into data. Instead of someone saying, &#8220;I think our system is getting messy,&#8221; you have a score. </p><div><hr></div><h2>Everything connects</h2><p>Here&#8217;s the deeper truth behind everything I&#8217;ve shown you:</p><ul><li><p><strong>The Token Intent Validator</strong> encodes what tokens mean</p></li><li><p><strong>Tidy&#8217;s 100+ tools</strong> encode what correct looks like. That becomes governance.</p></li><li><p><strong>The Observatory</strong> encodes health over time. Component adoption, team usage, drift detection.</p></li><li><p><strong>The knowledge graph</strong> connects data from tools. All queryable.</p></li><li><p><strong>The learning flywheel</strong> captures every human correction and makes the next suggestion better.</p></li></ul><p>Every tool is a seed. The tree is the context-aware design system.</p><div><hr></div><p>It does not matter if you can hook up a CLI to Figma if you&#8217;re not implementing strategic work. Define your naming conventions. Write your component intent. Map your token relationships. Build the guardrails. Then point the agents at it.</p><p>And <strong>babysit every PR at the start.</strong> Review every suggestion. Correct every mistake. That&#8217;s how the agent learns your standards. Only some tasks will ever earn the right to merge automatically. <strong>The goal was never full autonomy. The goal is safe autonomy. </strong>The agent earns trust the same way a new team member does: by being right, consistently, over time.</p><p>Here&#8217;s what governed autonomy looks like in practice:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RNuA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f2a41f-a0bf-4951-8da3-8baf29066383_1560x778.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RNuA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f2a41f-a0bf-4951-8da3-8baf29066383_1560x778.png 424w, https://substackcdn.com/image/fetch/$s_!RNuA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f2a41f-a0bf-4951-8da3-8baf29066383_1560x778.png 848w, https://substackcdn.com/image/fetch/$s_!RNuA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f2a41f-a0bf-4951-8da3-8baf29066383_1560x778.png 1272w, https://substackcdn.com/image/fetch/$s_!RNuA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f2a41f-a0bf-4951-8da3-8baf29066383_1560x778.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RNuA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f2a41f-a0bf-4951-8da3-8baf29066383_1560x778.png" width="1456" height="726" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39f2a41f-a0bf-4951-8da3-8baf29066383_1560x778.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:726,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:61898,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193053173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f2a41f-a0bf-4951-8da3-8baf29066383_1560x778.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RNuA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f2a41f-a0bf-4951-8da3-8baf29066383_1560x778.png 424w, https://substackcdn.com/image/fetch/$s_!RNuA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f2a41f-a0bf-4951-8da3-8baf29066383_1560x778.png 848w, https://substackcdn.com/image/fetch/$s_!RNuA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f2a41f-a0bf-4951-8da3-8baf29066383_1560x778.png 1272w, https://substackcdn.com/image/fetch/$s_!RNuA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39f2a41f-a0bf-4951-8da3-8baf29066383_1560x778.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There&#8217;s an approval queue, an escalation queue, and a full audit log.</p><p>This is not about letting AI run wild. <strong>It&#8217;s about making governance programmable.</strong></p><div><hr></div><h2>The trust level system</h2><p>Every time you hand over decision-making to an agentic system, you&#8217;re giving up control. You want to make sure the agent has earned that trust.</p><p>The trust system works like a team member&#8217;s career progression:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lRo0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca17b217-617e-4033-bbb0-aac65689ee9d_2880x1427.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lRo0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca17b217-617e-4033-bbb0-aac65689ee9d_2880x1427.png 424w, https://substackcdn.com/image/fetch/$s_!lRo0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca17b217-617e-4033-bbb0-aac65689ee9d_2880x1427.png 848w, https://substackcdn.com/image/fetch/$s_!lRo0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca17b217-617e-4033-bbb0-aac65689ee9d_2880x1427.png 1272w, https://substackcdn.com/image/fetch/$s_!lRo0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca17b217-617e-4033-bbb0-aac65689ee9d_2880x1427.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lRo0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca17b217-617e-4033-bbb0-aac65689ee9d_2880x1427.png" width="1456" height="721" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca17b217-617e-4033-bbb0-aac65689ee9d_2880x1427.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:721,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:352008,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193053173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca17b217-617e-4033-bbb0-aac65689ee9d_2880x1427.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lRo0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca17b217-617e-4033-bbb0-aac65689ee9d_2880x1427.png 424w, https://substackcdn.com/image/fetch/$s_!lRo0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca17b217-617e-4033-bbb0-aac65689ee9d_2880x1427.png 848w, https://substackcdn.com/image/fetch/$s_!lRo0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca17b217-617e-4033-bbb0-aac65689ee9d_2880x1427.png 1272w, https://substackcdn.com/image/fetch/$s_!lRo0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca17b217-617e-4033-bbb0-aac65689ee9d_2880x1427.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xFZ3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c85082-7d63-4639-b52c-3f2ec858ab2e_1560x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xFZ3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c85082-7d63-4639-b52c-3f2ec858ab2e_1560x1048.png 424w, https://substackcdn.com/image/fetch/$s_!xFZ3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c85082-7d63-4639-b52c-3f2ec858ab2e_1560x1048.png 848w, https://substackcdn.com/image/fetch/$s_!xFZ3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c85082-7d63-4639-b52c-3f2ec858ab2e_1560x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!xFZ3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c85082-7d63-4639-b52c-3f2ec858ab2e_1560x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xFZ3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c85082-7d63-4639-b52c-3f2ec858ab2e_1560x1048.png" width="1456" height="978" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48c85082-7d63-4639-b52c-3f2ec858ab2e_1560x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:978,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86735,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/193053173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c85082-7d63-4639-b52c-3f2ec858ab2e_1560x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xFZ3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c85082-7d63-4639-b52c-3f2ec858ab2e_1560x1048.png 424w, https://substackcdn.com/image/fetch/$s_!xFZ3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c85082-7d63-4639-b52c-3f2ec858ab2e_1560x1048.png 848w, https://substackcdn.com/image/fetch/$s_!xFZ3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c85082-7d63-4639-b52c-3f2ec858ab2e_1560x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!xFZ3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c85082-7d63-4639-b52c-3f2ec858ab2e_1560x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>But the level alone doesn&#8217;t decide what happens. Every action goes through a <strong>decision matrix</strong>:</p><ul><li><p><strong>Low risk, high confidence, trust level allows it?</strong> Auto-merge. Ship it.</p></li><li><p><strong>Low risk, but confidence is low?</strong> Draft a PR and request review. Don&#8217;t guess.</p></li><li><p><strong>High risk, any confidence?</strong> Always human review. No exceptions.</p></li><li><p><strong>Unknown?</strong> The agent doesn&#8217;t pretend. It logs, learns, and suggests. That&#8217;s it.</p></li></ul><p>That last row is the important one. <strong>The system knows what it doesn&#8217;t know.</strong> And when it doesn&#8217;t know, it watches. It doesn&#8217;t act.</p><div><hr></div><h2>What AI can&#8217;t do at the moment</h2><p>Not everything is perfect. I think it&#8217;s important to be honest about what doesn&#8217;t work, because the hype around AI agents can set the wrong expectations.</p><p><strong>AI can fix:</strong></p><ul><li><p>Naming violations</p></li><li><p>Token inconsistencies</p></li><li><p>Structural issues (missing auto-layout, wrong nesting)</p></li><li><p>Documentation generation</p></li><li><p>Repetitive auditing</p></li></ul><p><strong>AI cannot fix taste.</strong></p><p>Here&#8217;s what doesn&#8217;t work yet:</p><ul><li><p><strong>Novel problems are still yours.</strong> </p></li><li><p><strong>Multi-file awareness across repos isn&#8217;t there yet.</strong> </p></li><li><p><strong>Cross-team conflict resolution needs a human.</strong> </p></li><li><p><strong>Full autonomy is graduated.</strong> Most tasks stay at Level 2 or 3.</p></li></ul><p></p><p>But there is something important to know. </p><p><strong>When a human expert fails, they come back with a reason.</strong> They own the mistake. They explain what went wrong. They adjust. With agents, 25 failures land on your desk, and none of them come with insight. No ownership, no explanation, no learning. And if nobody is reviewing those failures, nobody takes responsibility. That&#8217;s still your job.</p><p>No matter what, you have to try. Start small, observe what works, throw away what doesn&#8217;t. Every correction teaches. Every rejection refines. That&#8217;s the flywheel. But invest in guardrails, not just components. Without clear vision, the flywheel just spins faster in the wrong direction.</p><p>Stay tuned for more. &#128588;<br><br>Happy Easter. &#128525;</p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Product in the Age of AI: Designers on How Their Role Is Changing from</strong> <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Ileana&quot;,&quot;id&quot;:48566145,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/675d4668-f540-4240-bd26-d0c0600e02a7_1200x1200.jpeg&quot;,&quot;uuid&quot;:&quot;621d190d-5405-41fd-a32b-15637c872ed1&quot;}" data-component-name="MentionToDOM"></span> <br>(I described my workflow and opinions) <br><br>&#128279; <strong><a href="https://open.substack.com/pub/ileanamarcut/p/designer-role-2026?utm_campaign=post-expanded-share&amp;utm_medium=post%20viewer">Link</a></strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Why your design system is the most important asset in the AI era]]></title><description><![CDATA[Agentic Design Systems, part 2]]></description><link>https://learn.thedesignsystem.guide/p/why-your-design-system-is-the-most</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/why-your-design-system-is-the-most</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sun, 29 Mar 2026 09:18:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mqJ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mqJ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mqJ1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!mqJ1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!mqJ1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!mqJ1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mqJ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:321289,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/192390627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mqJ1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!mqJ1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!mqJ1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!mqJ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350b8092-d419-4a69-84d9-c3d5b53a9420_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p>This year I gave a talk at the Into Design Systems conference called <strong>Agentic Design Systems</strong>. The response genuinely caught me off guard. Thank you to everyone who showed up, stayed engaged, and sent those messages. It means more than you know.</p><p>A year ago, I already presented at IDS and talked about context-aware design systems. A vision. Something we could see coming but couldn&#8217;t quite build yet.</p><p>This year, I came back with tools, numbers, and failures. Real ones.</p><p>This series covers everything from that talk. Not as a transcript, but as something you can actually use. If you&#8217;re building a design system today, or thinking about what AI means for your system, this is for you.</p><p>Let&#8217;s start with the shift that changes everything.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!33eO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!33eO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 424w, https://substackcdn.com/image/fetch/$s_!33eO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 848w, https://substackcdn.com/image/fetch/$s_!33eO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 1272w, https://substackcdn.com/image/fetch/$s_!33eO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!33eO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png" width="1456" height="887" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:887,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:672740,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/192390627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!33eO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 424w, https://substackcdn.com/image/fetch/$s_!33eO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 848w, https://substackcdn.com/image/fetch/$s_!33eO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 1272w, https://substackcdn.com/image/fetch/$s_!33eO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93e29356-a3ed-419e-8001-2d2eb3ac76e4_1920x1170.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Your design system is infrastructure</h2><p>Before anything else, I need to set one thing straight.</p><p>A design system is not a side project. It is not a nice-to-have. <strong>It is infrastructure.</strong> The same way your CI/CD pipeline is infrastructure. The same way your database is infrastructure.</p><p>And right now, in 2026, design systems are more important than they have ever been. Every product team is shipping faster than ever. AI is generating code at scale. And the only thing standing between your product and total inconsistency is the system that governs it.</p><p>Design systems reduce rework. They enforce brand. They catch accessibility issues before your users do. If you still need to justify your design system to leadership, frame it as infrastructure. Because that&#8217;s what it is.</p><blockquote><p><strong>The design system is the API that allows AI to build your product safely.</strong></p></blockquote><p>That&#8217;s not a metaphor. That&#8217;s literally what&#8217;s happening.</p><div><hr></div><h2>The numbers that should wake you up</h2><p>Let me set the scene with what happened in the 12 months between IDS 2025 and IDS 2026:</p><ul><li><p><strong>28+ frontier models</strong> released by 6 major labs in under 10 months</p></li><li><p><strong>$226 billion</strong> invested in AI. Nearly 2x the year before.</p></li><li><p><strong>84%</strong> of developers now use AI tools daily</p></li><li><p><strong>41%</strong> of all new code written in 2025 was AI-generated</p></li></ul><p>Claude Code hit a <strong>billion</strong> dollars in revenue in under 12 months. The MCP ecosystem went from 100K to 8 million downloads. <strong>Gartner says 40% of enterprise apps will embed AI agents by end of this year.</strong></p><p>This is the environment your design system lives in. Code is being generated faster than anyone can review it.</p><p>And that changes everything about how we think about governance.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SfL-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SfL-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 424w, https://substackcdn.com/image/fetch/$s_!SfL-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 848w, https://substackcdn.com/image/fetch/$s_!SfL-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 1272w, https://substackcdn.com/image/fetch/$s_!SfL-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SfL-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png" width="1456" height="721" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:721,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:105876,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/192390627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SfL-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 424w, https://substackcdn.com/image/fetch/$s_!SfL-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 848w, https://substackcdn.com/image/fetch/$s_!SfL-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 1272w, https://substackcdn.com/image/fetch/$s_!SfL-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff385d360-9631-46f6-9f09-ad13ad497bdd_2880x1427.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>The economics have flipped</h2><p>When code is cheap and understanding it is expensive, architecture must optimize for the impermanence of code.</p><p>We all know by now that developers using AI agents ship faster. Studies show a 39% productivity increase. But the interesting part is where the gain comes from. It's not that people write more code. <strong>The work shifts from syntactic to semantic.</strong> From "how do I write this" to "what should this do and why."</p><p><strong>That&#8217;s exactly the shift design systems need to make.</strong></p><p>A developer can generate a button component in 30 seconds with AI. But that button won&#8217;t know it should use your danger token inside an alert. It won&#8217;t know it should be secondary inside a card. It won&#8217;t respect your spacing scale.</p><p>The code is free. The understanding is the expensive part.</p><p>And that understanding? <strong>That&#8217;s what your design system encodes.</strong> Your tokens, your naming conventions, your component intent, your usage guidelines. That&#8217;s the real asset.</p><p>So when people ask me &#8220;will AI replace design systems?&#8221; I tell them: <strong>AI makes design systems more critical than ever.</strong> Because AI generates code. Design systems generate understanding.</p><h2>How an agent actually works</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!80WC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!80WC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 424w, https://substackcdn.com/image/fetch/$s_!80WC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 848w, https://substackcdn.com/image/fetch/$s_!80WC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 1272w, https://substackcdn.com/image/fetch/$s_!80WC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!80WC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png" width="1456" height="595" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:595,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:301714,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/192390627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!80WC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 424w, https://substackcdn.com/image/fetch/$s_!80WC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 848w, https://substackcdn.com/image/fetch/$s_!80WC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 1272w, https://substackcdn.com/image/fetch/$s_!80WC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F864c4d8c-dfb0-45b5-a0ab-bf420932a4ec_1920x785.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Let me make this concrete. One story runs through the entire talk: <strong>a team needs a destructive confirmation dialog.</strong></p><p>A developer says: &#8220;I need a confirmation dialog for deleting a workspace.&#8221;</p><p>Watch what happens when an agent handles this:</p><ol><li><p><strong>Reading context.</strong> It pulls in your component index, your token structure, your usage guidelines.</p></li><li><p><strong>Thinking.</strong> It knows Dialog exists. It knows Button has a <code>destructive</code> variant. It knows Alert has a <code>warning</code> slot.</p></li><li><p><strong>Planning.</strong> Dialog + Alert + two Buttons. Destructive primary, secondary cancel. <code>color.bg.danger</code> for the action, not <code>color.bg.primary</code>.</p></li><li><p><strong>Acting.</strong> It assembles the pattern, applies the right tokens, and generates the code.</p></li></ol><p>What makes it agentic is three things: <strong>autonomy, tool use, and feedback loops.</strong> It doesn&#8217;t just answer a question. It takes action, observes the result, and adjusts.</p><p>But here&#8217;s the key: <strong>none of this works unless the agent has something to read.</strong> The components need to be described. The tokens need intent. The patterns need reasoning.</p><p>That&#8217;s what the rest of this series is about.</p><div><hr></div><h2>Intent changes everything</h2><p>The flow looks like this:</p><p><strong>Intent</strong> (natural language) -&gt; <strong>Context</strong> (extracted dimensions) -&gt; <strong>System output</strong> (specific guidance)</p><p>&#8220;I need a confirmation dialog for deleting a workspace&#8221; is the intent.</p><p>The system extracts five dimensions from that: component type, action severity, user flow, token scope, platform. These are the lenses the agent looks through.</p><p>The output isn&#8217;t a vague suggestion. It&#8217;s specific: Dialog + Alert + 2 Buttons. <code>color.bg.danger</code> token mapping. &#8220;Always pair with cancel&#8221; rule. A link to the Dialog component in Figma. A suggested composition template.</p><p>The agent doesn&#8217;t guess. It reads your system&#8217;s rules through these context layers.</p><p><strong>This only works if those rules exist.</strong></p><div><hr></div><h2>MCP: USB for AI</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zawM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zawM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 424w, https://substackcdn.com/image/fetch/$s_!zawM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 848w, https://substackcdn.com/image/fetch/$s_!zawM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 1272w, https://substackcdn.com/image/fetch/$s_!zawM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zawM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png" width="1456" height="703" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:703,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107635,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/192390627?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zawM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 424w, https://substackcdn.com/image/fetch/$s_!zawM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 848w, https://substackcdn.com/image/fetch/$s_!zawM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 1272w, https://substackcdn.com/image/fetch/$s_!zawM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90add88a-21ed-4788-a1df-2eb190cdf134_1920x927.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For any of this to work, the agent needs to connect to your tools. That&#8217;s where MCP comes in.</p><p><strong>Model Context Protocol</strong> is a standard way for AI agents to connect to external tools. Think of it as USB for AI. Instead of building custom integrations for every tool, you expose your tools as MCP servers and any AI agent can use them.</p><p>My most used MCPs: Figma, GitHub, Storybook, Chromatic, Granola, Notion, Jira, Stylelint, Linear, Mintlify. Each one gives the agent a different slice of context.</p><h3>CLI vs MCP: you need both</h3><p>A practical question I get a lot: do I need MCP for everything?</p><p>No. CLI and MCP serve different purposes.</p><p><strong>CLI is for speed.</strong> Direct command execution. Simple setup. No servers, no schemas. Fast experimentation. Designers can start immediately with local tools. Less context overhead, fewer reasoning loops. Great for single-tool workflows, like tasks happening entirely inside Figma.</p><p><strong>Here&#8217;s what CLI looks like in practice. </strong></p><p>I built a <code>token</code> command that resolves Figma token values straight from the terminal:</p><pre><code><code>$ token color.bg.danger
&#8594; #DC2626 (alias: primitives/red-600)</code></code></pre><p><strong>Or composing a full UI pattern with one shell script:</strong></p><pre><code><code>$ ./patterns/run-pattern.sh destructive-confirmation
&#8594; Creating frame in Figma...
&#8594; Dialog + Alert + Button(destructive) + Button(secondary)
&#8594; Tokens bound: color.bg.danger, color.text.on-danger
&#8594; Done. Check your Figma canvas.</code></code></pre><p>No MCP server running. No schema negotiation. Just a direct HTTP call to a Figma plugin that exposes a local API, and the pattern appears on your canvas (will share more in part 3). You can read token values, compose patterns, and run audits without any agent infrastructure. That&#8217;s the power of CLI: you go from zero to useful in minutes.</p><p><strong>MCP is for scale.</strong> When the agent needs to <strong>orchestrate multiple tools.</strong> Connect Figma, GitHub, Storybook, docs, CI in one flow. The agent understands structured design data: components, tokens, variants. Changes propagate end-to-end from design to code to docs. It enables autonomous agents that detect, analyze, plan, and fix. Standardized protocol that runs in CI pipelines. Scales across teams.</p><p><strong>Where MCP shines </strong>is when the <strong>agent needs to connect the dots across tools.</strong> &#8220;A token changed in Figma. Which components use it? Which pages are affected? What&#8217;s the traffic on those pages? Should I open a PR?&#8221; That&#8217;s four different data sources (Figma, GitHub, PostHog, the knowledge graph) orchestrated in one flow. CLI can&#8217;t do that. MCP can.</p><p><strong>CLI for speed. MCP for scale. The best systems use both.</strong> We used both in our setup: Tidy&#8217;s HTTP API for CLI-speed pattern composition, with MCP&#8217;s structured component and token data for the orchestration layer.</p><div><hr></div><h2>The three layers that make components machine-readable</h2><p>This is where most design systems fall short. I see teams with a component library and tokens, but the agent can&#8217;t do anything useful with them because they&#8217;re missing layers.</p><p>There are three layers an agent needs:</p><h3>Layer 1: The Index</h3><p><strong>What exists, what uses what, what depends on what.</strong></p><p>The agent knows Dialog exists. It knows Button has 4 variants. It knows Alert connects to both. This is the relationship map.</p><p>Without the index, the agent is blind.</p><h3>Layer 2: Metadata</h3><p><strong>This is the how and why. </strong></p><p>The component description for Button says: &#8220;use the destructive variant for irreversible actions, always paired with a cancel option.&#8221;</p><p>That single sentence is what told the agent to add a secondary cancel button. Without metadata, the agent knows components exist but not when to use them.</p><h3>Layer 3: Reasoning</h3><p><strong>The selection logic. </strong></p><p>For a confirmation dialog, compose Dialog + Alert + two Buttons. For a login form, compose Input + Input + Button.</p><p>This is the playbook. Without reasoning, the agent assembles random parts.</p><p><strong>Most design systems today have some of layer one, very little of layer two, and almost none of layer three.</strong> That&#8217;s the gap we need to close.</p><p>And closing it is not a year-long project. Writing 554 component descriptions took me one session with AI. </p><h2>Context makes the same component behave differently</h2><p>Here&#8217;s what context-aware means in practice.</p><p>Same component: <strong>Button.</strong> Three different contexts:</p><ul><li><p><strong>In an alert:</strong> use <code>bg-danger</code>. Intent: destructive action. Always pair with a cancel button.</p></li><li><p><strong>In a card:</strong> use <code>bg-neutral</code>. Intent: secondary action. Don&#8217;t compete with page-level CTAs.</p></li><li><p><strong>In the nav:</strong> use <code>bg-brand</code>. Intent: conversion action. One per nav bar maximum.</p></li></ul><p>Same Accordion component. FAQ gets question-phrased headers (&#8221;How do I reset my password?&#8221;). Settings gets noun-phrased headers (&#8221;Notification settings&#8221;).</p><p>The agent writes different docs for each because it knows WHERE the component lives, not just what it is.</p><p>But here&#8217;s what nobody tells you: <strong>if the agent knows where a component lives, it can infer most of this automatically.</strong></p><p>Take Accordion. The agent sees it in FAQ, in Settings, and in Checkout. Same component. Three different contexts. Now it can write three different sets of documentation without anyone asking.</p><p>It figured that out by looking at 34 instances across 6 products. It can generate do/don&#8217;t examples. It can prioritize: a component on homepage and checkout is more critical than one only in admin.</p><p>The agent doesn&#8217;t just know the component spec. It knows the business context. And you get this for free if you map which pages represent which products.</p><div><hr></div><h2>Plant seeds, not trees</h2><p>I showed two videos in the talk. </p><p>First one: <strong>seeds. </strong>You plant them. You water them. You wait. <strong>Growth is slow but it&#8217;s real.</strong></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;58924964-98ae-4aee-b6fb-cbb207a86d6a&quot;,&quot;duration&quot;:null}"></div><p>Second one: <strong>trees.</strong> You buy them fully grown and drop them into your garden. <strong>Looks impressive on day one.</strong></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;1401fa01-6e40-4d71-af07-147dffc1c071&quot;,&quot;duration&quot;:null}"></div><p>Every team I talk to wants the tree. They want the fully autonomous agent that fixes everything. But that&#8217;s not how this works.</p><p><strong>You have to plant seeds. You have to build the foundation first:</strong> the naming conventions, the token structure, the component descriptions, knowledge graph. Then the automation grows on top of it.</p><p><strong>Without structure, AI amplifies noise at scale.</strong> With structure, it amplifies understanding.</p><div><hr></div><h2>What this means for you</h2><p>If you take one thing from this part of the series, let it be this:</p><p><strong>The asset is not just the code. The asset is the understanding.</strong></p><p>Your design system&#8217;s value isn&#8217;t in the React components or the Figma library. It&#8217;s in the naming conventions, the token intent, the component metadata, the usage reasoning, your knowledge graph. That&#8217;s what AI reads. That&#8217;s what makes the difference between a generic button and a button that belongs in your product.</p><p>Start there. </p><p>The rest of the series shows you how.</p><div><hr></div><p><strong>Next up: Part 3: The Self-Healing Design System</strong> where I&#8217;ll show the architecture, the MCP connections, the knowledge graph, and the self-healing loop that catches problems before they ship.</p><p></p><p>Stay tuned,<br>Romina</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Granola</strong></p><p>If you want to make an extra step when setting up an agentic design system, connect meeting notes to Claude via MCP and start using Granola. &#128293;<br>I use <strong>Granola</strong> and as additional data layer.<br><br>Granola is an AI notepad that transcribes your calls in the background. <br><br>NO MEETING BOTS. <br>No weird "AI assistant has joined the call."<br><br>You take notes as you normally would, and <strong><a href="https://go.granola.ai/romina-kavcic">Granola</a></strong> automatically turns them into structured summaries, action items, and next steps. It works on both Mac and Windows. <br><br>But here's where it gets powerful.<br><br>Granola supports MCP (Model Context Protocol). <br>That means your meeting notes flow straight into Claude or ChatGPT as searchable, queryable context. &#129327;<br><br>Instead of digging through old notes, I ask:<br><br>* "What did we decide about the component API last Tuesday?"<br>* "Pull all action items from client calls this month."<br>* "Summarize feedback from our last three design reviews."<br><br>5 seconds, boom, done. &#9989;<br><br>My workflow:<br><br>&#8618;&#65039; Meeting happens. I add quick notes. Granola transcribes in the background.<br>&#8618;&#65039; Meeting ends. Summary, action items, and next steps are ready instantly.<br>&#8618;&#65039; Recipes (pre-made prompts) help me write follow-ups or prep for the next call.<br>&#8618;&#65039; Zapier pushes action items to Linear, Jira, wherever work lives.<br>&#8618;&#65039; MCP connects it all to Claude. Every past conversation becomes a context I can query.<br><br>Try it and thank me later &#9786;&#65039; <strong><a href="https://go.granola.ai/romina-kavcic">I've got a link to a free month </a></strong></p><div><hr></div><p><strong>Recommended read &#8594; UX + AI </strong>written by<strong> </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Ileana&quot;,&quot;id&quot;:48566145,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/675d4668-f540-4240-bd26-d0c0600e02a7_1200x1200.jpeg&quot;,&quot;uuid&quot;:&quot;f9ea2581-7aa9-4f03-ba13-6b2297992033&quot;}" data-component-name="MentionToDOM"></span> &#10024;</p><p>This is a space for curious minds who care about how we design, build, and think about digital products in a world shaped by AI. Really recommend you follow Ileana and learn something new every week. </p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:187398456,&quot;url&quot;:&quot;https://ileanamarcut.substack.com/p/product-manager-designer-skills-overlap&quot;,&quot;publication_id&quot;:5103992,&quot;publication_name&quot;:&quot;UX + AI&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!5nJF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a082fbf-6344-4bdd-919d-be9670ab4d24_400x400.png&quot;,&quot;title&quot;:&quot;Product in the Age of AI: When Product Manager and Designer Skills Start to Overlap&quot;,&quot;truncated_body_text&quot;:&quot;Over the last two years, the rise of AI has reshaped the design world.&quot;,&quot;date&quot;:&quot;2026-02-12T11:10:52.182Z&quot;,&quot;like_count&quot;:66,&quot;comment_count&quot;:28,&quot;bylines&quot;:[{&quot;id&quot;:48566145,&quot;name&quot;:&quot;Ileana&quot;,&quot;handle&quot;:&quot;ileanamarcut&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/675d4668-f540-4240-bd26-d0c0600e02a7_1200x1200.jpeg&quot;,&quot;bio&quot;:&quot;Product Strategist, UX Designer, Founder at Creative Glue Lab. Clarity and insights on how to build and design with and for AI.&quot;,&quot;profile_set_up_at&quot;:&quot;2025-05-22T16:56:55.125Z&quot;,&quot;reader_installed_at&quot;:&quot;2025-05-29T17:42:10.226Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:5206541,&quot;user_id&quot;:48566145,&quot;publication_id&quot;:5103992,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:5103992,&quot;name&quot;:&quot;UX + AI&quot;,&quot;subdomain&quot;:&quot;ileanamarcut&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Build better experiences in a world shaped by AI.\nPractical insights at the intersection of UX, AI, and Product Strategy.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a082fbf-6344-4bdd-919d-be9670ab4d24_400x400.png&quot;,&quot;author_id&quot;:48566145,&quot;primary_user_id&quot;:48566145,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2025-05-23T09:59:50.455Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Ileana Marcut&quot;,&quot;founding_plan_name&quot;:&quot;Build Better&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;magaziney&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:null}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:1,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;subscriber&quot;,&quot;tier&quot;:1,&quot;accent_colors&quot;:null},&quot;paidPublicationIds&quot;:[4097137,5380707,1252952],&quot;subscriber&quot;:null}},{&quot;id&quot;:27968736,&quot;name&quot;:&quot;Karo (Product with Attitude)&quot;,&quot;handle&quot;:&quot;karozieminski&quot;,&quot;previous_name&quot;:&quot;Karo&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!aG8-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599e664e-d6b8-4249-814a-4feadc68d706_1096x1096.png&quot;,&quot;bio&quot;:&quot;AI Product Manager turning everyone into AI-native builders. I help you design &amp; build with AI, not just use it. I build tools to grow your newsletter and showcase your work. Join a 14K+ community growing critical AI literacy by immersion.&quot;,&quot;profile_set_up_at&quot;:&quot;2022-09-06T13:48:06.095Z&quot;,&quot;reader_installed_at&quot;:&quot;2025-02-12T01:33:13.001Z&quot;,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:100,&quot;status&quot;:{&quot;bestsellerTier&quot;:100,&quot;subscriberTier&quot;:10,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:100},&quot;paidPublicationIds&quot;:[1105980,3266189,5380707,378002,5569874,4613350,2833541,2817779,1252952,3138516,4937949,6925112,5500944,4089894],&quot;subscriber&quot;:null},&quot;primaryPublicationId&quot;:4097137,&quot;primaryPublicationName&quot;:&quot;Product with Attitude&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://karozieminski.substack.com&quot;,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://karozieminski.substack.com/subscribe?&quot;},{&quot;id&quot;:31598723,&quot;name&quot;:&quot;Elena | AI Product Leader&quot;,&quot;handle&quot;:&quot;elenacalvillo&quot;,&quot;previous_name&quot;:&quot;Elena Calvillo at Product&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!RnEf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad6b36c8-e5a6-4820-b875-e7165528aae9_3000x3000.jpeg&quot;,&quot;bio&quot;:&quot;Teaching PMs to lead through technical clarity. I bridge strategy and architecture to kill ambiguity and make decisions stick. I build the products I once wrote about so you can stop asking permission and lead through evidence. Trusted by Reforge.&quot;,&quot;profile_set_up_at&quot;:&quot;2022-08-10T15:37:29.282Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-08-15T19:00:25.382Z&quot;,&quot;twitter_screen_name&quot;:&quot;melenacalvillo&quot;,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:10,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;subscriber&quot;,&quot;tier&quot;:10,&quot;accent_colors&quot;:null},&quot;paidPublicationIds&quot;:[10845,5569874,4097137,443311,3266189,4443372,4640380,5032182,5495909,2252793,1077462,3144118,2533420,1553477,1272495,2586083,1524130,1050136,2960395,2569,6925112,4806510,5500944,2727865,6335167],&quot;subscriber&quot;:null},&quot;primaryPublicationId&quot;:1252952,&quot;primaryPublicationName&quot;:&quot;Prompt-Led Product | Leadership Through Technical Clarity&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://promptledproduct.substack.com&quot;,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://promptledproduct.substack.com/subscribe?&quot;},{&quot;id&quot;:351329584,&quot;name&quot;:&quot;Just J&quot;,&quot;handle&quot;:&quot;theaitrain&quot;,&quot;previous_name&quot;:&quot;Jesica&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!G5kx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1909bb44-fb91-47ca-9e3b-0bd379bfc4f8_576x576.png&quot;,&quot;bio&quot;:&quot;AI is here to stay so get on board! I combine a tech mindset with business and human transformation. I help teams &amp; companies shape strategies, improve products &amp; grow with AI.&quot;,&quot;profile_set_up_at&quot;:&quot;2025-06-05T14:40:43.642Z&quot;,&quot;reader_installed_at&quot;:null,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;status&quot;:null,&quot;primaryPublicationId&quot;:6964655,&quot;primaryPublicationName&quot;:&quot;The AI train&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://theaitrain.substack.com&quot;,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://theaitrain.substack.com/subscribe?&quot;}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://ileanamarcut.substack.com/p/product-manager-designer-skills-overlap?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!5nJF!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a082fbf-6344-4bdd-919d-be9670ab4d24_400x400.png" loading="lazy"><span class="embedded-post-publication-name">UX + AI</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Product in the Age of AI: When Product Manager and Designer Skills Start to Overlap</div></div><div class="embedded-post-body">Over the last two years, the rise of AI has reshaped the design world&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">2 months ago &#183; 66 likes &#183; 28 comments &#183; Ileana, Karo (Product with Attitude), Elena | AI Product Leader, and Just J</div></a></div><p><strong>&#128279; <a href="https://ileanamarcut.substack.com/">Link </a></strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[What Design Systems Can Learn From Vector Databases]]></title><description><![CDATA[Agentic Design Systems, part 1]]></description><link>https://learn.thedesignsystem.guide/p/what-design-systems-can-learn-from</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/what-design-systems-can-learn-from</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sat, 14 Mar 2026 14:05:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hrBh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><p><em>I am <strong>not</strong> affiliated with any of the suggested tools</em> </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hrBh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hrBh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!hrBh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!hrBh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!hrBh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hrBh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1367981,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/190848778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hrBh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!hrBh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!hrBh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!hrBh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b16f804-a680-44fe-bccb-fc0ab193e24c_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I know what you&#8217;re thinking.</p><p>&#8220;Vector databases? That&#8217;s for AI engineers and data scientists. What does that have to do with my design system?&#8221;</p><p>Here&#8217;s the thing: Vector databases solve a problem that design systems desperately need to solve, too.</p><p>They organize information by <strong>meaning</strong>, not just by structure.</p><p>And that changes everything.</p><p></p><h3>The Problem With How We Organize Design Systems Today</h3><p>Right now, your design system is probably organized like a SQL database.</p><p>You have rigid hierarchies:</p><ul><li><p>Components &#8594; Buttons &#8594; Primary &#8594; Hover State</p></li><li><p>Tokens &#8594; Color &#8594; Background &#8594; Primary</p></li></ul><p>It&#8217;s clean. It&#8217;s logical. It works.</p><p>But here&#8217;s what it doesn&#8217;t do: It doesn&#8217;t help you find things based on <strong>what they mean</strong> or <strong>why you&#8217;d use them</strong>.</p><p>When a designer asks, &#8220;What should I use for a destructive action?&#8221; they have to translate that intent into your taxonomy. Is that a &#8220;danger button&#8221;? A &#8220;negative action&#8221;? A &#8220;warning state&#8221;?</p><p>You didn&#8217;t have to memorize the exact folder structure in your brain. You just had to know the right keywords.</p><p>But what if your design system could understand <em>intent</em>?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m9ZA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m9ZA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 424w, https://substackcdn.com/image/fetch/$s_!m9ZA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 848w, https://substackcdn.com/image/fetch/$s_!m9ZA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 1272w, https://substackcdn.com/image/fetch/$s_!m9ZA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m9ZA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png" width="1408" height="634" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:634,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:575386,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/190848778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!m9ZA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 424w, https://substackcdn.com/image/fetch/$s_!m9ZA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 848w, https://substackcdn.com/image/fetch/$s_!m9ZA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 1272w, https://substackcdn.com/image/fetch/$s_!m9ZA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5af52c-32e7-4a4a-8811-0aebbc2733c5_1408x634.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>How Vector Databases Actually Work</h3><p>Let me show you what I mean.</p><p>Vector databases don&#8217;t store data in rows and columns. They store <strong>meaning</strong> as high-dimensional numerical coordinates.</p><p>Here&#8217;s a simple example:</p><p>When you search for &#8220;king&#8221; in a vector database, it doesn&#8217;t just find exact matches. It finds concepts that are <em>semantically similar</em>:</p><ul><li><p>&#8220;queen&#8221; (same domain, different gender)</p></li><li><p>&#8220;monarch&#8221; (same meaning, different word)</p></li><li><p>&#8220;ruler&#8221; (related concept)</p></li></ul><p>The database understands that these concepts cluster together in meaning-space.</p><p>Now imagine applying that to your design system.</p><h3>What Changes for Humans</h3><h4>You Can Search by Intent, Not Just by Name</h4><p>Instead of browsing through component categories, you could ask:</p><blockquote><p>&#8220;Show me all patterns that convey urgency&#8221;</p></blockquote><p>And your design system would return:</p><ul><li><p>Error messages</p></li><li><p>Warning banners</p></li><li><p>Destructive action buttons</p></li><li><p>Toast notifications with alert icons</p></li><li><p>Red status indicators</p></li></ul><p>These components live in completely different parts of your taxonomy. But they share <strong>semantic meaning</strong>.</p><p>That&#8217;s the power of meaning-based organization.</p><p></p><h4>You Can Finally Solve the &#8220;New Component vs. Variant&#8221; Debate</h4><p>I&#8217;ve sat through countless design system meetings where teams debate:</p><blockquote><p>&#8220;Do we need a new component, or is this just a variant of what we have?&#8221;</p></blockquote><p>I&#8217;ve seen this firsthand. When you&#8217;re looking at a system with 50, 80, even close to 100 components, the overlaps become invisible. Manual audits catch some of them. But naming differences, context differences, and organic growth across teams create duplicates that no spreadsheet review will surface.</p><p>Vector logic could actually quantify similarity between components.</p><p>Compare two components based on:</p><ul><li><p>Visual embeddings (how they look in Figma)</p></li><li><p>Code structure (how they&#8217;re built)</p></li><li><p>Token usage (what design decisions they share)</p></li><li><p>Usage context (where they appear in products)</p></li></ul><p></p><p>If two components score high similarity across these dimensions, you probably don&#8217;t need both.</p><p>You might be wondering, &#8220;How accurate is this really?&#8221;</p><p>That&#8217;s fair. But here&#8217;s what I&#8217;ve learned: You don&#8217;t need perfect similarity scores. You need <strong>better visibility into what you already have</strong>.</p><p>Even a rough similarity map helps you spot duplicates that manual audits miss.</p><p></p><h3>What Changes for Agents</h3><h4>AI Tools Actually Know What to Use</h4><p></p><p><strong>Here&#8217;s where it gets interesting for agentic design.</strong></p><p>Right now, when an AI tool generates a UI, it relies on your component names and descriptions. It&#8217;s essentially doing keyword matching.</p><p>But with vector-based context retrieval, the AI could understand:</p><blockquote><p>&#8220;I&#8217;m building a form validation error. What components, patterns, tokens, and accessibility guidelines are semantically related to this task?&#8221;</p></blockquote><p>The system retrieves:</p><ul><li><p>Similar error patterns from your existing designs</p></li><li><p>The correct tokens (not just &#8220;red&#8221; but &#8220;color.feedback.error&#8221;)</p></li><li><p>Accessibility requirements for error announcements</p></li><li><p>Validation timing patterns</p></li><li><p>Microcopy guidelines for error messages</p></li></ul><p>All pulled together by <strong>meaning</strong>, not by manual tagging.</p><p></p><h4>Design Tokens Could Become Behavioral</h4><p>Traditional tokens store <strong>values</strong>: <code>color.blue.500</code> = <code>#3B82F6</code></p><p>Vector-inspired tokens could store <strong>behavioral meaning</strong>:</p><ul><li><p>How assertive (0.8 on a scale)</p></li><li><p>How calm (0.2)</p></li><li><p>How noticeable (0.9)</p></li></ul><p>Now imagine an adaptive interface that reads the user&#8217;s context and adjusts its tone.</p><p>Picture a checkout flow. The payment fails. Instead of the UI just swapping in a red banner, the entire interface shifts. Visual assertiveness dials down. Calmness increases. The system isn&#8217;t just showing an error state. It&#8217;s modulating the experience to match the emotional weight of the moment.</p><p>A celebration moment? It cranks up energy and noticeability.</p><p>The same components, but <strong>contextually tuned</strong> based on meaning vectors, not just static values.</p><p></p><h4>Components Gain Semantic Elasticity</h4><p>In agentic systems, context determines behavior.</p><p>Take a toast notification. It can:</p><ul><li><p>Confirm a successful action</p></li><li><p>Warn about a risky operation</p></li><li><p>Inform about system status</p></li><li><p>Celebrate an achievement</p></li></ul><p>Right now, you&#8217;d handle these with separate variants or different components entirely.</p><p>But with vectorized meaning, a single component could <strong>adapt</strong> based on detected intent.</p><p>The system reads the context (&#8221;this is a celebration&#8221;) and adjusts:</p><ul><li><p>Color intensity</p></li><li><p>Animation style</p></li><li><p>Icon selection</p></li><li><p>Duration on screen</p></li></ul><p>All semantically informed, not hardcoded.</p><p>Compare that to manually coding every possible variant upfront. The difference is massive.</p><p></p><h4>The Reality Check</h4><p>Let me be honest: Most design systems aren&#8217;t ready for this yet.</p><p>This isn&#8217;t because the technology doesn&#8217;t exist. Vector databases are mature. Embedding models are accessible.</p><p>The challenge is conceptual.</p><p>We&#8217;ve built design systems around <strong>structure</strong>: hierarchies, taxonomies, strict naming conventions.</p><p>Shifting to <strong>meaning-based organization</strong> requires rethinking:</p><ul><li><p>How we document components</p></li><li><p>How we describe patterns</p></li><li><p>How we train our teams</p></li><li><p>How AI tools interact with our systems</p></li></ul><p>It&#8217;s a fundamental shift from &#8220;what is this thing called?&#8221; to &#8220;what does this thing mean?&#8221;</p><p></p><h3>What This Actually Looks Like</h3><p>You don&#8217;t have to rebuild your entire design system around vectors tomorrow.</p><p>But you can start thinking differently today.</p><p>Here&#8217;s what that might look like:</p><p><strong>Start with documentation:</strong></p><ul><li><p>Add semantic descriptions to components: &#8220;This pattern expresses urgency and requires immediate attention.&#8221;</p></li><li><p>Tag components with intent, not just categories: &#8220;confirmation,&#8221; &#8220;prevention,&#8221; &#8220;celebration.&#8221;</p></li><li><p>Describe usage contexts: &#8220;Use when the user needs reassurance that their action succeeded.&#8221;</p></li></ul><p><strong>Experiment with embeddings:</strong></p><ul><li><p>Generate vector embeddings for your component descriptions</p></li><li><p>Build a simple similarity search</p></li><li><p>See what clusters emerge naturally</p></li></ul><p><strong>Augment, don&#8217;t replace:</strong></p><ul><li><p>Keep your existing taxonomy</p></li><li><p>Layer semantic search on top</p></li><li><p>Let both approaches coexist</p></li></ul><p>The next generation of design systems will likely blend:</p><ul><li><p><strong>Token databases</strong> (structured facts)</p></li><li><p><strong>Vector databases</strong> (semantic meaning)</p></li><li><p><strong>Context engines</strong> (runtime reasoning)</p></li></ul><p></p><p><strong>&#10145;&#65039; That&#8217;s how you get agentic design systems. Systems that understand </strong><em><strong>why</strong></em><strong> a component exists, not just </strong><em><strong>what</strong></em><strong> it&#8217;s called.</strong></p><p></p><h3>Try This</h3><p>If you&#8217;re ready to experiment, here&#8217;s where to start:</p><ol><li><p>Pick 10-20 components from your system</p></li><li><p>Add a semantic description for each: What&#8217;s its purpose? When would you use it? What feeling does it convey?</p></li><li><p>Use an embedding model (OpenAI&#8217;s text-embedding-3-small works well) to generate vectors</p></li><li><p>Run similarity comparisons between them</p></li><li><p>Look at what clusters together</p></li></ol><p></p><p>You might discover patterns you didn&#8217;t know existed.</p><p>You might find duplicates hiding under different names.</p><p>You might see how your system could be organized by meaning instead of taxonomy.</p><p>And that&#8217;s when design systems start to get really interesting. &#128579;</p><p></p><p><strong>Next week, I will share more about Agentic Design Systems, my setup, and MCP. &#10024; </strong></p><p></p><p>Stay tuned,<br>Romina</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Building Effective AI Coding Agents for the Terminal: Scaffolding, Harness, Context Engineering, and Lessons Learned</strong></p><p>AI agents suffer from the same problem as large design systems:</p><p>Context collapse. A new 55-page paper on terminal coding agents explains why.&#128071;</p><p>AI agents in long sessions forget their instructions, bloat their context, and start making bad decisions.</p><p><strong>&#128279; <a href="https://arxiv.org/abs/2603.05344">Link</a> </strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Should you build an agent for your design system]]></title><description><![CDATA[When and why to build one]]></description><link>https://learn.thedesignsystem.guide/p/should-you-build-an-agent-for-your</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/should-you-build-an-agent-for-your</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sat, 28 Feb 2026 08:55:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Y3Eh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><p><em>I am <strong>not</strong> affiliated with any of the suggested tools</em> </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y3Eh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:966148,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/189349675?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!Y3Eh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0975b28-6edb-4e62-b15a-0053fdd9e30b_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Everyone wants to add AI agents to everything right now. Your design system is no exception.</p><p>Someone on your team has already suggested it. &#8220;What if we built an agent that validates token usage?&#8221; </p><p>Let me give you a framework to figure out when an agent actually makes sense, when a simple workflow does the job, and when you should just write a shell script and move on with your life.</p><div><hr></div><h2>First, what is an agent?</h2><p>An agent is an LLM that<strong> can use tools and take actions. </strong>Not just answer questions. Act.</p><p>That&#8217;s the key difference from a regular AI chat. When you ask ChatGPT or Claude a question, it generates a response and stops. It lives entirely inside the conversation. It can&#8217;t open your files, check your codebase, run a command, or push a commit. It can only talk.</p><p>An agent can do all of those things. It has access to tools such as your file system, terminal, APIs, design token files, and Figma. When you give it a task, it doesn&#8217;t just tell you what to do. It reads your code, finds the problem, writes a fix, runs the tests, and tells you what happened. Then it decides what to do next based on the result. If the tests fail, it reads the error, adjusts, and tries again.</p><p>Here&#8217;s what that looks like in practice. You tell an agent: &#8220;Check if our Button component matches the Figma design.&#8221; The agent:</p><ol><li><p>Connects to <strong>Figma&#8217;s API</strong> and pulls the design specs for the Button component.</p></li><li><p>Reads your <strong>component source code</strong> to understand the current implementation.</p></li><li><p>Launches a <strong>browser</strong> using Playwright, navigates to your Storybook, and takes a screenshot of the rendered Button.</p></li><li><p>Compares the screenshot against the Figma design and flags differences: wrong padding, missing hover state, border-radius off by 2px.</p></li><li><p>Writes a <strong>summary</strong> with specific suggestions and the exact lines of code to change.</p></li></ol><p>No single tool does all of that. The agent stitched five tools together on its own and decided the order. That&#8217;s the difference. A chat would have told you <em>how</em> to do the comparison. The agent <em>did</em> it.</p><p>So, you tell it what you need, and it figures out the steps. Sometimes it asks for clarification. Sometimes it goes down the wrong path and corrects itself. Sometimes it nails it on the first try.</p><p>The other key difference is from a workflow: an agent chooses its own path. A workflow follows steps you defined in advance. When the task is predictable, a workflow wins. When the task requires adapting to what it finds along the way, that&#8217;s where agents earn their keep.</p><h3>How do you actually make an agent?</h3><p>You don&#8217;t need to write code to use an agent. Tools like <a href="https://docs.anthropic.com/en/docs/claude-code">Claude Code</a>, <a href="https://cursor.com">Cursor</a>, and <a href="https://github.com/features/copilot">GitHub Copilot</a> are agents you can use right now. Open a terminal, point Claude Code at your codebase, and ask it to do something. That&#8217;s it. You&#8217;re using an agent.</p><p>But if you want to build your own, the format is simpler than you&#8217;d expect. At its core, an agent is just three things:</p><ol><li><p><strong>Instructions.</strong> A markdown file or system prompt that tells the agent who it is, what it knows, and how it should behave. Think of it as the job description for your intern.</p></li><li><p><strong>Tools.</strong> What the agent can actually do. Read files, search code, call APIs, run commands, edit files. You decide what to give it access to.</p></li><li><p><strong>A loop.</strong> The agent reads its instructions, picks a tool, uses it, looks at the result, and decides what to do next. It keeps going until the task is done or it gets stuck.</p></li></ol><p></p><p>That&#8217;s the whole architecture. Instructions, tools, loop.</p><p></p><p>For design systems specifically, the most common entry points are:</p><ul><li><p><strong>Claude Code with a CLAUDE.md file.</strong> You write a markdown file describing your design system&#8217;s conventions, token structure, component patterns, and coding standards. The agent reads it before every task. This is the lowest-effort way to get a design-system-aware agent.</p></li><li><p><strong>Custom MCP servers.</strong> The <a href="https://modelcontextprotocol.io/">Model Context Protocol</a> lets you expose your design tokens, component docs, or Figma data as tools an agent can query. Your agent can now look up your actual token values, not guess at them.</p></li><li><p><strong>SDKs for full control.</strong> Anthropic&#8217;s <a href="https://github.com/anthropics/anthropic-sdk-python">Agent SDK</a>, OpenAI&#8217;s <a href="https://platform.openai.com/docs/assistants/overview">Assistants API</a>, and frameworks like <a href="https://www.langchain.com/">LangChain</a> let you build agents programmatically. More power, more complexity. Only go here if the simpler options aren&#8217;t enough.</p></li></ul><p>You don&#8217;t need to start with SDKs. Start simple with Claude Code and a well-written CLAUDE.md file. Start there.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k07n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k07n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 424w, https://substackcdn.com/image/fetch/$s_!k07n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 848w, https://substackcdn.com/image/fetch/$s_!k07n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 1272w, https://substackcdn.com/image/fetch/$s_!k07n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k07n!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png" width="1200" height="654.3956043956044" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:615298,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/189349675?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!k07n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 424w, https://substackcdn.com/image/fetch/$s_!k07n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 848w, https://substackcdn.com/image/fetch/$s_!k07n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 1272w, https://substackcdn.com/image/fetch/$s_!k07n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90de4e0e-a05d-4979-bb5d-c1f64cdeb949_3022x1648.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>Agents have opinions</h3><p>And agents have opinions. A <a href="https://amplifying.ai/research/claude-code-picks">recent study of 2,430 Claude Code interactions</a> found that in 12 out of 20 task categories, the agent chose to build a custom solution rather than recommend an existing tool. Asked to add feature flags? It builds a config system from scratch instead of reaching for LaunchDarkly. Asked about authentication? It implements JWT + bcrypt rather than suggesting Auth0.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jkg5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jkg5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 424w, https://substackcdn.com/image/fetch/$s_!Jkg5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 848w, https://substackcdn.com/image/fetch/$s_!Jkg5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 1272w, https://substackcdn.com/image/fetch/$s_!Jkg5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jkg5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png" width="1456" height="1733" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1733,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:583217,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/189349675?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Jkg5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 424w, https://substackcdn.com/image/fetch/$s_!Jkg5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 848w, https://substackcdn.com/image/fetch/$s_!Jkg5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 1272w, https://substackcdn.com/image/fetch/$s_!Jkg5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1f5504-9c57-463b-a833-09f64a64d0c0_2268x2700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This matters for design systems. Point an agent at your token validation problem and it will happily build you a custom solution. That might be exactly what you need. Or you might have been better off with an ESLint plugin that already exists. The agent won&#8217;t make that call for you. You have to.</p><div><hr></div><h2>The hype is real, but so is the waste</h2><p><strong>Peter Steinberger, </strong>creator of OpenClaw (the fastest-growing GitHub project ever), just joined OpenAI. His mission: &#8220;<em>build an agent that even my mum can use.</em>&#8221; Gartner published a report on February 13 about &#8220;context graphs&#8221; as essential infrastructure for agentic systems. Enterprise is all-in.</p><p>But Anthropic, the company behind Claude, says something much more grounded in their &#8220;Building Effective Agents&#8221; guide: <strong>find the simplest solution possible, and only increase complexity when needed.</strong></p><p>That&#8217;s worth repeating. The company selling you AI agents is telling you not to build agents unless you have to.</p><p>Why? Because <strong>agents trade latency and cost for better task performance.</strong> They <strong>consume roughly 4x more </strong>tokens than simple chat interactions. Multi-agent systems? Try 15x. And when something goes wrong, you don&#8217;t get a nice red error message. You get a token bill that looks like someone put an API call inside an infinite loop.</p><p>For most design system work, a workflow or a well-written script will outperform an agent. Less cost, faster execution, more predictable results.</p><p>By the way, these are<strong> typical token drivers:</strong></p><ul><li><p>System + tool schemas &#8594; High upfront cost</p></li><li><p>Planning / reasoning loops  &#8594; Medium&#8211;high</p></li><li><p>Tool outputs re-ingested &#8594; High</p></li><li><p>Memory retrieval &#8594; Medium</p></li><li><p>Self-reflection / retries  &#8594; High</p><p></p></li></ul><p>&#10024; A simple chat = 1 request &#8594; 1 response<br>&#10024; An agent = plan &#8594; act &#8594; observe &#8594; reflect &#8594; retry</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://skillsmp.com/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IkBY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 424w, https://substackcdn.com/image/fetch/$s_!IkBY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 848w, https://substackcdn.com/image/fetch/$s_!IkBY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 1272w, https://substackcdn.com/image/fetch/$s_!IkBY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IkBY!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png" width="1200" height="652.7472527472528" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26af4037-2eab-4246-b042-935f97180efb_3018x1642.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:792,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:624390,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://skillsmp.com/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/189349675?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IkBY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 424w, https://substackcdn.com/image/fetch/$s_!IkBY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 848w, https://substackcdn.com/image/fetch/$s_!IkBY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 1272w, https://substackcdn.com/image/fetch/$s_!IkBY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af4037-2eab-4246-b042-935f97180efb_3018x1642.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h6>Agent Skills are modular capabilities that extend AI coding assistants. Each skill consists of a SKILL.md file with instructions, plus optional scripts and templates. In December 2025, Anthropic released the Agent Skills specification as an open standard, and OpenAI adopted the same format for Codex CLI and ChatGPT. Skills are model-invoked&#8212;the AI automatically decides when to use them based on context.</h6><p>&#128279; https://skillsmp.com/</p><div><hr></div><h2>A five-question checklist</h2><p></p><p><strong>1. Is the task complex enough?</strong></p><p>If the task follows the same steps every time, you want a workflow. If it requires judgment, adaptation, and handling unexpected situations, you might want an agent.</p><p><em>Token linting</em> is a workflow. You know the rules. Check if raw hex values are used instead of tokens. Flag primitive tokens used directly in components. Run it on every PR. Done. No agent needed.</p><p>But reviewing a new component design against your entire design system&#8217;s guidelines, considering context, brand, accessibility, and platform constraints? That requires judgment. That&#8217;s agent territory.</p><p><strong>2. Is the task valuable enough?</strong></p><p>If each task run saves less than $0.10 of human time, use a workflow. If it saves more than $1.00 per run, an agent starts making economic sense.</p><p>Checking a file for unused imports? Pennies. Not worth an agent.</p><p>Migrating 200 components from one token schema to another, where each component needs contextual decisions about which new token maps to the old one? That&#8217;s hours of human work per component. An agent pays for itself on the first run.</p><p><strong>3. Are all parts of the task doable?</strong></p><p>This one trips people up. If your agent needs to access Figma&#8217;s internal rendering engine, read a designer&#8217;s mind about intent, or make pixel-perfect visual comparisons without any ground truth, you don&#8217;t have an agent problem. You have a scope problem. Reduce it until every step is technically feasible.</p><p><strong>4. What is the cost of error?</strong></p><p>High cost of error means read-only access and human-in-the-loop. Low cost of error means you can let agents run autonomously.</p><p>An agent that suggests documentation updates? Low risk. A human reviews before publishing. Let it run.</p><p>An agent that automatically pushes token changes to production across 12 codebases? Extremely high risk. One wrong semantic mapping, and your entire product suite has the wrong error colors. Keep this read-only, with human approval gates at every step.</p><p><strong>5. Can you trust the output?</strong></p><p>There&#8217;s a design systems angle to agents that almost nobody is discussing yet. Design systems are trust infrastructure. </p><p>Teams adopt your tokens, components, and patterns because they produce consistent, predictable results every time. <em>Agents introduce variability. </em>Run the same prompt twice, and you might get two different outputs. That&#8217;s fine for a blog draft. It&#8217;s a problem when the agent is deciding which semantic token maps  <code>color.background.danger</code> across your component library. </p><p>So before you deploy an agent into any design system workflow, ask yourself: is the output deterministic enough that teams can rely on it? Can you audit what the agent did and why? Can someone else reproduce the result? And when the agent makes a choice, can it explain its reasoning in terms your team actually understands? If the answer to any of those is no, you don&#8217;t have an agent problem. You have a governance gap. Close it before you ship.</p><p></p><p><strong>Three core principles for agents from Anthropic:</strong></p><ol><li><p><strong>Simplicity</strong> in design</p></li><li><p><strong>Transparency</strong> &#8594; explicitly show planning steps</p></li><li><p><strong>Careful ACI (agent-computer interface)</strong> &#8594; invest heavily in tool documentation and testing</p></li></ol><div><hr></div><h2>Applying this to real design system work</h2><p>Let me walk through five common scenarios.</p><h3>Token validation &#8594; Workflow</h3><p>The rules are static. You know exactly what correct looks like. Check if raw hex values are used instead of tokens, flag primitives used directly in components. AST parsing and token matching are solved problems. Each individual check is cheap, and false positives are just noise.</p><p>Write a linter. Run it in CI. Done.</p><h3>Component documentation generation &#8594; Agent with human review</h3><p>This one gets interesting. Reading code, extracting props, understanding usage patterns, writing clear descriptions. There&#8217;s real judgment involved. And documentation is the #1 complaint about every design system, so the payoff is high.</p><p>But bad docs are annoying, not destructive. So scope it to generating drafts. The agent handles the tedious extraction and first pass. You handle the voice and accuracy check. A human approves before merging.</p><h3>Design review against guidelines &#8594; Scoped agent</h3><p>Context matters enormously here. A red button is fine in a destructive action confirmation, wrong in a success state. Manual design reviews are a bottleneck for every team, so the value is obvious.</p><p>The problem is feasibility. Visual comparison is hard. Semantic analysis of intent is harder. And bad feedback wastes designer time and erodes trust.</p><p>So reduce scope to what&#8217;s actually doable. Token usage, spacing consistency, accessibility requirements. Leave subjective judgment (layout quality, visual harmony) to humans. Be honest about what the agent can and cannot evaluate.</p><h3>Cross-codebase migration &#8594; Agent with strict guardrails</h3><p>This is where agents genuinely shine. Every component has unique context, dependencies, and edge cases. Migrations eat months of team time. It&#8217;s the single most valuable automation you could build.</p><p>But it&#8217;s also the most dangerous. One wrong semantic mapping and your entire product suite has the wrong error colors.</p><p>Run agents with read-only access first. Generate migration PRs for human review. Never auto-merge. Test each migration against visual regression snapshots before approving.</p><h3>Generating new components from Figma &#8594; Agent</h3><p>Translating design intent to production code involves many judgment calls. Hours saved per component. Tools like Claude Code already do this well when given proper context (your existing components, tokens, and conventions).</p><p>The agent generates a first pass. A developer refines it. Bad code gets caught in review. This cuts component creation time from days to hours.</p><div><hr></div><h2>The &#8220;90% workflow&#8221; test</h2><p>Anthropic&#8217;s framework includes a brutally practical insight. Track your agent runs for a month. If the agent does the same tasks in the same order for 90% or more of cases, you&#8217;ve discovered a workflow hiding inside an agent.</p><p>Convert it. You&#8217;ll get faster execution, lower costs, and more predictable results.</p><p>Most design system automation falls into this category. Token syncing, changelog generation, accessibility checks, component scaffolding. These are all repetitive, well-defined tasks. Build them as workflows. Save agents for the genuinely complex work.</p><div><hr></div><h2>Start here</h2><p>If you&#8217;re considering agents for your design system, start with this:</p><ol><li><p><strong>Audit your manual tasks.</strong> List everything your team does repeatedly and time needed for each one.</p></li><li><p><strong>Score each task against the four questions.</strong> Be honest about complexity and error cost.</p></li><li><p><strong>Build workflows first.</strong> Linters, CI checks, and scripts handle 80% of design system automation needs.</p></li><li><p><strong>Pilot one agent use case.</strong> Pick the highest-value, lowest-risk task from your audit. Documentation generation is usually the safest starting point.</p></li><li><p><strong>Measure ruthlessly.</strong> Track time saved, error rates, and token costs. If the agent isn&#8217;t clearly outperforming a workflow, simplify.</p></li></ol><p>The goal isn&#8217;t to have the most sophisticated AI setup. The goal is to free your team from repetitive work so they can focus on what actually matters: making decisions about your system&#8217;s direction, quality, and adoption.</p><p>Don&#8217;t build an agent because you can. Build one because nothing simpler will do the job.</p><div><hr></div><h2>The real way to learn this</h2><p>Pick a small problem you actually have. A report you have to manually compile. A workflow that&#8217;s tedious. A prototype you wish existed.</p><p>Spend 30 minutes writing context before you prompt. Not the prompt itself. The context. What the problem is, who it&#8217;s for, what good looks like, what constraints exist. </p><p>Point an agent at it and watch what happens. Don&#8217;t expect perfection. Expect a starting point. React to it. Guide it. Iterate.</p><p>Do this ten times. With different problems. Different levels of complexity. You&#8217;ll develop intuition for what works, what context matters, how to evaluate output. </p><p>The hard part is still the same thing&#8594; understanding the problem, user empathy, judgment, taste.</p><p>Those don&#8217;t get automated. They get more valuable. &#128588;</p><p></p><p>Start building,<br>Romina</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Component Odyssey (Course)</strong></p><p>Learn to build and publish your own component library that works in any web framework.</p><p>Save yourself and your company weeks of development time. Build components your users will love. Become a future-proof web developer.</p><p><strong>&#128279; <a href="https://component-odyssey.com/">Link</a> </strong></p><p><br><strong>Paper (just launched)</strong></p><p>The connected canvas for teams shipping with agents.</p><p>&#128279;<a href="https://www.linkedin.com/posts/activity-7426596617509789696-lroo?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAIm0UIB6YXIAMl4tTZJpr6OKeGfXLHdRoY"> </a><strong><a href="https://paper.design/">Link</a></strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[20 AI workflows that save design system teams 10+ hours a week]]></title><description><![CDATA[Get some inspiration and start building]]></description><link>https://learn.thedesignsystem.guide/p/20-ways-to-use-ai-this-year-for-design</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/20-ways-to-use-ai-this-year-for-design</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 13 Feb 2026 13:15:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y95Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><p><em>I am <strong>not</strong> affiliated with any of the suggested tools</em> </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y95Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y95Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!y95Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!y95Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!y95Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y95Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00561647-43da-49ae-80d4-220f53e6438c_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:671861,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/187837605?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y95Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!y95Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!y95Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!y95Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00561647-43da-49ae-80d4-220f53e6438c_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You have more demand than capacity.</p><p>You are expected to ship components, keep tokens in sync, help product teams move faster, reduce inconsistency, and now also &#8220;use AI.&#8221;</p><p>Here are 20 ways design system teams can use AI this year. Real tools, workflows, and setups that reduce toil and make your system feel more like a product.</p><p>I have written about most of them in depth. I will link to those articles so you can go deeper into whatever interests you.</p><p>I grouped the 20 ideas into five areas:</p><ul><li><p><strong>Components and implementation</strong> </p></li><li><p><strong>Documentation and enablement</strong> </p></li><li><p><strong>Strategy and prioritization</strong> </p></li><li><p><strong>Tokens and consistency</strong> </p></li><li><p><strong>Adoption, metrics, and ROI</strong> </p></li></ul><p>Let&#8217;s go &#128071;</p><div><hr></div><h2>Components and implementation</h2><h3>1. Generate components from your Figma designs with AI</h3><p>Most AI-generated components look fine in isolation but fall apart the moment you put them next to your real system. They use the wrong tokens, invent their own spacing, and ignore your composition patterns. Meanwhile, designers hand off Figma frames, and engineers still rebuild from scratch. The AI output is a curiosity, not a shortcut.</p><p>The fix is to connect AI directly to your system. Figma Make generates code from your design frames, but instead of producing generic markup, it references your existing component library. Pair it with <strong>MCP connectors </strong>(Notion, GitHub) so Figma Make can read your component docs and token files. Then add an <code>.ai/</code> directory in your repo that contains your component generation rules: which tokens to use, which base components to compose,and  accessibility requirements.</p><p><strong>The setup:</strong></p><ol><li><p><strong>Figma Make</strong> generates a first pass from your design frames. Not generic code, but code that references your existing components</p></li><li><p><strong>MCP connectors</strong> (Notion, GitHub) give Figma Make access to your component docs and token files</p></li><li><p><strong>An </strong><code>.ai/</code><strong> directory</strong> in your repo contains your component generation rules: which tokens to use, which base components to compose, accessibility requirements</p></li></ol><p>This same approach works outside Figma Make. Both <strong>Cursor</strong> and <strong>Claude Code</strong> can connect to the <strong>Figma MCP server</strong>, read your design frames directly, and generate components using your tokens and component library. The <code>.ai/</code> directory works the same way regardless of which tool you use. Pick the one your team already runs.</p><p>The gap between &#8220;design done&#8221; and &#8220;component shipped&#8221; shrinks from days to hours. AI does the first draft; you do the review.</p><p>I covered the full workflow here:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f9b82091-5a46-4eb9-868a-a4264a8af1d4&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Figma Make Won't Work Until You Do This&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-12-19T08:54:38.121Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!5Nwf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/figma-make-wont-work-until-you-do&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:181702778,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:48,&quot;comment_count&quot;:4,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c67b80d5-4fce-4fb4-99e2-8ad5ddaf37d2&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Ultimate AI Component Generation Framework &quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-03T10:09:26.324Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!a3HB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bea4d7-9c61-4672-bc26-7ff74f3bc772_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/the-ultimate-ai-component-generation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175136945,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:66,&quot;comment_count&quot;:4,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;df10bf65-ba60-4720-b363-99f2b8cb5533&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Use AI to push Figma variants straight to Storybook (Step-by-step guide)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-02-06T08:51:37.317Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!nMHS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/push-your-figma-components-to-storybook&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:186969619,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:49,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>2. Automate design system audits with Playwright</h3><p>Accessibility audits, visual regression tests, and token usage checks are the work nobody has time for, but everybody notices when they are skipped. Most teams run these manually once before a major release, identify a backlog of issues, and then do not address them again for months.</p><p><strong>Playwright&#8217;s MCP</strong> integration changes this. It gives you three AI agents that work together to keep your audits running continuously:</p><ul><li><p><strong>Planner</strong>: explores your Storybook or documentation site and creates test scenarios</p></li><li><p><strong>Generator</strong>: writes the actual test code by interacting with your components</p></li><li><p><strong>Healer</strong>: fixes broken tests automatically when components change</p></li></ul><p><strong>Five audits you can automate today:</strong></p><ol><li><p>Token consistency audit (scan rendered components for hardcoded values)</p></li><li><p>Component behavior testing (keyboard nav, focus management)</p></li><li><p>Accessibility checks (ARIA roles, contrast, screen reader labels)</p></li><li><p>Documentation accuracy (do the docs match what the component actually does?)</p></li><li><p>Visual regression (screenshot comparison across themes and viewports)</p></li></ol><p>Your team stops catching checkbox-level issues in reviews and focuses on the hard stuff (interaction patterns, naming, architecture) while Playwright handles the checklist.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;8637d328-68f4-4b58-a4c7-ef66603df660&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Audits and Testing&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-24T05:41:26.837Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!3RG_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89a4e5fc-bd38-48d1-89f0-f956b9281f8e_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-audits&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176858532,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:28,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>3. Build a custom Figma plugin for your design system</h3><p>Every design system has rules that Figma does not enforce. Designers use the wrong tokens, skip semantic layers, or apply status colors to the wrong contexts. You catch these in review. The same review comments, week after week.</p><p>A custom Figma plugin can automatically validate token usage. And with <strong><a href="https://www.plugma.dev/">plugma</a></strong>, building one is no longer a side project that takes a sprint. Plugma gives you a modern dev toolchain for Figma plugins (hot reload, TypeScript, bundling) so you can use AI to write most of the plugin logic while <strong>plugma </strong>handles the build.</p><p><strong>Example: a token intent validator</strong></p><p>Your plugin can scan selected frames and flag:</p><ul><li><p>Raw hex colors used instead of tokens</p></li><li><p>Primitive tokens (<code>blue.500</code>) used directly in components</p></li><li><p>Status colors (danger/success) used in the wrong context</p></li><li><p>Interactive tokens applied to static elements</p></li></ul><p>Designers get inline warnings with suggested fixes. You stop repeating the same review comments.</p><p><strong>The setup:</strong></p><pre><code><code>npx create-plugma@latest my-token-validator
cd my-token-validator
npm run dev  # hot reload in Figma</code></code></pre><p>Use AI to generate your validation rules from your token naming convention (see &#8220;Generate a token naming convention&#8221; below).</p><div><hr></div><h3>4. Write a migration guide for breaking changes</h3><p>You ship a breaking change. Three teams break. Nobody reads the changelog. Changelogs list what changed, not what to do about it. A migration guide is the artifact that actually gets used: who is affected, what to change, and where to watch out.</p><p>Feed AI the diff between the old and new API, plus a short explanation of why the change was made. It generates a structured guide in minutes that would otherwise take you an hour to write and another hour to format.</p><p><strong>Prompt:</strong></p><pre><code><code>Write a migration guide for this breaking change.
Inputs:
- old API: [paste]
- new API: [paste]
- why we changed it: [paste]

Output:
1) who is affected
2) before/after examples
3) a step-by-step migration checklist
4) common mistakes</code></code></pre><p>Save as <code>migration-guides/[component]-[version].md</code>. When teams ask &#8220;how do I update?&#8221;, send a link instead of typing a response.</p><div><hr></div><h2>Documentation and enablement</h2><h3>5. Automate your documentation pipeline</h3><p>Documentation that lags weeks behind code is worse than no documentation. It actively misleads people. Screenshots go stale. Props tables list options that were removed two releases ago. Teams stop trusting the docs and start reading source code instead, which defeats the entire purpose of having a design system.</p><p>The fix is not &#8220;write docs faster.&#8221; The fix is a pipeline that keeps docs in sync with your components continuously. Connect <strong>Figma MCP + Claude Code + Mintlify </strong>(or your docs framework of choice). Figma MCP reads your component designs and extracts props, variants, and states. Claude Code generates documentation markdown from your component source code combined with the Figma data. Mintlify publishes automatically on merge.</p><p><strong>The pipeline:</strong></p><ol><li><p><strong>Figma MCP</strong> reads your component designs and extracts props, variants, and states</p></li><li><p><strong>Claude Code</strong> generates documentation markdown from your component source code + Figma data</p></li><li><p><strong>Mintlify</strong> (or Storybook, or your docs site) publishes automatically on merge</p></li><li><p><strong>Cron job</strong> (optional) runs weekly to re-sync screenshots and catch drift</p><p></p></li></ol><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bbc39bfc-5536-4bee-a3d3-d610c5712d08&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Documentation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-17T08:58:02.536Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!9dDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe9c6aa2-4c25-47ea-8c50-3c5d2d786ca1_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-documentation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176234757,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:103,&quot;comment_count&quot;:3,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>Add Claude Code Skills to your design system workflow</h3><p>Everyone on your team prompts AI differently. One person writes a paragraph of context. Another pastes raw code and says, &#8220;Fix this.&#8221; The results are wildly inconsistent, and people end up writing the same instructions repeatedly, or worse, stop using AI because the output never matches the system.</p><p>Claude Code Skills solves this. <strong>Skills are reusable instruction sets </strong>that auto-load based on context. They are prompts that know when to activate and what files to read. You do not have to remember to use them. They just show up when relevant.</p><p><strong>The best Skills for design system work:</strong></p><p><strong>&#10024; token-migration-assistant</strong><br>Detects your token format and migrates between Style Dictionary, W3C DTCG, Figma Variables, CSS, and Tailwind.</p><p><strong>&#10024; component-audit</strong><br>Runs comprehensive audits: accessibility, theming, responsiveness, code quality.</p><p><strong>&#10024; documentation-standards</strong><br>Generates consistent component docs matching your format.</p><p><strong>&#10024; brand-guidelines</strong><br>Applies your brand&#8217;s colors, typography, spacing, and motion rules.</p><p><strong>&#10024; figma-variables-generator</strong><br>Generates Figma Variables JSON directly from your design tokens.</p><p>A prompt library is a document people forget exists. A Skill auto-loads when Claude Code detects it is relevant. That difference is everything.</p><p>I covered Skills in depth here &#128071;</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;4cdd226a-7104-4cb2-be72-aa2771d0ebe9&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why your design system team need Claude Skills&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-31T08:28:29.183Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!hfid!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/why-your-design-system-team-need&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:177632613,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:54,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>7. Make your own custom Skill </h3><p>The prebuilt Skills cover common workflows, but your design system has its own rules, naming conventions, and patterns that no generic skill can cover. The good news: a custom Skill is a Markdown file with YAML front matter. That is it. </p><p><strong>Example: a token naming validator Skill</strong></p><pre><code><code>---
name: token-naming-validator
description: Validates design token names against our naming convention
autoload: when working with design tokens or token files
---

# Token Naming Validator

When reviewing or generating design tokens, enforce these rules:

## Naming structure
- Format: `{category}.{property}.{variant}.{state}`
- Categories: color, spacing, typography, elevation, motion
- Use dot notation, not camelCase or kebab-case

## Rules
- Semantic tokens MUST reference primitives, never raw values
- No color names in semantic tokens (use "primary" not "blue")
- State variants: default, hover, active, disabled, focus
- Every token must have a description field

## On violation
- Flag the token name
- Suggest the correct name
- Explain the rule that was broken</code></code></pre><p>Save personal Skills to <code>~/.claude/skills/</code> or project Skills to <code>.claude/skills/</code> (version controlled, shared with the team). Now your entire team gets consistent AI behavior (same naming rules, same validation, same output format) without anyone memorizing the rules.</p><div><hr></div><h3>8. Create a design system onboarding FAQ from real questions</h3><p>Every new hire asks the same 20 questions. Where do I find the tokens? Which Button variant do I use for destructive actions? How do I submit a new component request? You answer these individually, every time, in Slack DMs that nobody else can see.</p><p>Take the last 50 questions that new team members actually asked. Answer them, feed them to AI and generate a <strong>structured FAQ.</strong> The next person who joins does not need you to onboard them. They have the FAQ.</p><p><strong>Prompt:</strong></p><pre><code><code>Turn these questions into an onboarding FAQ for our design system.
Requirements:
- group by theme
- answer in plain language
- link to the right doc sections (use placeholders if unknown)
- include "common mistakes"</code></code></pre><p>Save as <code>onboarding-faq.md</code> and link it from your main docs. Update it quarterly as new questions come in.</p><h2>Strategy and prioritization</h2><h3>9. Turn requests into a single backlog</h3><p>Design system requests come from everywhere: Slack threads, Jira tickets, meeting sidebars, and post-it notes from a workshop three weeks ago. You spend hours manually deduplicating, and you still miss things because half the requests were verbal.</p><p>Dump your last 30 days of requests into a single document. Feed it into the AI and ask it to deduplicate, group by theme, count frequencies, and identify the underlying job-to-be-done. You get a clean backlog in minutes, not a half-day of spreadsheet work.</p><p><strong>Prompt:</strong></p><pre><code><code>You are helping a design system lead consolidate requests.

Input: a list of requests (Slack snippets, Jira tickets, meeting notes).
Output:
1) A cleaned list of requests grouped by theme (duplicates merged)
2) For each theme: frequency, impacted teams, and the underlying job-to-be-done
3) A short "what we are NOT doing" list (scope control)

Format: markdown</code></code></pre><p>Save as <code>design-system-backlog.md</code>. Update it weekly. 2&#8211;3 hours saved per sprint, and you now have a source of truth that is not your memory.</p><div><hr></div><h3>10. Write a one-page strategy map</h3><p>Leadership asks, &#8220;What&#8217;s the plan?&#8221; and you have 47 Notion docs, but no clear answer. The detail is there. The clarity is not. What you need is a s<strong>ingle-page summary</strong>: everything you know about the current state, the vision, and the path forward, reduced to one page that anyone can read in two minutes.</p><p><strong>Prompt:</strong></p><pre><code><code>Create a one-page design system strategy map with:
- Context: what is broken today (3-5 bullets)
- Vision: where we want to be in 12 months
- Strategy: our 3 biggest bets
- Metrics: what we will measure monthly
- Stakeholders: who needs updates and how often

Make it plain English. No corporate jargon.</code></code></pre><p>If it does not fit on one page, you do not understand it well enough yet. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c4121dd6-b80c-4f83-b461-32b79776b2b7&quot;,&quot;caption&quot;:&quot;A design system isn't just documentation and components. It's a strategic business asset. But it is like a band's repertoire. You need to learn the standards first, then improvise. 2025 is your chanc&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Your design system strategy on one page&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-03T13:09:29.387Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bKdg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97bdcafd-65a4-48bb-984c-ef60e134682a_840x605.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/your-design-system-strategy-on-one&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:154068595,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:13,&quot;comment_count&quot;:2,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>11. Run a component ROI sanity check before you build</h3><p>Most component decisions follow the same pattern: someone with influence requests it, you build it, and six months later it is used in two places. Meanwhile, the component the three teams need is in the backlog because no one lobbied for it loudly enough.</p><p><strong>Before you build, run a quick sanity check. </strong>Map the request to screens, teams, and reuse potential. It takes five minutes and saves you from building the wrong thing first.</p><p><strong>Prompt:</strong></p><pre><code><code>Help me decide whether to build a new component.

Component request: [paste]
Context:
- Teams requesting it: [list]
- Known screens / flows: [list]
- Alternatives in system today: [list]

Output:
1) Reuse likelihood (high/medium/low) with reasoning
2) Risks (maintenance, variants, accessibility complexity)
3) MVP scope (minimum viable version)
4) What to validate before building</code></code></pre><p>Save the output in your decisions folder. When someone asks, &#8220;Why didn&#8217;t we build X?&#8221; you have a written record of the reasoning.</p><div><hr></div><h3>12. Use Claude Code for design system research</h3><p>Researching how other systems handle a problem (token structures, component APIs, theming approaches) usually eats an entire afternoon. You open ten tabs, compare three Storybook instances, skim four blog posts, and still end up with scattered notes.</p><p>Claude Code has built-in web search and file analysis. Point it at a competitor&#8217;s public repo, a Storybook instance, or a set of documentation pages, and it pulls everything together into one document. </p><p><strong>Example:</strong></p><pre><code><code># From your terminal, ask Claude Code to research
claude "Research how Shopify Polaris, Atlassian, and GitHub Primer
handle their color token structure. Compare naming conventions,
semantic layers, and how they handle dark mode. Output a comparison
table I can share with my team."</code></code></pre><p>You get a research summary your team can act on in the same week you asked the question, not a collection of bookmarks you will never revisit.</p><div><hr></div><h2>Tokens and consistency</h2><h3>13. Generate a token naming convention from your real usage</h3><p>Token naming inconsistencies are a burden on every engineer who touches your system. <code>color-primary</code> in one file, <code>primaryColor</code> in another, <code>brand.primary</code> in a third. Engineers guess. Designers copy what looks right. The inconsistency compounds silently until a rebrand or a multi-brand initiative forces you to deal with all of it at once.</p><p>Instead of designing a naming convention from scratch, give AI your current token set and ask it to propose a scheme that matches what you already do, then tighten the edges.</p><p><strong>Prompt:</strong></p><pre><code><code>Analyze our token set and propose a consistent naming convention.
Goals:
- predictable
- scalable to multiple brands
- clear semantic vs primitive separation

Output:
1) naming rules
2) 10 "before -&gt; after" renames
3) a short migration strategy</code></code></pre><p>The goal is predictability. A developer should be able to guess the token name without checking the documentation.</p><div><hr></div><h3>14. Connect Figma variables to your codebase with MCP</h3><p>Every time you paste token values into an AI prompt, they are already stale. Your Figma variables update. Your tokens JSON gets a new release. But the AI is working with whatever you copy-pasted last Tuesday.</p><p>A Model Context Protocol (MCP) server connects your design tokens directly to Claude. The Figma MCP server lets AI read your variables, modes, and collections in real-time. </p><p><strong>The setup:</strong></p><ol><li><p>Install the <strong>Figma MCP server</strong> (or build your own with the MCP Design Tokens Server template)</p></li><li><p>Point it at your Figma file or your tokens JSON</p></li><li><p>Now every AI prompt you run has live access to your actual token values</p><p></p></li></ol><div><hr></div><h3>15. Use Context7, so AI always has current documentation</h3><p>AI models have a training cutoff. When you ask Claude or Cursor about Style Dictionary v4, Radix Themes, or Tailwind v4, you might get answers based on last year&#8217;s API, and not realize it until you have already built something around a deprecated method.</p><p>Your token pipeline probably depends on Style Dictionary. Your components might use Radix or shadcn. Your utility layer might be Tailwind. If AI gives you advice based on outdated docs, you waste time fixing problems that do not actually exist.</p><p><strong><a href="https://context7.com/">Context7</a> </strong>feeds AI the latest documentation for the libraries your design system depends on. Add it as a reference source in your AI workflow. When generating components or debugging token transforms, ask AI to check Context7 for the current API first.</p><div><hr></div><h3>16. Run a token drift audit with a Skill</h3><p>Teams bypass tokens. You find out weeks later when the UI looks wrong. Manually checking every PR for hardcoded colors and spacing values does not scale. And asking people to &#8220;just use tokens&#8221; in Slack is not enforcement, it is hope.</p><p><strong>A token audit Skill </strong>tells Claude Code exactly what to look for in your codebase (hardcoded hex values, raw pixel spacing, missing theme variants) and how to report it. Save it once, and anyone on your team can run it on demand or as part of their review process.</p><p><strong>Example: a token audit Skill</strong></p><pre><code><code>---
name: token-drift-audit
description: Scan codebase for hardcoded values that should use design tokens
autoload: when reviewing PRs or checking token usage
---

# Token Drift Audit

Scan the codebase for values that bypass the design token system.

## What to flag
- Hardcoded hex, rgb, or hsl colors in component files
- Raw pixel spacing values (4px, 8px, 16px, etc.)
- Inline font sizes instead of typography tokens
- Colors that exist as tokens but are written as raw values
- Primitive tokens (e.g. blue.500) used directly in components

## What to check
- All themes (Light, Dark, High Contrast) have matching token sets
- No broken token references
- Color contrast ratios meet WCAG AA (4.5:1 text, 3:1 large text)
- Naming follows the convention: {category}.{property}.{variant}

## Output format
- Group findings by severity: critical, warning, info
- Show file path and line number for each finding
- Suggest the correct token for each hardcoded value
- End with a summary count
</code></code></pre><p>Save this as <code>.claude/skills/token-drift-audit/SKILL.md</code> in your repo. Now anyone on your team can run it:</p><pre><code><code>claude "Run a token drift audit on the components/ folder"</code></code></pre><p>You catch drift in PRs, not production. And because it is a Skill, the audit is consistent. Every team member gets the same checks, the same output format, the same severity levels.</p><div><hr></div><h2>Adoption, metrics, and ROI</h2><h3>17. Build an adoption dashboard </h3><p>Leadership wants metrics. But runtime tracking (watching which developers use which components in real time) feels invasive, and the data is noisy anyway. Importing a component does not guarantee it is used correctly.</p><p>Start with build-time signals instead. Component imports, token drift counts, bypass signals (raw <code>&lt;button&gt;</code> elements, inline styles), and PR drift delta. These are facts extracted from code, not surveillance of people.</p><p><strong>Prompt:</strong></p><pre><code><code>Design a design system adoption dashboard plan.
Start with build-time metrics only:
- component imports / usage counts
- token drift counts
- bypass signals (raw &lt;button&gt;, inline styles)
- PR drift delta

Output:
1) metrics definitions
2) data sources
3) weekly reporting format</code></code></pre><p>Build-time metrics tell you what is happening in the codebase without anyone feeling watched. That is the foundation. Add complexity only when you have proven the basics are useful.</p><div><hr></div><h3>18. Find the bypass patterns that hurt consistency</h3><p>When teams bypass your design system, the instinct is to blame them. &#8220;They should have used the component.&#8221; But if people are bypassing consistently, the system is failing them. The component does not exist. The token is missing. The docs are unclear. The API is too rigid.</p><p>Bypass patterns are user research. Feed AI your drift report and ask it to identify what is recurring, why teams do it, and what the smallest fix is that you can ship this sprint.</p><p><strong>Prompt:</strong></p><pre><code><code>Given this drift report, identify the top bypass patterns.
For each bypass:
- why teams do it
- what the design system should change (component, token, docs)
- the smallest fix we can ship this sprint</code></code></pre><p>Every bypass you fix makes the system easier to use, which makes the next bypass less likely. That is how adoption compounds.</p><div><hr></div><h3>19. Generate release notes that teams will actually read</h3><p>Your changelog says &#8220;<em>updated Button component.</em>&#8221; Nobody knows what changed, who is affected, or whether they need to do anything. So nobody reads it, and then they complain they were not told about breaking changes.</p><p>Release notes for design systems need to be written for non-design-system people. What changed, why it matters for product work, and what teams need to do (if anything). AI can generate this from your changelog and merged PRs in minutes.</p><p><strong>Prompt:</strong></p><pre><code><code>Write design system release notes for non-design-system people.
Inputs: changelog + list of merged PRs.

Output:
- what changed (3-7 bullets)
- why it matters (tie to product outcomes)
- what teams need to do (if anything)
- links to migration guides</code></code></pre><p>If the release note does not say &#8220;what this means for you,&#8221; it will not get read.</p><div><hr></div><h3>20. Run your own AI design system assistant 24/7</h3><p><a href="https://docs.openclaw.ai/">OpenClaw</a> (previously clawdbot) is an open-source AI assistant that runs 24/7 on your own hardware. A ~5/month Hetzner VPS is enough. Connect it to Telegram, Slack, Discord, or WhatsApp and your team has an always-on design system expert that can actually read your repo.</p><p><strong>What it gives you:</strong></p><ul><li><p><strong>Always-on access</strong> via Telegram, Slack, Discord, or WhatsApp</p></li><li><p><strong>Full system access</strong>: it can run scripts, query your token files, check your repo</p></li><li><p><strong>Scheduled jobs</strong>: automate weekly reports, competitor checks, content generation</p></li><li><p><strong>Persistent memory</strong>: it remembers previous conversations and context</p></li><li><p><strong>Your choice of model</strong>: Claude, GPT, Gemini, DeepSeek, whatever fits your budget</p></li></ul><p><strong>Example setup for a design system team:</strong></p><ul><li><p>Morning cron job runs a token drift scan and posts results to Slack</p></li><li><p>Team members message the bot on Telegram: &#8220;What&#8217;s the current spacing scale?&#8221; It reads the actual tokens and responds</p></li><li><p>Weekly automated competitor check: &#8220;What did Polaris, Carbon, and Primer ship this week?&#8221;</p></li></ul><p><strong>A word on security:</strong> Keep this on a separate server from your production infrastructure. <strong>Give it read-only access to a clone of your token files and documentation, not your live codebase. </strong>This is a tool for answering questions, running reports, and automating research. It is not a deployment pipeline. Treat it like a team assistant with a read-only badge, not an engineer with push access.</p><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;81c0ca8e-0039-45db-8e35-e3e36a776d1d&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Can OpenClaw (prev clawdbot) Become Your Personal AI Design System Agent Available 24/7?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-30T14:41:50.371Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!KLwD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/can-openclaw-prev-clawdbot-become&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:186237503,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:15,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h2>The toolkit</h2><p>Here is every tool mentioned in this article and where to start:</p><p><strong><a href="https://claude.ai/">Claude Code</a></strong><br>AI coding assistant with file access, web search, and Skills</p><p><strong>MCP (Model Context Protocol)</strong><br>Connects AI to live data sources (Figma, tokens, docs). </p><ul><li><p><strong>Figma MCP</strong> for reading variables, design frames, and component metadata</p></li><li><p><strong>GitHub MCP</strong> for reading repos, PRs, issues, and component source code</p></li><li><p><strong>Slack MCP</strong> for monitoring design system requests and support channels</p></li><li><p><strong>Notion MCP</strong> for reading and writing design system documentation and decision logs</p></li><li><p><strong>PostHog MCP</strong> for querying adoption metrics, feature flags, and usage data</p></li><li><p><strong>Zapier MCP</strong> for connecting your design system workflows to Jira, Linear, and hundreds of other tools</p></li></ul><p><strong><a href="https://www.figma.com/make/">Figma Make</a></strong><br>Generates code from Figma designs using your component library. </p><p><strong><a href="https://playwright.dev/">Playwright</a></strong><br>Automated browser testing with AI agents (Planner, Generator, Healer).</p><p><strong><a href="https://context7.com/">Context7</a></strong><br>Feeds current library documentation to AI tools.</p><p><strong><a href="https://www.plugma.dev/">plugma</a></strong><br>Modern Figma plugin development toolchain. <code>npx create-plugma@latest</code></p><p><strong><a href="https://docs.openclaw.ai/">OpenClaw</a></strong><br>Self-hosted AI assistant on your own server. </p><p><strong><a href="https://posthog.com/">PostHog</a></strong><br>Product analytics platform with feature flags, session replays, and A/B testing. For design systems, it tracks component usage in production, measures adoption across teams, and gives you real data for ROI conversations with leadership. The PostHog MCP server lets AI query your analytics directly.</p><p></p><p>Enjoy exploring &#128588;</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p><br><strong>Swap Wizard Figma plugin</strong></p><p>1st place at the IDS hackaton </p><p><br>&#10024; Auto-matches components even when names don't align perfectly <br>&#10024; Lets you validate and adjust mappings with live previews <br>&#10024; Handles variant properties so you pick the exact component you need <br>&#10024; Re-attaches detached components</p><p>&#128279;<a href="https://www.linkedin.com/posts/activity-7426596617509789696-lroo?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAIm0UIB6YXIAMl4tTZJpr6OKeGfXLHdRoY"> </a><strong><a href="https://swapwizardhackathon.lovable.app/#">Link</a></strong></p><p></p><p><strong>Edgy Figma plugin</strong></p><p>2nd place at the IDS Hackaton &#8594; The team explored whether a plugin could analyse flows, call out missed edge cases, and generate any missing screens directly on the canvas using an existing design system. And they did it. </p><p>&#128279;<a href="https://www.linkedin.com/posts/activity-7426596617509789696-lroo?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAIm0UIB6YXIAMl4tTZJpr6OKeGfXLHdRoY"> </a><strong><a href="https://www.linkedin.com/posts/activity-7426596617509789696-lroo?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAIm0UIB6YXIAMl4tTZJpr6OKeGfXLHdRoY">Link</a></strong></p><p></p><p><strong>Design Token Naming Guide + Builder </strong></p><p><strong>&#128279; <a href="https://www.namedesigntokens.guide/builder">Link</a> </strong></p>]]></content:encoded></item><item><title><![CDATA[Use AI to push Figma variants straight to Storybook (Step-by-step guide)]]></title><description><![CDATA[Bonus: Introducing Design Token Naming Tool 2.0]]></description><link>https://learn.thedesignsystem.guide/p/push-your-figma-components-to-storybook</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/push-your-figma-components-to-storybook</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 06 Feb 2026 08:51:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nMHS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><p><em>I am <strong>not</strong> affiliated with any of the suggested tools</em> </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nMHS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nMHS!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!nMHS!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!nMHS!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!nMHS!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nMHS!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:9761957,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nMHS!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!nMHS!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!nMHS!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!nMHS!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4073d1b-aa3b-41c5-824a-b8ae9775f385_1456x970.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You spend 2 hours setting up beautiful variants in Figma. Primary, secondary, ghost. Small, medium, large. Default, hover, disabled.</p><p>Then a developer asks: &#8220;What are the props for this component?&#8221;</p><p>You explain everything again. In a meeting, in a Notion doc, or in Slack messages. The developer writes the component with slightly different naming. Now &#8220;Primary&#8221; in Figma becomes <code>type: 'main'</code> in code.</p><p>The translation layer between design and code breaks down within weeks.</p><p>Here&#8217;s the thing: <strong>your Figma variants already ARE your props</strong>. They just need to speak the same language as your code. When you set this up correctly, your Figma button with variants &#8220;Primary, Secondary, Ghost&#8221; automatically becomes a React component with <code>variant: 'primary' | 'secondary' | 'ghost'</code>, which automatically becomes interactive controls that anyone can toggle.</p><p>No manual documentation. No translation meetings. No drift.</p><div><hr></div><h2>What you will learn:</h2><ul><li><p><strong>Figma variant properties = Component props</strong>: When you name variants correctly, AI generates matching TypeScript types automatically</p></li><li><p><strong>The naming alignment is everything</strong>: &#8220;Primary&#8221; in Figma should become <code>'primary'</code> in code, not <code>'main'</code> or <code>'type1'</code></p></li><li><p><strong>Storybook controls generate from types</strong>: Clean union types mean clean dropdown controls, no configuration needed</p></li><li><p><strong>Prompts</strong>: Copy-paste prompts for every step of this workflow</p></li></ul><div><hr></div><h2>What is Storybook (and why should you care)?</h2><p><a href="https://storybook.js.org/">Storybook</a> is a <strong>free, open-source </strong>tool that lets you browse and test your components in isolation, outside of your app. Think of it as an interactive catalog of every component in your design system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CCPA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CCPA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 424w, https://substackcdn.com/image/fetch/$s_!CCPA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 848w, https://substackcdn.com/image/fetch/$s_!CCPA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 1272w, https://substackcdn.com/image/fetch/$s_!CCPA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CCPA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png" width="1456" height="925" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:925,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:343330,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CCPA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 424w, https://substackcdn.com/image/fetch/$s_!CCPA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 848w, https://substackcdn.com/image/fetch/$s_!CCPA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 1272w, https://substackcdn.com/image/fetch/$s_!CCPA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff227e54e-7872-4f84-a2b7-32eeaf264ce2_1617x1027.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Why is it so useful: </p><ul><li><p><strong>You can click through every variant</strong> without spinning up the full product</p></li><li><p><strong>Controls panel</strong> lets you toggle props (size, variant, disabled) in real time</p></li><li><p><strong>Auto-generated documentation</strong> pulls from the code, so it never goes stale</p></li><li><p><strong>Shareable URL</strong> means you can send a link to anyone for review</p></li></ul><p>When your Figma naming matches the code, Storybook generates all of this automatically from your TypeScript types.</p><div><hr></div><h2>The mental model: how props flow</h2><p>Before you touch any tools, understand this flow:</p><pre><code><code>FIGMA                      CODE                        STORYBOOK
&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;
Variant property     &#8594;     Component prop       &#8594;     Control panel
"Variant: Primary"         variant: 'primary'         [Dropdown: Primary &#9660;]
"Size: Medium"             size: 'md'                 [Dropdown: Medium &#9660;]
"Disabled: True"           isDisabled: boolean        [Checkbox: &#9745;]</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YcWz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YcWz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 424w, https://substackcdn.com/image/fetch/$s_!YcWz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 848w, https://substackcdn.com/image/fetch/$s_!YcWz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 1272w, https://substackcdn.com/image/fetch/$s_!YcWz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YcWz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png" width="1456" height="502" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:502,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75584,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YcWz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 424w, https://substackcdn.com/image/fetch/$s_!YcWz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 848w, https://substackcdn.com/image/fetch/$s_!YcWz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 1272w, https://substackcdn.com/image/fetch/$s_!YcWz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d0dac83-065f-4a85-81d2-d83ba1b3cf94_1512x521.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>You set up Figma &#8594; AI generates the code &#8594; Storybook creates the controls.</strong></p><p>When this chain works, everything stays in sync. When it breaks (usually because Figma naming doesn&#8217;t match code conventions), you get drift.</p><p>Let&#8217;s go step by step. </p><div><hr></div><h2>Setting up Storybook</h2><p>In your React/Next.js project, run:</p><pre><code><code>npx storybook@latest init</code></code></pre><p>This creates a <code>.storybook</code> folder with configuration. Start it with:</p><pre><code><code>npm run storybook</code></code></pre><p>You&#8217;ll see a local server at http://localhost:6006 with example stories.</p><h3>Optional: Publish with Chromatic</h3><p><strong><a href="https://www.chromatic.com/">Chromatic</a></strong> publishes your Storybook online, so your entire team can browse components in a browser. Free for open source, generous free tier for everyone else.</p><p>I use this option, so I can also share the work with others. </p><p>&#8594; Sign up at chromatic.com (GitHub login works)</p><p>&#8594; Create a new project and get your project token</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PvAi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PvAi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 424w, https://substackcdn.com/image/fetch/$s_!PvAi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 848w, https://substackcdn.com/image/fetch/$s_!PvAi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 1272w, https://substackcdn.com/image/fetch/$s_!PvAi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PvAi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png" width="1456" height="478" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9813096-a1c6-4b84-a169-ca767809f422_1593x523.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:478,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45974,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PvAi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 424w, https://substackcdn.com/image/fetch/$s_!PvAi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 848w, https://substackcdn.com/image/fetch/$s_!PvAi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 1272w, https://substackcdn.com/image/fetch/$s_!PvAi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9813096-a1c6-4b84-a169-ca767809f422_1593x523.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8594; Install and publish Chromatic:</p><pre><code><code>npm install chromatic --save-dev
npx chromatic --project-token=YOUR_TOKEN</code></code></pre><p>You&#8217;ll get a public URL to share. Chromatic also catches visual regressions when you push changes.</p><div><hr></div><h2>Setting up Figma so AI can read it</h2><p>This is the most important step. AI tools read your Figma file directly: your variant properties, layer names, and design tokens. If these are messy, the generated code will be messy.</p><p><strong>Your Figma variant property names become your prop names.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!llx0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!llx0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 424w, https://substackcdn.com/image/fetch/$s_!llx0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 848w, https://substackcdn.com/image/fetch/$s_!llx0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 1272w, https://substackcdn.com/image/fetch/$s_!llx0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!llx0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png" width="1456" height="568" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:568,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:60904,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!llx0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 424w, https://substackcdn.com/image/fetch/$s_!llx0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 848w, https://substackcdn.com/image/fetch/$s_!llx0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 1272w, https://substackcdn.com/image/fetch/$s_!llx0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18e5112-3f23-40a4-b98f-a9e93961dc2c_2268x884.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Name your Figma variants with code-friendly values (lowercase, no spaces, consistent format), and AI generates cleaner code.</p><p><strong>Checklist before you generate</strong></p><p>Open your component in Figma and verify:</p><ul><li><p><strong>Consistent naming</strong>: All variants use the same format (sm/md/lg, not sm/Medium/LG)</p></li><li><p><strong>Code-friendly values</strong>: No spaces, lowercase preferred (primary, not &#8220;Primary Button Style&#8221;)</p></li><li><p><strong>Boolean properties for on/off states</strong>: isDisabled, isLoading, hasIcon (not &#8220;State: Disabled&#8221;)</p></li><li><p><strong>Meaningful layer names</strong>: &#8220;Leading Icon&#8221;, &#8220;Label&#8221;, &#8220;Trailing Icon&#8221; (not &#8220;Frame 47&#8221;, &#8220;Vector&#8221;, &#8220;Text&#8221;)</p></li></ul><p></p><h3>Add a component description</h3><p>Select your component set in Figma and add a description. AI reads this and uses it for context: </p><pre><code><code>Button component for user actions.

Props:
- variant: primary | secondary | ghost | danger (default: primary)
- size: sm | md | lg (default: md)
- isDisabled: boolean (default: false)
- isLoading: boolean (default: false)

Usage: Use primary for main actions, secondary for alternative actions,
ghost for tertiary actions, danger for destructive actions.</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B3hf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B3hf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 424w, https://substackcdn.com/image/fetch/$s_!B3hf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 848w, https://substackcdn.com/image/fetch/$s_!B3hf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 1272w, https://substackcdn.com/image/fetch/$s_!B3hf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B3hf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png" width="1456" height="567" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:567,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56346,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!B3hf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 424w, https://substackcdn.com/image/fetch/$s_!B3hf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 848w, https://substackcdn.com/image/fetch/$s_!B3hf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 1272w, https://substackcdn.com/image/fetch/$s_!B3hf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09ec3921-7bb4-4b60-8364-e582b61b7b5c_1512x589.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Pick your AI tool</h2><p>You need an AI tool that can read your Figma and generate code. Here are your recommended options:</p><p><strong>Claude Code</strong> reads Figma files directly through the <a href="https://www.npmjs.com/package/figma-developer-mcp">Figma MCP server</a>. One-time setup. Claude Code can be used as an extension in any IDE or in your terminal.</p><p>Or, you can use Cursor. </p><p><strong>Cursor</strong> is an AI-powered code editor (IDE) with built-in chat. It also supports MCP servers, so you connect Figma the same way. You can switch between AI models (Claude Opus 4.6, GPT-5.2, Gemini, etc.) to compare outputs.</p><p></p><h2>The two prompts that do everything</h2><p>This is the core of the workflow. The first builds your component, the second pushes it to Storybook.</p><h3>Prompt 1: Generate the component</h3><p>Select your component in Figma, then paste this:</p><pre><code><code>Get the design context for the selected Figma component.

Generate a React component with TypeScript that:
1. Has props matching the Figma variant properties exactly
   (use the same names and values, lowercased)
2. Uses TypeScript union types for all variants
   (e.g., 'primary' | 'secondary', never just string)
3. Uses boolean props for on/off states
   (e.g., isDisabled?: boolean)
4. Adds JSDoc comments for every prop explaining:
   - What it does
   - Available options
   - Default value
5. Follows the patterns in our existing components at src/components/

Show me the generated TypeScript interface first so I can verify
the prop names and values match my Figma setup before you write
the full component.</code></code></pre><p></p><p>More detailed guide and tricks about generating components with AI here &#8594; </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7ea0a383-3850-44bf-9705-ebe83be6901b&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Ultimate AI Component Generation Framework &quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-03T10:09:26.324Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!a3HB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bea4d7-9c61-4672-bc26-7ff74f3bc772_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/the-ultimate-ai-component-generation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175136945,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:58,&quot;comment_count&quot;:3,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><h3>What you should get back:</h3><pre><code><code>export interface ButtonProps {
  /** The visual style of the button */
  variant?: 'primary' | 'secondary' | 'ghost' | 'danger';
  /** The size of the button */
  size?: 'sm' | 'md' | 'lg';
  /** Whether the button is disabled */
  isDisabled?: boolean;
  /** Whether to show loading state */
  isLoading?: boolean;
  /** Button content */
  children: React.ReactNode;
}</code></code></pre><p><strong>Check that the prop names and values match your Figma exactly.</strong> If AI-generated <code>type</code> instead of <code>variant</code>, or <code>small</code> instead of <code>sm</code>, tell it:</p><pre><code><code>The prop names don't match my Figma. Change "type" to "variant"
and "small/medium/large" to "sm/md/lg".</code></code></pre><p></p><h3>Prompt 2: Generate stories and run Storybook</h3><p>Once your component looks good, paste this:</p><pre><code><code>Look at the component you just created.

Generate Storybook stories that:
1. Use CSF 3.0 format with Meta and StoryObj types
2. Include the 'autodocs' tag for automatic documentation
3. Create one story for each variant
4. Create one story showing all sizes side by side
5. Create stories for every boolean state (disabled, loading, etc.)
6. Add an "AllVariants" story that renders every variant
   in a grid so I can compare them at a glance
7. Add edge case stories:
   - Long text label (50+ characters)
   - With leading and trailing icons
   - Inside a form context
8. Add a play function to the default story that:
   - Clicks the component
   - Verifies the click handler fires
   - Tests keyboard navigation (tab + enter)

Put the stories next to the component file.
Then run Storybook so I can see the result.</code></code></pre><p></p><h3>What happens next</h3><p>Open http://localhost:6006 (or whatever local address you have) You&#8217;ll see:</p><ul><li><p><strong>Live component preview</strong> you can interact with</p></li><li><p><strong>Controls panel</strong> with dropdowns for variant and size, checkboxes for isDisabled and isLoading</p></li><li><p><strong>Auto-generated docs</strong> with your JSDoc comments as prop descriptions</p></li><li><p><strong>AllVariants story</strong> showing every combination in a grid</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JhGo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JhGo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 424w, https://substackcdn.com/image/fetch/$s_!JhGo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 848w, https://substackcdn.com/image/fetch/$s_!JhGo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 1272w, https://substackcdn.com/image/fetch/$s_!JhGo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JhGo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png" width="1449" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1449,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:122546,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JhGo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 424w, https://substackcdn.com/image/fetch/$s_!JhGo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 848w, https://substackcdn.com/image/fetch/$s_!JhGo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 1272w, https://substackcdn.com/image/fetch/$s_!JhGo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F230ae331-ecc4-48f7-a03f-6046706c1a1a_1449x749.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>You didn't configure any controls. Storybook figured it out from your types.</strong> That's the whole point of getting the naming right in Figma.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SPEl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SPEl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 424w, https://substackcdn.com/image/fetch/$s_!SPEl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 848w, https://substackcdn.com/image/fetch/$s_!SPEl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 1272w, https://substackcdn.com/image/fetch/$s_!SPEl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SPEl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png" width="1449" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1449,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:69779,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SPEl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 424w, https://substackcdn.com/image/fetch/$s_!SPEl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 848w, https://substackcdn.com/image/fetch/$s_!SPEl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 1272w, https://substackcdn.com/image/fetch/$s_!SPEl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23358b1c-0163-4796-a3f6-eb7961e87d85_1449x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h6>Check the example story <a href="https://workday.github.io/canvas-kit/?path=/story/testing-buttons-actionbar--action-bar-states">here &#8594; </a></h6><p></p><h2>When things go wrong </h2><p>Two issues come up most often:</p><p><strong>Controls don&#8217;t match your Figma variants</strong></p><p>This happens when AI uses different names than your Figma. Tell it exactly what to fix:</p><pre><code><code>Update the component types to match my Figma naming exactly:
- variant: primary | secondary | ghost | danger
- size: sm | md | lg</code></code></pre><p><strong>Types are too loose</strong></p><p>If AI typed a prop as <code>string</code> instead of specific values, tighten it:</p><pre><code><code>The size prop is typed as `string` but it should only accept
specific values. Change it to a union type: 'sm' | 'md' | 'lg'</code></code></pre><div><hr></div><h2>Why this matters</h2><p>The props connection between Figma and Storybook creates a single source of truth.</p><p>When your Figma variants, code props, and Storybook controls all use the same language:</p><ul><li><p><strong>Designers review components</strong> without asking &#8220;what did the developer call this?&#8221;</p></li><li><p><strong>Developers implement</strong> without asking &#8220;what does the designer mean by Type 2?&#8221;</p></li><li><p><strong>Documentation stays accurate</strong> because it generates from the code</p></li><li><p><strong>AI updates everything</strong> when you change the Figma source</p></li></ul><p></p><p>The biggest design system problems aren&#8217;t technical. They&#8217;re communication problems. Naming alignment solves a surprising number of them.</p><div><hr></div><h2>Inspiration: Storybooks worth exploring</h2><p>See how top companies document their components:</p><p><strong>&#128279; <a href="https://polaris.shopify.com/components">Shopify Polaris</a></strong>: Accessibility auditing, viewport testing, theme switching</p><p><strong>&#128279; <a href="https://primer.style/react/storybook">GitHub Primer</a></strong>: Clean organization, great props documentation</p><p><strong>&#128279; <a href="https://react.carbondesignsystem.com/">IBM Carbon</a></strong>: Comprehensive component library with detailed usage guidelines</p><p><strong>&#128279; <a href="https://www.bbc.co.uk/iplayer/storybook/">BBC iPlayer</a></strong>: Rebuilt their entire UI library in Storybook after a component audit</p><p><strong>&#128279; <a href="https://style.monday.com/">Monday.com Vibe</a></strong>: Beautiful welcome page, clear navigation</p><p><strong>&#128279; <a href="https://react.ui.audi/">Audi UI React</a></strong>: Brand imagery meets component documentation</p><p><strong>&#128279; <a href="https://storybook.grommet.io/">Grommet (HPE)</a></strong>: Extensive theming examples</p><p><strong>&#128279; <a href="https://wordpress.github.io/gutenberg/">WordPress Gutenberg</a></strong>: Block editor components, accessibility focus</p><p><strong>&#128279; <a href="https://jetbrains.github.io/ring-ui/">JetBrains Ring UI</a></strong>: Developer tools components, dark mode support</p><p>Browse more at the <strong><a href="https://storybook.js.org/showcase/">Storybook Showcase</a>.</strong></p><p></p><p>Enjoy exploring &#128588;</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><h3>Introducing: <a href="https://www.namedesigntokens.guide/builder">Design Token Naming GUIDE + BUILDER 2.0</a> &#127881;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KIMN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KIMN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 424w, https://substackcdn.com/image/fetch/$s_!KIMN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 848w, https://substackcdn.com/image/fetch/$s_!KIMN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 1272w, https://substackcdn.com/image/fetch/$s_!KIMN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KIMN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png" width="1456" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c537360c-d572-4813-a6de-32ef30443d66_1612x1134.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:217109,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186969619?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KIMN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 424w, https://substackcdn.com/image/fetch/$s_!KIMN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 848w, https://substackcdn.com/image/fetch/$s_!KIMN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 1272w, https://substackcdn.com/image/fetch/$s_!KIMN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc537360c-d572-4813-a6de-32ef30443d66_1612x1134.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.namedesigntokens.guide/&quot;,&quot;text&quot;:&quot;Try it here&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.namedesigntokens.guide/"><span>Try it here</span></a></p><p>I built a free, interactive tool to help designers and developers improve their naming of design tokens. And maybe, build their own token systems along the way. &#128579;<br><br>Whether you're just getting started with tokens or trying to get your team on the same page, this might help. <br><br>Here's what you'll find:</p><ul><li><p>6 interactive lessons that walk you through what design tokens actually are, how they work, and how to name them well (about 15 mins total)</p></li><li><p>Token BUILDER to configure your own naming structure with components, categories, states, and roles</p></li><li><p>Primitive vs Semantic modes, so you can switch between simple scale-based tokens or full semantic naming</p></li><li><p>Live preview that shows your token names as you build them</p></li><li><p>Export-ready, so you can copy or download your tokens and start using it </p></li><li><p>Figma Variables ready format</p></li><li><p>Advanced filtering and sorting </p></li><li><p>Add values manually or put placeholders in a second <br></p></li></ul><p>The whole point is to let you quickly switch naming conventions and test what works for your project. <br><br>Feedback for improvements is always welcome. &#129782; </p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Winden Tokens<br></strong>A Figma plugin for managing design tokens (variables) with a spreadsheet-style interface. Quickly create, edit, and organize your design system variables.<br><br><strong>&#128279; <a href="https://github.com/krstivoja/winden-tokens">Link</a> (GitHub)  &#128279; <a href="https://www.figma.com/community/plugin/1597659998667042080/winden-tokens-design-system-toolkit">Figma plugin</a></strong></p><div><hr></div><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;25bc626b-ff63-4e60-af2b-d7776c7f66a7&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Can OpenClaw (prev clawdbot) Become Your Personal AI Design System Agent Available 24/7?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-30T14:41:50.371Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!KLwD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/can-openclaw-prev-clawdbot-become&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:186237503,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:15,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!D_hv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b706a14-3910-4ad7-bf58-4acd4529a121_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[Can OpenClaw (prev clawdbot) Become Your Personal AI Design System Agent Available 24/7?]]></title><description><![CDATA[What's working and what's hype]]></description><link>https://learn.thedesignsystem.guide/p/can-openclaw-prev-clawdbot-become</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/can-openclaw-prev-clawdbot-become</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 30 Jan 2026 14:41:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KLwD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KLwD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KLwD!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!KLwD!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!KLwD!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!KLwD!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KLwD!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8705746,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KLwD!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!KLwD!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!KLwD!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!KLwD!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86be908d-b8d8-4822-9067-12d2347dba5d_1456x970.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Design systems don&#8217;t sleep. Teams push code at midnight. Someone uses a raw hex value &#8220;just this once.&#8221; A deprecated token sneaks into production.</p><p>It&#8217;s hard to watch everything. But for &#8364;5/month, something can.</p><p>A personal AI assistant running 24/7 in the cloud. It monitors your repos, flags violations, and messages you on Telegram when something needs attention. It runs while you sleep. It&#8217;s yours to customize.</p><h2>In short</h2><ul><li><p><strong>&#8364;5/month beats &#8364;600 hardware</strong>: A Hetzner cloud server gives you 24/7 uptime without buying a Mac Mini</p></li><li><p><strong>Telegram is your control center</strong>: Message your AI from anywhere, get responses even when your laptop is closed</p></li><li><p><strong>No DevOps needed</strong>: Copy-paste commands get you from zero to running in under 2 hours</p></li><li><p><strong>Bonus: Complete command cheat sheet</strong>: Every command you need on a single page</p></li></ul><div><hr></div><h2>Why everyone&#8217;s talking about OpenClaw</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZN0g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZN0g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 424w, https://substackcdn.com/image/fetch/$s_!ZN0g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 848w, https://substackcdn.com/image/fetch/$s_!ZN0g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 1272w, https://substackcdn.com/image/fetch/$s_!ZN0g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZN0g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png" width="1456" height="1107" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1107,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:649710,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZN0g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 424w, https://substackcdn.com/image/fetch/$s_!ZN0g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 848w, https://substackcdn.com/image/fetch/$s_!ZN0g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 1272w, https://substackcdn.com/image/fetch/$s_!ZN0g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8eed18a-e4ee-4ace-9cdb-b170a3c33044_1484x1128.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>If you&#8217;ve been on tech X lately, you&#8217;ve probably seen the Mac Mini buying frenzy. </p><p>People are setting up dedicated machines just to run an AI assistant 24/7. One user described it as &#8220;sort of amazing knowing that we are all having the same weekend... Mac Minis and OpenClaw.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!48Gn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!48Gn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 424w, https://substackcdn.com/image/fetch/$s_!48Gn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 848w, https://substackcdn.com/image/fetch/$s_!48Gn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 1272w, https://substackcdn.com/image/fetch/$s_!48Gn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!48Gn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png" width="468" height="624" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1584,&quot;width&quot;:1188,&quot;resizeWidth&quot;:468,&quot;bytes&quot;:463113,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!48Gn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 424w, https://substackcdn.com/image/fetch/$s_!48Gn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 848w, https://substackcdn.com/image/fetch/$s_!48Gn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 1272w, https://substackcdn.com/image/fetch/$s_!48Gn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43bcd20e-dc59-46d2-b472-679b8ee31c56_1188x1584.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So what is OpenClaw, and why are people treating it like hiring their first employee?</p><p><a href="https://openclaw.ai/">OpenClaw</a> (formerly Clawdbot, then Moltbot) is <strong>an open-source personal AI assistant </strong>created by <strong>Peter Steinberger (@steipete)</strong>. The lobster has molted twice already. Unlike ChatGPT or Claude.ai, which live in browser tabs, OpenClaw:</p><ul><li><p><strong>Runs on your hardware</strong> (Mac, Linux, Windows, Raspberry Pi, or cloud VPS)</p></li><li><p><strong>Connects through chat apps you already use</strong> (Telegram, WhatsApp, Discord, iMessage, Slack)</p></li><li><p><strong>Has full system access</strong> (can execute terminal commands, write scripts, install software)</p></li><li><p><strong>Works with any LLM</strong> (Claude, GPT, Gemini, DeepSeek, Perplexity)</p></li><li><p><strong>Remembers everything</strong> (persistent memory across sessions)</p></li><li><p><strong>Can improve itself</strong> (add new capabilities just by talking to it)</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L0sC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L0sC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L0sC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L0sC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L0sC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L0sC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg" width="1456" height="1052" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1052,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!L0sC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L0sC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L0sC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L0sC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0cff359-1d4e-478c-8c23-73f8d2bdf00e_3664x2648.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The project has exploded: 108k GitHub stars, 15k forks, and a Discord community building skills for everything from calendar management to home automation.</p><p>What makes it viral? It feels like &#8220;the future&#8221; because it actually does things, not just chats. One user set up OpenClaw to manage multiple AI coding agents, autonomously debate code reviews, and deploy features while walking the dog. Another had it decode emergency radio frequencies using RTL-SDR hardware, which they just plugged in.</p><p>Here&#8217;s the thing, though: <strong>you don&#8217;t need a $600 Mac Mini</strong>. The creator himself keeps telling people to stop buying hardware. A &#8364;5/month cloud server works just as well, and that&#8217;s what this guide covers.</p><div><hr></div><h2>Before you start: Security is not optional</h2><p>This is not a toy. OpenClaw has<strong> full system access. </strong>It can execute terminal commands, write scripts, install software, and spin up sub-agents. If you&#8217;re not paranoid about security, you should be.</p><p><strong>Treat it like hiring a stranger with the keys to your house.</strong></p><p>Here&#8217;s what that means in practice:</p><p><strong>Isolate the environment</strong></p><ul><li><p>Run it on a dedicated server or user account, not your main machine</p></li><li><p>If using a Mac, create a separate user just for OpenClaw</p></li><li><p>A cloud VPS (like this guide covers) is actually safer than your personal laptop</p></li></ul><p><strong>Lock down messaging</strong></p><ul><li><p>Use a messaging app you don&#8217;t use for anything else (Telegram works well)</p></li><li><p>If your phone is stolen or a token is compromised, someone could impersonate you</p></li><li><p>During testing, OpenClaw sent emails <em>as</em> one user rather than <em>for</em> them. Careful prompting required.</p></li></ul><p><strong>Use the &#8220;new employee&#8221; rule</strong></p><ul><li><p>Don&#8217;t give it your primary email, passwords, or personal accounts</p></li><li><p>Create separate accounts with limited access (e.g., read-only calendar access)</p></li><li><p>Use a dedicated password vault with only the credentials OpenClaw needs</p></li><li><p>When OAuth asks for permissions, manually restrict to only what&#8217;s necessary</p></li></ul><p><strong>Think about what you&#8217;re exposing</strong></p><ul><li><p>Your calendar has your kids&#8217; school schedules, doctor appointments, and home address</p></li><li><p>Your repos have API keys, deployment configs, and business logic</p></li><li><p>Ask yourself: would you hand this to a contractor you just met?</p></li></ul><p><strong>Have an exit plan</strong></p><ul><li><p>Know how to revoke all tokens and API keys</p></li><li><p>Know how to delete the Telegram bot</p></li><li><p>Know how to wipe the server</p></li></ul><p>If you haven&#8217;t done a security tabletop exercise for this, do one before you start. The power is real. So are the risks.</p><div><hr></div><h2>OpenClaw vs Claude Code: When to use which?</h2><p>If you already use Claude Code, you might wonder why you&#8217;d bother with OpenClaw. Fair question.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q8cn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q8cn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 424w, https://substackcdn.com/image/fetch/$s_!Q8cn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 848w, https://substackcdn.com/image/fetch/$s_!Q8cn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 1272w, https://substackcdn.com/image/fetch/$s_!Q8cn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q8cn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png" width="1456" height="689" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:689,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:94920,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Q8cn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 424w, https://substackcdn.com/image/fetch/$s_!Q8cn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 848w, https://substackcdn.com/image/fetch/$s_!Q8cn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 1272w, https://substackcdn.com/image/fetch/$s_!Q8cn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf200-9b31-4bf4-8a4b-6a7ae945593c_2268x1073.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>When OpenClaw makes sense:</strong></p><ul><li><p>You want something running while you sleep (&#8221;Research competitor APIs and summarize by morning&#8221;)</p></li><li><p>You need an assistant available from your phone, anywhere</p></li><li><p>You want to monitor repos, get alerts, or run scheduled tasks</p></li><li><p>You&#8217;re building workflows that span hours or days</p></li></ul><p><strong>When Claude Code is better:</strong></p><ul><li><p>Active coding where you need fast feedback loops</p></li><li><p>Working on local files in your IDE</p></li><li><p>You want tight integration with your development environment</p></li><li><p>Latency matters (OpenClaw&#8217;s Telegram round-trip adds delay)</p></li></ul><p><strong>The honest answer:</strong> They complement each other. Claude Code for real-time coding. OpenClaw for &#8220;set it and forget it&#8221; tasks that run while you&#8217;re not at your desk.</p><h2>The architecture </h2><p>Here&#8217;s what you&#8217;re building:</p><pre><code><code>&#9484;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9488;
&#9474;         HETZNER SERVER              &#9474;
&#9474;         (runs 24/7 in the cloud)    &#9474;
&#9474;                                     &#9474;
&#9474;    &#8226; OpenClaw installed here        &#9474;
&#9474;    &#8226; Always online                  &#9474;
&#9474;    &#8226; &#8364;4-5/month                     &#9474;
&#9492;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9496;
              &#8597;
        &#9484;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9488;
        &#9474;  Telegram   &#9474;  &#8592; You control it from here
        &#9474;  (phone or  &#9474;     (anywhere in the world)
        &#9474;   desktop)  &#9474;
        &#9492;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9496;
</code></code></pre><p>Your laptop is only needed for the initial setup. Once configured, OpenClaw runs independently. </p><h2>Part 1: Create your Telegram bot</h2><p>Before touching any servers, let&#8217;s set up the Telegram bot you&#8217;ll use to control everything. You can, of course, use any other messaging service, but again,&nbsp;<strong>be careful&nbsp;</strong>with which account (better to create a new one than share your real one). </p><p><strong>Step 1: Talk to BotFather</strong></p><p>Open Telegram and search for <code>@BotFather</code>. This is Telegram&#8217;s official bot for creating bots. Start a chat and send:</p><pre><code><code>/start</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cI1F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cI1F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 424w, https://substackcdn.com/image/fetch/$s_!cI1F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 848w, https://substackcdn.com/image/fetch/$s_!cI1F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 1272w, https://substackcdn.com/image/fetch/$s_!cI1F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cI1F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png" width="285" height="584.5813953488372" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1323,&quot;width&quot;:645,&quot;resizeWidth&quot;:285,&quot;bytes&quot;:436001,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cI1F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 424w, https://substackcdn.com/image/fetch/$s_!cI1F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 848w, https://substackcdn.com/image/fetch/$s_!cI1F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 1272w, https://substackcdn.com/image/fetch/$s_!cI1F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e950aec-4580-4b17-8302-e79f93e1db00_645x1323.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>BotFather will ask you two questions:</p><ol><li><p><strong>Name:</strong> This is the display name. Call it whatever you want (e.g., &#8220;Mochi&#8221;)</p></li><li><p><strong>Username:</strong> Must end in <code>bot</code>. Something like <code>puffy_assistant_bot</code></p></li></ol><p>BotFather then gives you a token that looks like this:</p><pre><code><code>123456789:ABCdefGHIjklMNOpqrsTUVwxyz</code></code></pre><p><strong>Save this token somewhere safe.</strong> You&#8217;ll need it later.</p><p></p><p><strong>Step 2: Get your Chat ID</strong></p><p>Now you need your personal Chat ID so the bot knows who to talk to.</p><ol><li><p>Find your new bot in Telegram (search for the username you just created)</p></li><li><p>Send it <code>/start</code></p></li><li><p>Open this URL in your browser, replacing <code>YOUR_TOKEN</code> with the token from BotFather:</p></li></ol><pre><code><code>https://api.telegram.org/botYOUR_TOKEN/getUpdates</code></code></pre><p>Look for <code>"id"</code> in the response. It&#8217;s a number like <code>123456789</code>. That&#8217;s your Chat ID.</p><p><strong>Common issue:</strong> If you see <code>{"ok":true,"result":[]}</code>, the message expired. Go back to Telegram, send <code>/start</code> again, then refresh the URL within a few seconds.</p><h3>What you should have now</h3><p>ItemExampleWhere you got itBot Token<code>123456789:ABCdef...</code>From BotFatherChat ID<code>123456789</code>From the getUpdates URL</p><p>Keep these somewhere safe. You&#8217;ll paste them during server setup.</p><div><hr></div><h2>Part 2: Set up your Hetzner server</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yaVY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yaVY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 424w, https://substackcdn.com/image/fetch/$s_!yaVY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 848w, https://substackcdn.com/image/fetch/$s_!yaVY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 1272w, https://substackcdn.com/image/fetch/$s_!yaVY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yaVY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png" width="1224" height="436" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:436,&quot;width&quot;:1224,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:58810,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yaVY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 424w, https://substackcdn.com/image/fetch/$s_!yaVY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 848w, https://substackcdn.com/image/fetch/$s_!yaVY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 1272w, https://substackcdn.com/image/fetch/$s_!yaVY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01d3d8b3-8d36-4f9c-ac00-d132eda938c4_1224x436.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Step 1: Create a Hetzner account</strong></p><p>Go to <a href="https://www.hetzner.com/cloud">hetzner.com/cloud</a> and sign up. You&#8217;ll need to add a payment method (credit card works).</p><p><strong>Step 2: Generate an SSH key</strong></p><p>SSH keys let you log into your server without a password. On your Mac or PC, open Terminal and run:</p><pre><code><code>ssh-keygen -t ed25519 -C "your@email.com"</code></code></pre><p>When it asks questions:</p><ul><li><p><strong>File location:</strong> Press Enter to accept the default</p></li><li><p><strong>Passphrase:</strong> Press Enter twice (no passphrase makes things easier)</p></li></ul><p>Now copy your public key:</p><pre><code><code>cat ~/.ssh/id_ed25519.pub</code></code></pre><p>You&#8217;ll see something like:</p><pre><code><code>ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your@email.com</code></code></pre><p><strong>Copy that entire line.</strong> You&#8217;ll paste it into Hetzner.</p><p></p><p><strong>Step 3: Create the server</strong></p><ol><li><p>Go to <a href="https://console.hetzner.cloud/">console.hetzner.cloud</a></p></li><li><p>Create a project (name it whatever you want)</p></li><li><p>Click <strong>+ Create Server</strong></p></li></ol><p>Use these settings:</p><ul><li><p><strong>Location</strong>: Falkenstein or Helsinki</p></li><li><p><strong>Image</strong>: Ubuntu 24.04</p></li><li><p><strong>Type</strong>: Shared Resources &#8594; Cost-Optimized &#8594; <strong>CX22</strong></p></li><li><p><strong>SSH Keys</strong>: Click &#8220;Add SSH Key&#8221; and paste your public key</p></li><li><p><strong>Name</strong>: <code>openclaw-agent</code></p></li></ul><p>Click <strong>Create &amp; Buy now</strong>. In about 30 seconds, you&#8217;ll have a server with an IP address like <code>112.111.2.221</code>.</p><p></p><h3>Step 4: Connect to your server</h3><p>In Terminal, run:</p><pre><code><code>ssh root@YOUR_SERVER_IP</code></code></pre><p>Replace <code>YOUR_SERVER_IP</code> with the actual IP from Hetzner. When it asks &#8220;Are you sure you want to continue connecting?&#8221; type <code>yes</code>.</p><p>You should see:</p><pre><code><code>Welcome to Ubuntu 24.04.3 LTS
root@ubuntu-4gb-hel1-1:~#</code></code></pre><p>You&#8217;re now inside your cloud server. Everything you type runs there, not on your laptop. First win! &#129395;</p><div><hr></div><h2>Part 3: Install OpenClaw</h2><p>Now the fun part. You&#8217;re on your server via SSH. Let&#8217;s install the AI.</p><p><strong>Step 1: Update the system</strong></p><p>Run this first (takes 1-2 minutes):</p><pre><code><code>apt update &amp;&amp; apt upgrade -y</code></code></pre><p><strong>Step 2: Install Node.js and OpenClaw</strong></p><p>OpenClaw requires Node.js 22 or newer. Install it first:</p><pre><code><code>curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs</code></code></pre><p>Now install OpenClaw:</p><pre><code><code>npm install -g openclaw@latest</code></code></pre><p>Then run the onboarding wizard:</p><pre><code><code>openclaw onboard --install-daemon</code></code></pre><p>The wizard walks you through:</p><ul><li><p>Accepting the security warning</p></li><li><p>Choosing your AI provider (Anthropic, OpenAI, etc.)</p></li><li><p>Pasting your API key</p></li><li><p>Configuring messaging channels</p></li></ul><p></p><p><strong>Step 3: Give your bot a personality</strong></p><p>OpenClaw asks what it should be. Type something like:</p><pre><code><code>Your name is Mochi. You're my AI assistant for design systems and coding projects. You help me monitor GitHub repos, analyze code, and automate tasks. Be helpful, proactive, and friendly.</code></code></pre><p>Press Enter.</p><p></p><h3>Step 4: Connect GitHub (optional but useful)</h3><p>If OpenClaw asks for GitHub access:</p><ol><li><p>Go to <a href="https://github.com/settings/tokens">github.com/settings/tokens</a></p></li><li><p>Click <strong>Generate new token (classic)</strong></p></li><li><p>Name it <code>openclaw</code></p></li><li><p>Check the <strong>repo</strong> scope</p></li><li><p>Generate and copy the token (starts with <code>ghp_...</code>)</p></li><li><p>Paste it into OpenClaw</p><p></p></li></ol><div><hr></div><h2>Part 4: Connect Telegram</h2><p>Almost there. Let&#8217;s hook up your bot to Telegram.</p><p>During onboarding, OpenClaw asks which messaging channels you want to use. Select Telegram and enter:</p><ul><li><p><strong>Bot Token:</strong> The token from BotFather</p></li><li><p><strong>Chat ID:</strong> Your personal Chat ID</p></li></ul><p>If you skipped this during onboarding, you can re-run:</p><pre><code><code>openclaw onboard</code></code></pre><p>And select Telegram when prompted for channels.</p><h3>Test it</h3><ol><li><p>Open Telegram on your phone</p></li><li><p>Go to your bot&#8217;s chat</p></li><li><p>Send: <code>hello</code></p></li></ol><p>You should get a response from your bot. If you do, it&#8217;s working.</p><div><hr></div><h2>Part 5: Keep it running forever</h2><p>When you connect to your server, you&#8217;re opening a &#8220;session.&#8221; Any programs you start live inside that session. When you close your laptop, disconnect from WiFi, or just close the Terminal window, that session ends. And when the session ends, everything running inside it gets killed.</p><p>It&#8217;s like having a conversation on the phone. The moment you hang up, the conversation stops. What we need is a way to start OpenClaw and have it keep running even after we &#8220;hang up&#8221; our SSH connection.</p><p>That&#8217;s what process managers do. They run your program in the background, completely independent of your SSH session. Even better, they can restart your program automatically if it crashes or if the server reboots.</p><p></p><h3>Option 1: PM2 (recommended)</h3><p>PM2 is the most popular process manager for Node.js applications. Think of it as a babysitter for your programs - it watches them, restarts them if they crash, and keeps logs of what happened.</p><pre><code><code>npm install -g pm2</code></code></pre><p>This installs PM2 globally on your server. You only need to do this once.</p><pre><code><code>pm2 start openclaw --name "openclaw"</code></code></pre><p>This tells PM2 to start OpenClaw and give it the nickname &#8220;openclaw&#8221; (so you can refer to it later). PM2 immediately moves it to the background.</p><pre><code><code>pm2 save</code></code></pre><p>This saves your current setup. PM2 now remembers that it should be running OpenClaw.</p><pre><code><code>pm2 startup</code></code></pre><p>This is the magic command. It creates a system service that starts PM2 automatically when your server boots up. PM2 then starts all saved processes (including OpenClaw).</p><p><strong>The result:</strong> You can now close your Terminal, shut down your laptop, go on vacation. OpenClaw keeps running. If the server restarts for any reason (updates, maintenance), OpenClaw comes back automatically.</p><h3>Verify it&#8217;s running</h3><p>After setting up PM2 (or daemon mode), disconnect from your server:</p><pre><code><code>exit</code></code></pre><p>Wait a few seconds, then send a message to your bot on Telegram. If it responds, congratulations - your AI assistant is now running independently of your computer.</p><h3>Check status anytime</h3><p>You can always SSH back in and check on things:</p><pre><code><code>pm2 list
# or
systemctl status openclaw</code></code></pre><div><hr></div><h2>Command Cheat Sheet</h2><p>Copy this and keep it somewhere handy:</p><pre><code><code>&#9484;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9488;
&#9474;                   OPENCLAW CHEAT SHEET                      &#9474;
&#9500;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9508;
&#9474; SERVER CONNECTION                                           &#9474;
&#9474;   ssh root@YOUR_IP          Connect to server               &#9474;
&#9474;   exit                      Disconnect from server          &#9474;
&#9500;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9508;
&#9474; OPENCLAW COMMANDS                                           &#9474;
&#9474;   openclaw onboard          Run setup wizard                &#9474;
&#9474;   openclaw onboard --install-daemon  Setup + auto-start     &#9474;
&#9474;   openclaw gateway          Start the control plane         &#9474;
&#9474;   openclaw agent --message  Send a task to your agent       &#9474;
&#9474;   openclaw doctor           Diagnose issues                 &#9474;
&#9474;   openclaw update           Update to latest version        &#9474;
&#9500;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9508;
&#9474; PM2 COMMANDS (PROCESS MANAGER)                              &#9474;
&#9474;   pm2 list                  Show running processes          &#9474;
&#9474;   pm2 logs openclaw          View live logs                  &#9474;
&#9474;   pm2 restart openclaw       Restart the bot                 &#9474;
&#9474;   pm2 stop openclaw          Stop the bot                    &#9474;
&#9474;   pm2 save                  Save current config             &#9474;
&#9474;   pm2 startup               Enable auto-start on boot       &#9474;
&#9500;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9508;
&#9474; SKILLS (via ClawdHub)                                       &#9474;
&#9474;   clawdhub install &lt;slug&gt;   Install a skill                 &#9474;
&#9474;   clawdhub update --all     Update all skills               &#9474;
&#9474;   Skills dir: ~/clawd/skills/                               &#9474;
&#9500;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9508;
&#9474; IN-CHAT COMMANDS                                            &#9474;
&#9474;   /status                   Show model and token usage      &#9474;
&#9474;   /new or /reset            Clear session history           &#9474;
&#9474;   /think &lt;level&gt;            Set reasoning depth             &#9474;
&#9474;   /verbose on|off           Toggle detailed output          &#9474;
&#9492;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9496;
</code></code></pre><p></p><h2>Troubleshooting</h2><p><strong>&#8220;Connection refused&#8221; when SSHing</strong><br>Double-check the IP address in Hetzner&#8217;s dashboard.</p><p><strong>OpenClaw command not found</strong><br>Run the install script again, then <code>source ~/.bashrc</code>.</p><p><strong>Bot not responding on Telegram</strong><br>Check the service status with <code>systemctl status openclaw</code> or <code>pm2 list</code>. Verify your Bot Token and Chat ID are correct by re-running <code>openclaw onboard</code>.</p><p><strong>Got disconnected from SSH</strong><br>Just reconnect with <code>ssh root@YOUR_IP</code>. OpenClaw keeps running if you set up PM2. </p><div><hr></div><h2>Cost breakdown</h2><p><strong>Infrastructure:</strong></p><ul><li><p><strong>Hetzner CX22</strong>: ~&#8364;4.35/month</p></li></ul><p></p><p><strong>AI Models (per 1M tokens in / out):</strong></p><ul><li><p><strong>Claude 3.5 Sonnet</strong>: $3 / $15 (~$0.01-0.03 per message)</p></li><li><p><strong>Claude 3.5 Haiku</strong>: $0.80 / $4 (~$0.005 per message)</p></li><li><p><strong>GPT-4o</strong>: $2.50 / $10 (~$0.01-0.02 per message)</p></li><li><p><strong>GPT-4o mini</strong>: $0.15 / $0.60 (~$0.001 per message)</p></li><li><p><strong>DeepSeek V3</strong>: $0.27 / $1.10 (~$0.002 per message)</p></li></ul><p></p><p><strong>Realistic monthly API costs:</strong></p><ul><li><p>Light use (10 messages/day): $3-10/month</p></li><li><p>Moderate use (50 messages/day): $15-50/month</p></li><li><p>Heavy use (automated tasks running overnight): $50 &#8594; </p><p></p></li></ul><h3>Mac Mini vs. Server Cost Comparison</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3YGl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3YGl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 424w, https://substackcdn.com/image/fetch/$s_!3YGl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 848w, https://substackcdn.com/image/fetch/$s_!3YGl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 1272w, https://substackcdn.com/image/fetch/$s_!3YGl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3YGl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png" width="1456" height="687" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:687,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:55566,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/186237503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3YGl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 424w, https://substackcdn.com/image/fetch/$s_!3YGl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 848w, https://substackcdn.com/image/fetch/$s_!3YGl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 1272w, https://substackcdn.com/image/fetch/$s_!3YGl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3230a568-739d-4e20-9e0b-9bfff7b6b547_2268x1070.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>The Complete System </h2><p>The guide above gets you a working AI assistant. But if you want OpenClaw to actually help with design system work, you need the right skills and configuration.</p><p></p><h3>1. Design System Skills Pack</h3><p>Skills teach OpenClaw how to use tools. Each skill is a <code>SKILL.md</code> file with instructions. Browse available skills at <a href="https://clawdhub.com/">ClawdHub</a>.</p><p><strong>Install skills via ClawdHub CLI:</strong></p><pre><code><code>clawdhub install steipete/bird      # Twitter/X access
clawdhub install steipete/goplaces  # Google Places API
clawdhub update --all               # Update all installed skills</code></code></pre><p><strong>Some useful skills for design system work:</strong></p><ul><li><p><code>bird</code>: Monitor design system discussions on X, post updates</p></li><li><p><strong>Web browsing</strong> (bundled): Research design patterns, check documentation</p></li><li><p><strong>File system</strong> (bundled): Monitor token files, read component code</p></li><li><p><strong>Git</strong> (bundled): Track repo changes, review commits</p></li></ul><p></p><p><strong>Create your own skill:</strong></p><p>Skills live in <code>~/clawd/skills/</code>. Create a folder with a <code>SKILL.md</code>:</p><pre><code><code>---
name: token-validator
description: Validates design token usage in code files
---

## Instructions

When asked to validate tokens:
1. Scan files for raw hex colors (#XXXXXX)
2. Check for primitive tokens used in components
3. Report violations with file paths and line numbers
</code></code></pre><p>OpenClaw learns from your SKILL.md and applies those instructions when relevant.</p><p></p><h3>2. SOUL.md Template</h3><p>This is the personality file that shapes how OpenClaw thinks and responds. Copy this into <code>~/clawd/SOUL.md</code>:</p><pre><code><code># Identity

You are a Design System Assistant specialized in helping design and engineering teams maintain consistency, quality, and adoption of their design system.

## Core responsibilities

1. **Token management**: Monitor token files for changes, validate naming conventions, flag breaking changes
2. **Component health**: Track component usage, identify inconsistencies, suggest consolidation opportunities
3. **Documentation**: Keep docs current, generate changelogs, answer team questions
4. **Adoption support**: Help teams migrate to new components, explain design decisions, provide code examples

## How you communicate

- Be direct and specific. "Button uses wrong token" not "there might be an issue"
- Include file paths and line numbers when referencing code
- Provide copy-paste solutions when possible
- Flag severity: &#128308; breaking, &#128993; warning, &#128994; info

## What you monitor

- Changes to `/tokens/` directory
- PRs that modify component files
- Issues tagged with `design-system`
- Figma file updates (when connected)

## Scheduled tasks

- **Daily 9am**: Summarize overnight PRs affecting design system
- **Weekly Monday**: Generate component usage report
- **On PR merge**: Check for token violations in changed files

## Token naming conventions

Follow this hierarchy:
- Primitive: `color.blue.500`, `spacing.4`
- Semantic: `color.background.primary`, `color.text.danger`
- Component: `button.background.default`, `input.border.focus`

Flag violations when:
- Raw hex values used instead of tokens
- Primitive tokens used directly in components
- Semantic intent doesn't match usage (e.g., `danger` on non-destructive action)

## Response format for alerts

When alerting about issues, use this format:

**[SEVERITY] Issue Title**
- File: `path/to/file.ts:42`
- Problem: What's wrong
- Fix: How to resolve it
- Context: Why this matters
</code></code></pre><p>Customize the scheduled tasks and monitoring paths to match your repo structure.</p><div><hr></div><h3>3. GitHub Webhook Setup</h3><p>Make OpenClaw respond to repository events in real time. This requires the Gateway service to be running.</p><p></p><p><strong>Step 1: Generate a webhook secret</strong></p><p>Ask it to create a webhook based on your configuration and it will help you. </p><p><strong>Step 4: Add webhook to GitHub</strong></p><ol><li><p>Go to your repo &#8594; Settings &#8594; Webhooks &#8594; Add webhook</p></li><li><p><strong>Payload URL</strong>: <code>https://webhook.yourdomain.com/github</code></p></li><li><p><strong>Content type</strong>: <code>application/json</code></p></li><li><p><strong>Secret</strong>: The hex string from Step 1</p></li><li><p><strong>Events</strong>: Select &#8220;Let me select individual events&#8221;</p><ul><li><p>Pull requests</p></li><li><p>Push</p></li><li><p>Issues</p></li><li><p>Issue comments</p></li></ul></li></ol><p><strong>Step 5: Test it</strong></p><p>Create a test PR. Within seconds, OpenClaw should message you on Telegram with a summary.</p><div><hr></div><h3>4. Automation Recipes</h3><p>Five ready-to-use workflows. Tell OpenClaw to set these up, or configure manually.</p><p><strong>&#10024; Recipe 1: Token Sync Alerts</strong></p><p>Trigger: Any push to <code>tokens/</code> directory</p><pre><code><code>When files in /tokens/ change:
1. Parse the diff
2. Identify added/removed/modified tokens
3. Check for breaking changes (removed or renamed tokens)
4. Send Telegram alert with summary
5. If breaking: tag as &#128308;, list affected components</code></code></pre><p></p><p><strong>&#10024;  Recipe 2: PR Review Summaries</strong></p><p>Trigger: New PR opened</p><pre><code><code>When a new PR is opened:
1. Read the PR description and changed files
2. Identify design system impact:
   - New components?
   - Token changes?
   - Breaking changes?
3. Generate summary for Telegram:
   - PR title and author
   - Files changed (grouped by type)
   - Design system impact assessment
   - Suggested reviewers</code></code></pre><p></p><p><strong>&#10024; Recipe 3: Component Usage Reports</strong></p><p>Trigger: Weekly (Monday 9am)</p><pre><code><code>Every Monday at 9am:
1. Scan codebase for component imports
2. Count usage per component
3. Identify:
   - Most used components
   - Unused components (candidates for deprecation)
   - Components with declining usage
4. Generate markdown report
5. Post to Slack/Telegram and save to /reports/</code></code></pre><p></p><p><strong>&#10024;  Recipe 4: Documentation Updates</strong></p><p>Trigger: Component file changes merged to main</p><pre><code><code>When component files change on main:
1. Parse the component's props/API
2. Compare with existing documentation
3. If mismatched:
   - Generate updated docs
   - Create PR with changes
   - Alert on Telegram</code></code></pre><p></p><p><strong>&#10024; Recipe 5: Weekly Health Check</strong></p><p>Trigger: Sunday 8pm</p><pre><code><code>Every Sunday at 8pm:
1. Run token validation across all files
2. Check for console warnings in component tests
3. Verify all components have documentation
4. Count open design system issues
5. Generate health score (0-100)
6. Send weekly digest:
   - Health score trend
   - Top 3 issues to address
   - Wins from this week</code></code></pre><p><strong>How to set up a recipe:</strong></p><p>Tell OpenClaw in plain English:</p><pre><code><code>Set up a scheduled task: Every Monday at 9am, scan the codebase
for component imports, count how often each is used, and send
me a summary on Telegram. Save the full report to /reports/weekly/
</code></code></pre><p>OpenClaw will create the automation and confirm the schedule.</p><p></p><p><strong>Are you stuck?</strong></p><ol><li><p>Check the <a href="https://discord.gg/openclaw">OpenClaw Discord</a> for community help</p></li><li><p>Search <a href="https://github.com/openclaw/openclaw/issues">GitHub Issues</a></p></li><li><p>Run <code>openclaw doctor</code> for automated diagnostics</p></li></ol><div><hr></div><h2>What&#8217;s next</h2><p>Once you have OpenClaw running:</p><ol><li><p><strong>Browse and install skills</strong> from <a href="https://clawdhub.com/">ClawdHub</a>:</p></li></ol><pre><code><code>clawdhub install steipete/bird
clawdhub install steipete/goplaces</code></code></pre><ol><li><p><strong>Set up GitHub webhooks</strong> so your AI monitors your repos</p></li><li><p><strong>Add more integrations</strong> like Discord or Slack</p></li><li><p><strong>Customize the personality</strong> by editing SOUL.md in your workspace</p></li></ol><div><hr></div><p>You now have a personal AI assistant running 24/7 in the cloud. You control it from Telegram on your phone. And unlike ChatGPT or Claude.ai, it&#8217;s yours to customize however you want.</p><p>More to come &#8230; </p><p>Enjoy exploring and stay careful. &#128588;</p><div><hr></div><p><strong>Explore more </strong></p><p>&#128279; <a href="https://www.hetzner.com/cloud">Hetzner Cloud</a> &#8594; Affordable European cloud hosting</p><p>&#128279; <a href="https://docs.openclaw.ai/">OpenClaw Documentation</a> &#8594; Official documentation</p><p>&#128279; <a href="https://github.com/steipete/openclaw">OpenClaw GitHub</a> &#8594; Source code and issues</p><p>&#128279; <a href="https://openclaw.ai/">OpenClaw Website</a> &#8594; Project homepage</p><p>&#128279; <a href="https://t.me/botfather">Telegram BotFather</a> &#8594; Create Telegram bots</p><p>&#128279; <a href="https://console.anthropic.com/">Anthropic Console</a> &#8594; Get your Claude API key</p><p>&#128279; <a href="https://pm2.keymetrics.io/">PM2</a> &#8594; Node.js process manager</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Figma Console MCP Repo by TJ Pitre </strong></p><p>Your design system as an API. Connect AI to Figma for extraction, creation, and debugging.<br><br><strong>&#128279; <a href="https://github.com/southleft/figma-console-mcp">Link</a></strong></p><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b552e4d6-f367-4319-9309-e47ba1dbd1b0&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How I'd build a design system if I started over in 2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-09T11:59:19.321Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UYfg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-id-build-a-design-system-if-i&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:183904911,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:53,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p>]]></content:encoded></item><item><title><![CDATA[Design systems team structure in 2026]]></title><description><![CDATA[AI changed it]]></description><link>https://learn.thedesignsystem.guide/p/design-systems-team-structure-in</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/design-systems-team-structure-in</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 23 Jan 2026 13:58:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HKBJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HKBJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HKBJ!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!HKBJ!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!HKBJ!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!HKBJ!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HKBJ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14198791,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/185401383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HKBJ!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!HKBJ!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!HKBJ!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!HKBJ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee2f53bb-7ab6-449b-9c5e-49764cfc5f32_1456x970.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you&#8217;re anything like me, you&#8217;re tired of the same recycled advice about design system teams.</p><p>&#8220;Hire a design systems engineer.&#8221; &#8220;You need a dedicated team of 5.&#8221; &#8220;Document everything.&#8221; The playbooks written in 2022 still get passed around as gospel, even though the world shifted A LOT. </p><p><strong>The &#8220;right&#8221; team size changed dramatically in the past two years.</strong> What required 3 people in 2023 can now often be done by 1 person with the right AI toolkit. And what required a much larger enterprise org can now often be done by a smaller, senior team. Well, if the whole delivery system evolves (review, testing, release), not just &#8220;writing code.&#8221;</p><p>But here&#8217;s the uncomfortable part:<strong> the landscape now changes almost weekly.</strong></p><p>New AI capabilities drop constantly. Claude gets better. Cursor ships new features. MCP servers unlock new integrations. What was impossible 6 months ago becomes trivial this month.</p><p>This creates a paralyzing question I hear from every design system team: <strong>when does it make sense to invest in upskilling?</strong></p><p>Most teams are stuck in this loop:</p><ul><li><p>&#8220;We should probably learn these AI tools properly.&#8221;</p></li><li><p>&#8220;We should create our own LLM.&#8221;</p></li><li><p>&#8220;But what if everything changes again next month?&#8221;</p></li><li><p>&#8220;The time investment feels bigger than the payoff.&#8221;</p></li><li><p>&#8220;Let&#8217;s wait until things stabilize.&#8221; &#129760;</p></li></ul><p>The problem? <strong>Things won&#8217;t stabilize. </strong></p><p>The teams waiting for the &#8220;right time&#8221; are falling further behind those that have accepted that continuous learning is now part of the job.</p><p>The ROI calculation has flipped. The question isn&#8217;t &#8220;is it worth the investment?&#8221;<strong> It&#8217;s &#8220;can you afford NOT to, when your competitors are shipping 2-3x faster?</strong>&#8221;</p><p>This isn&#8217;t about replacing humans. It&#8217;s about understanding which roles become MORE important with AI, and which tasks you can delegate to AI tools.</p><p>I want to share 5 ideas on design system team structure that challenge the conventional wisdom and actually reflect reality in 2026.</p><p>Let&#8217;s begin.</p><div><hr></div><h2>The cheat sheet: company size &#8594; team structure </h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tzQb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tzQb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 424w, https://substackcdn.com/image/fetch/$s_!tzQb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 848w, https://substackcdn.com/image/fetch/$s_!tzQb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 1272w, https://substackcdn.com/image/fetch/$s_!tzQb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tzQb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png" width="1456" height="1733" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1733,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1112566,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/185401383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tzQb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 424w, https://substackcdn.com/image/fetch/$s_!tzQb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 848w, https://substackcdn.com/image/fetch/$s_!tzQb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 1272w, https://substackcdn.com/image/fetch/$s_!tzQb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ef048a-5586-4e34-a226-3a160bab3b2b_2268x2700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>You aren&#8217;t struggling with headcount. You&#8217;re struggling with leverage.</h2><p>Most design system leads I talk to have the same complaint: &#8220;We need more people.&#8221;</p><p>But when I dig into how they spend their time, I find the same pattern. Senior engineers writing documentation. Designers are manually auditing token usage. Leads are drowning in Slack support requests while their roadmap collects dust.</p><p>They don&#8217;t have a headcount problem. They have a leverage problem.</p><p><strong>The reality is that design system work falls into two categories: work that requires human judgment and work that doesn&#8217;t.</strong></p><p>Human judgment work:</p><ul><li><p>Deciding which components to build next</p></li><li><p>Designing APIs that will scale</p></li><li><p>Building relationships with product teams</p></li><li><p>Navigating organizational politics</p></li><li><p>Solving novel accessibility challenges</p></li></ul><p>Non-judgment work:</p><ul><li><p>Writing the first draft of documentation</p></li><li><p>Scaffolding component boilerplate</p></li><li><p>Auditing tokens for consistency</p></li><li><p>Generating changelogs from commits</p></li><li><p>Triaging support tickets</p></li></ul><p>In 2023, we had to do both categories ourselves. In 2026, AI handles the second category with minimal oversight.</p><blockquote><p><strong>If you want to scale your design system, you must have the systems that create scale before you add headcount.</strong></p></blockquote><p>Most teams add people first. Then wonder why the output doesn&#8217;t double. The new person gets absorbed into the same inefficient workflows. You pay for two people to do what one person with better leverage could accomplish.</p><p>I&#8217;ve seen 3-person teams outperform 10-person teams. Not because they worked harder. Because they understood which work to automate, which to delegate, and which to own.</p><p>The team of 10? They had more hands, but every hand was doing low-leverage work.</p><div><hr></div><h2>The traditional team models are obsolete. Here&#8217;s what replaced them.</h2><p></p><h3>The 1-person design system team (2026 edition)</h3><p>You&#8217;re alone. You have to:</p><ul><li><p>Design components in Figma</p></li><li><p>Build them in code</p></li><li><p>Write documentation</p></li><li><p>Evangelize adoption</p></li><li><p>Handle support requests</p></li><li><p>Maintain governance</p></li><li><p>Plan the roadmap</p></li></ul><p>In 2023, this was nearly impossible to do well. Something always suffered (usually documentation and adoption).</p><p>But even with AI, there&#8217;s a ceiling. One person cannot:</p><ul><li><p>Build deep relationships across 10+ product teams</p></li><li><p>Ship major components AND do adoption evangelism simultaneously</p></li><li><p>Handle a design system used by 100+ developers</p></li></ul><p>AI extends your reach. It doesn&#8217;t give you infinite capacity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aYeM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aYeM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 424w, https://substackcdn.com/image/fetch/$s_!aYeM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 848w, https://substackcdn.com/image/fetch/$s_!aYeM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!aYeM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aYeM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png" width="1456" height="523" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:523,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:95006,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/185401383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!aYeM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 424w, https://substackcdn.com/image/fetch/$s_!aYeM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 848w, https://substackcdn.com/image/fetch/$s_!aYeM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!aYeM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2966167-aaa8-4b83-9e2d-e3791febdbe9_2880x1034.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>Warning: The 1-person + AI model only works if...</h4><p>This model is compelling, but it&#8217;s easy to dangerously over-generalize. It only works under specific conditions:</p><ul><li><p><strong>Senior-level experience</strong> <br>You&#8217;ve shipped design systems before. You know what good looks like. AI can&#8217;t replace the judgment you&#8217;ve built over years.</p></li><li><p><strong>Organizational trust</strong> <br>Leadership gives you autonomy to make decisions without endless approval cycles. If every component needs a committee, AI won&#8217;t save you.</p></li><li><p><strong>Product maturity</strong> <br>Your company&#8217;s product patterns are relatively stable. If requirements change weekly, you&#8217;ll spend all your time on context-switching, not leveraging AI.</p></li><li><p><strong>Technical foundation</strong> <br>You can set up your own tooling. If you need someone else to configure CI/CD, MCP servers, or AI integrations, this model breaks down.</p></li><li><p><strong>Scope discipline</strong> <br>You can say &#8220;no&#8221; to requests. One person + AI can maintain 20-40 components well. Trying to maintain 100 components solo is a path to burnout.</p></li></ul><p></p><p><strong>Red flags this model won&#8217;t work:</strong></p><ul><li><p>Your org expects a &#8220;design system team&#8221; to also run the component library, documentation site, design ops, AND Figma governance</p></li><li><p>You&#8217;re expected to support 5+ product teams with conflicting priorities, design changes, endless meetings, etc.</p></li><li><p>There&#8217;s no executive sponsor who shields you from scope creep</p></li><li><p>You&#8217;re junior/mid-level and still building core design system skills</p></li></ul><p>If you don&#8217;t have these prerequisites, push for a 3-person team before accepting the solo + AI role.</p><p></p><h3>The 3-person model</h3><p><strong>The 3-person model (2023):</strong></p><ul><li><p>Design Systems Lead (Figma, design decisions, documentation)</p></li><li><p>Design System Engineer (code, CI/CD, tooling)</p></li><li><p>Product/Ops (roadmap, adoption, support)</p></li></ul><p>This made sense when each domain required full-time effort. Documentation alone could consume 30% of someone&#8217;s week.</p><p></p><p><strong>The 3-person model (2026):</strong></p><ul><li><p>Design Systems Lead (strategy, governance, adoption &#8211; 60% strategic, 40% hands-on)</p></li><li><p>Design Systems Engineer (components, CI/CD, AI tooling, MCP servers)</p></li><li><p>Design Engineer (Figma library, design-to-code, prototyping, documentation)</p></li></ul><p></p><p>Every team member needs these AI-era skills:</p><ul><li><p><strong>Prompt engineering basics</strong>: Writing effective prompts for consistent output</p></li><li><p><strong>AI orchestration</strong>: Knowing which tool to use for which task</p></li><li><p><strong>Quality control mindset</strong>: AI output requires review; knowing what to check</p></li><li><p><strong>MCP/API literacy</strong>: Understanding how to connect AI to your systems</p></li></ul><p></p><p>Traditional<strong> &#8594; now handled by: </strong></p><p>Documentation writing &#8594; <strong>AI-assisted, owned by whoever builds the component </strong></p><p>Support ticket responses &#8594; <strong>AI triage + templates, minimal human time</strong></p><p>Changelog maintenance &#8594;<strong> Automated from commits</strong></p><p>Usage analytics reports &#8594; <strong>Dashboards + MCP servers querying data</strong></p><p>Contribution process &#8594; <strong>Templated workflows, AI-assisted code review</strong></p><p></p><p><strong>The real question isn&#8217;t &#8220;how many people?&#8221; anymore. It&#8217;s &#8220;how many people doing WHAT?&#8221;</strong></p><p></p><p><strong>What a 3-person team can realistically achieve </strong>with AI augmentation in 2026:</p><ul><li><p>50-100 components maintained</p></li><li><p>Support for a few product teams</p></li><li><p>Bi-weekly release cadence</p></li><li><p>Comprehensive documentation (AI-assisted)</p></li><li><p>Basic design token automation</p></li><li><p>Visual regression testing</p></li><li><p>Accessibility compliance monitoring</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q0Ee!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q0Ee!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 424w, https://substackcdn.com/image/fetch/$s_!q0Ee!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 848w, https://substackcdn.com/image/fetch/$s_!q0Ee!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 1272w, https://substackcdn.com/image/fetch/$s_!q0Ee!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q0Ee!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png" width="1200" height="510.989010989011" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:620,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:121912,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/185401383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!q0Ee!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 424w, https://substackcdn.com/image/fetch/$s_!q0Ee!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 848w, https://substackcdn.com/image/fetch/$s_!q0Ee!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 1272w, https://substackcdn.com/image/fetch/$s_!q0Ee!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcf52c9-bd99-46c9-97da-90f75a0b711f_2880x1227.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>The 10-person design system team (2026 edition)</h3><p>At 10 people, you&#8217;re running what&#8217;s essentially an internal product. The challenge shifts from &#8220;can we build it?&#8221; to &#8220;can we coordinate it?&#8221;</p><p>Most 10-person design system teams fail not because they lack talent. They fail because they lack clarity.</p><ul><li><p>Nobody knows who decides what</p></li><li><p>Design and engineering work in parallel silos</p></li><li><p>Governance becomes bureaucratic gatekeeping</p></li><li><p>AI tools are used inconsistently (or not at all)</p></li><li><p>No change log (or decisions log)</p><p></p></li></ul><p><strong>Here&#8217;s what the optimal 10-person team looks like in 2026:</strong></p><p><strong>Strategic Layer (3 people):</strong></p><ul><li><p>Director: Exec alignment, strategy, vision</p></li><li><p>Product Manager: Roadmap, metrics, prioritization</p></li><li><p>Adoption Lead: Evangelism, training, support relationships</p></li></ul><p><strong>Design Layer (2-3 people):</strong></p><ul><li><p>Lead Designer: Architecture, governance</p></li><li><p>Design Engineer: Figma + Code, prototyping</p></li><li><p>Visual Designer (optional): Multi-brand systems</p></li></ul><p><strong>Engineering Layer (3-4 people):</strong></p><ul><li><p>Engineering Manager: Architecture, code quality</p></li><li><p>Platform Engineer: AI infra, CI/CD, MCP servers</p></li><li><p>Frontend Engineers (x2): Components, features</p></li></ul><p><strong>Specialized (1-2 people):</strong></p><ul><li><p>Accessibility Specialist: Compliance, auditing, training</p></li><li><p>Developer Experience (optional): Docs, AI tooling, prompt libraries</p><p></p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X3Tc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X3Tc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 424w, https://substackcdn.com/image/fetch/$s_!X3Tc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 848w, https://substackcdn.com/image/fetch/$s_!X3Tc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 1272w, https://substackcdn.com/image/fetch/$s_!X3Tc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X3Tc!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png" width="1200" height="531.5934065934066" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:645,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:118383,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/185401383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!X3Tc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 424w, https://substackcdn.com/image/fetch/$s_!X3Tc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 848w, https://substackcdn.com/image/fetch/$s_!X3Tc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 1272w, https://substackcdn.com/image/fetch/$s_!X3Tc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2fe2339-cadb-4b1f-a2ef-88b61a79152a_2880x1275.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>The hiring signals that actually matter </h3><p>Don&#8217;t hire based on company size. Hire based on these signals:</p><ul><li><p>You&#8217;re spending more than 50% of time on support and maintenance</p></li><li><p>Adoption has stalled because you can&#8217;t do outreach</p></li><li><p>You have a backlog of 6+ months of component requests</p></li><li><p>Teams are building workarounds because they can&#8217;t wait for you</p></li><li><p>You&#8217;re burning out</p><p></p></li></ul><div><hr></div><h2>The skills that became MORE valuable</h2><p><strong>Own these:</strong></p><ul><li><p><strong>Strategic decisions</strong>: Which components to build next</p></li><li><p><strong>Design quality</strong>: Ensuring components solve real problems</p></li><li><p><strong>Relationship building</strong>: Getting teams to actually adopt the system</p></li><li><p><strong>Governance frameworks</strong>: Setting the rules (even if AI helps enforce them)</p></li><li><p><strong>Complex problem-solving</strong>: Edge cases, accessibility nuances, cross-platform considerations</p></li></ul><p><strong>Delegate to AI:</strong></p><ul><li><p>First drafts of documentation</p></li><li><p>Code scaffolding and boilerplate</p></li><li><p>Token validation and linting</p></li><li><p>Changelog and release notes</p></li><li><p>Support ticket triage and initial responses</p></li></ul><p><strong>Delegate to product teams (with good tooling):</strong></p><ul><li><p>Basic component usage</p></li><li><p>Bug reports with clear templates</p></li><li><p>Contribution of simple patterns</p></li></ul><p></p><p><strong>Roles that are becoming MORE important in 2026:</strong></p><p><strong>1. Adoption Lead</strong></p><p>AI can generate components. It can write documentation. It can even respond to support tickets.</p><p>What AI cannot do is convince a skeptical product team to use your system instead of their custom solution. It cannot navigate the politics of a reorg. It cannot sit in a room and understand why adoption stalled.</p><p>The companies winning at design systems in 2026 have someone dedicated to this. Not as a side responsibility. As the main job.</p><p><strong>2. Platform Engineer</strong></p><p>Someone needs to set up and maintain the AI infrastructure. MCP servers. Automation pipelines. The tooling that lets AI access your design system data.</p><p>Most teams underinvest here. They use AI tools but don&#8217;t customize them for their context. They get generic outputs because they provide generic inputs.</p><p><strong>3. Accessibility Specialist</strong></p><p>AI catches basic accessibility issues. It can run automated scans and flag obvious violations.</p><p>But accessibility at scale requires human expertise for edge cases, cultural considerations, and training teams to think accessibly from the start. This role became more important, not less.</p><p><strong>4. Developer Experience Engineer</strong></p><p>With AI-assisted development, the quality of your AI tooling setup directly impacts productivity. The prompts. The context. The MCP configurations.</p><p>This role didn&#8217;t exist in 2023. In 2026, it&#8217;s a competitive advantage.</p><p></p><p><strong>Roles that shrunk or merged:</strong></p><p><strong>1. Technical Writer (as a standalone role)</strong></p><p>Documentation is now AI-assisted and owned by builders, not a separate function. The writer role evolved into &#8220;documentation architect&#8221; &#8211; someone who designs the structure and reviews AI output.</p><p><strong>2. Junior Developers</strong></p><p>AI handles much of what junior devs used to do. Copy-paste patterns. Boilerplate scaffolding. Basic component implementation.</p><p>Fewer junior roles, but those who remain need AI collaboration skills. The junior dev of 2026 is more like the mid-level dev of 2020.</p><p><strong>3. Pure Visual Designers</strong></p><p>Design engineers who can implement are more valuable than designers who only produce Figma files.</p><div><hr></div><h2>The 2026 Formula</h2><p><strong>Fewer people + Higher seniority + AI augmentation = Same or better output</strong></p><p>A 1-person team with AI beats a 1-person team without.<br>A 3-person team with clear roles beats a 5-person team with unclear ownership.<br>A 10-person team with defined accountability beats a 15-person team playing politics.</p><p></p><p><strong>Your design system team structure isn&#8217;t about hitting a magic number. It&#8217;s about:</strong></p><ol><li><p>Understanding what AI changed</p></li><li><p>Investing in the right roles </p></li><li><p>Matching structure to stage </p></li><li><p>Watching the signals </p><p></p></li></ol><p>Start by auditing your current team against these models. What&#8217;s your biggest gap?</p><p>That&#8217;s where you either hire or leverage AI.</p><p>I&#8217;ve gathered more articles below, if you want to dig in to numbers or experiences from other companies.</p><p></p><p>Stay tuned and enjoy the process,</p><p>Romina </p><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Into Design Systems&quot;,&quot;id&quot;:116470739,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e518e3-7e50-49ed-9202-81959be5e861_256x256.jpeg&quot;,&quot;uuid&quot;:&quot;538e222a-80bb-4cf8-a83c-ac2f95775c76&quot;}" data-component-name="MentionToDOM"></span> Hackathon</p><p><strong>February 6-8 2026 - Online</strong></p><p>I am part of the jury and will also help you to hack faster ;) See you there. &#128522;<br><br><strong>&#128279; <a href="https://www.intodesignsystems.com/hackathon">Link</a></strong></p><div><hr></div><p></p><ul><li><p><a href="https://www.builder.io/blog/best-ai-tools-2026">84% of developers were using or planning to use AI tools in 2025</a></p></li><li><p><a href="https://www.secondtalent.com/resources/github-copilot-statistics/">GitHub Copilot now generates 46% of all code written by active users</a></p></li><li><p><a href="https://www.linkedin.com/pulse/design-2025-navigating-ai-revolution-redefining-our-role-phillip-pqzoe/">Design in 2025: Navigating the AI Revolution and Redefining Our Role</a></p></li><li><p><a href="https://www.aboutchromebooks.com/github-copilot-statistics/">90% of Fortune 100 companies utilize GitHub Copilot</a></p></li><li><p><a href="https://www.secondtalent.com/resources/github-copilot-statistics/">Developers complete tasks 55% faster with GitHub Copilot</a></p></li><li><p><a href="https://visualstudiomagazine.com/articles/2024/11/22/article_0github-copilot-research-claims-code-quality-gains-in-addition-to-productivity.aspx">Average time to open a pull request dropped from 9.6 days to 2.4 days</a> </p></li><li><p><a href="https://uxdesign.cc/the-death-of-design-expertise-how-ai-is-reshaping-creative-industries-forever-3aeb96f3edcb">The death of design expertise? How AI is reshaping creative industries forever</a></p></li><li><p><a href="https://zeroheight.com/blog/design-systems-report-2025-an-overview/">Design Systems Report 2025 - An overview</a></p></li><li><p><a href="https://thom.eu/resources/article/top-5-trends-for-2025-how-ai-change-and-employee-experience-are-shaping-organizational-design/">Top 5 Trends for 2025: How AI, Change, and Employee Experience Are Shaping Organizational Design</a></p></li><li><p><a href="https://www.digitalocean.com/resources/articles/github-copilot-vs-cursor">Cursor study showed 39% increase in merged pull requests</a></p></li><li><p><a href="https://aijourn.com/your-dev-team-structure-is-already-outdated-how-ai-code-gen-really-changes-hiring-roles-in-2025/">Gartner estimates 80% of engineers will need to reskill by 2027</a></p></li><li><p><a href="https://technext.it/ai-team-structure/">&#8220;Hiring someone who can see the big picture and work well with AI reduces the need for large, specialized teams&#8221;</a></p><p></p></li></ul><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3></h3><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Introducing Taste 1.0: A Model for Designers]]></title><description><![CDATA[Here's how to use it]]></description><link>https://learn.thedesignsystem.guide/p/introducing-taste-10-a-model-for</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/introducing-taste-10-a-model-for</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 16 Jan 2026 11:28:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Lix1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Lix1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Lix1!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!Lix1!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!Lix1!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!Lix1!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Lix1!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7233587,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Lix1!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!Lix1!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!Lix1!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!Lix1!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff93c11-02b2-49db-a88b-9be7809d5963_1456x970.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Today I&#8217;m releasing Taste 1.0, a new model specifically designed for design system work.</p><p>Key capabilities:</p><ul><li><p>Generates components that match your system&#8217;s conventions</p></li><li><p>Knows when to use <code>ghost</code> vs <code>secondary</code> vs <code>tertiary</code></p></li><li><p>Understands your spacing scale, your naming patterns, your anti-patterns</p></li><li><p>Ships accessibility by default</p></li><li><p>Never invents a new variant when an existing one works</p></li></ul><p></p><p>Availability: today. </p><p>The model is a folder of markdown files. &#128579;</p><p></p><p>I knoooow. You were hoping for something with 400 billion parameters and a clever name. But here is the thing:</p><p>You ask AI to generate a component. It ships something that looks fine. Then you paste it into your product, and it sticks out. Wrong spacing. Wrong naming. Wrong defaults. Wrong &#8220;feel&#8221;.</p><p>And you think: &#8220;I need a better model.&#8221;</p><p>You probably do not.</p><p>You need a &#8220;<strong>taste layer,</strong>&#8221; or in other words, <strong>an opinionated, structured set of guidelines.</strong> The best model in the world does not know what &#8220;good or good looking&#8221; means at your company. It does not know that you rejected <code>outline</code> buttons in 2025. It does not know that your spacing scale is 4px-based, not 8px. It does not know that <code>color.text.muted</code> it is for helper text, not placeholders.</p><p>No model knows this. No model will ever know this.</p><p>Unless you tell it.</p><p>That is what your set of markdown files can be. Your judgment, decisions, and taste, saved as context.</p><div><hr></div><h2>Two signals that this is where we are heading</h2><p>First, Gartner predicts that by 2027, organizations will use small, task-specific AI models <strong>3x more</strong> than general-purpose LLMs (<a href="https://www.gartner.com/en/newsroom/press-releases/2025-04-09-gartner-predicts-by-2027-organizations-will-use-small-task-specific-ai-models-three-times-more-than-general-purpose-large-language-models?utm_source=chatgpt.com">Gartner press release</a>).</p><p>However, we already moved from &#8220;<strong>pick a smart model</strong>&#8221; to &#8220;<strong>build a smart system</strong>&#8221;.  And please don&#8217;t get me wrong, which model you choose still affects what you get in the end. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2UvS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2UvS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 424w, https://substackcdn.com/image/fetch/$s_!2UvS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 848w, https://substackcdn.com/image/fetch/$s_!2UvS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 1272w, https://substackcdn.com/image/fetch/$s_!2UvS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2UvS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png" width="946" height="443" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:443,&quot;width&quot;:946,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:91729,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2UvS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 424w, https://substackcdn.com/image/fetch/$s_!2UvS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 848w, https://substackcdn.com/image/fetch/$s_!2UvS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 1272w, https://substackcdn.com/image/fetch/$s_!2UvS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2399fe53-e687-4c37-8eda-095dda8e6b37_946x443.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Model system vs model taste</h2><p>Here is the simplest way I can explain it:</p><ul><li><p><strong>Model system</strong>: the base model&#8217;s general capability. It can write, code, reason, and remix patterns. (Claude, GPT, Gemini, Llama, etc.)</p></li><li><p><strong>Model taste</strong>: your organization&#8217;s judgment layer. It defines what &#8220;good&#8221; means here. (Your markdown files: ds-core.md, ds-components.md, etc.)</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HTlS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HTlS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 424w, https://substackcdn.com/image/fetch/$s_!HTlS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 848w, https://substackcdn.com/image/fetch/$s_!HTlS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!HTlS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HTlS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png" width="1456" height="665" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:665,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:88977,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HTlS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 424w, https://substackcdn.com/image/fetch/$s_!HTlS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 848w, https://substackcdn.com/image/fetch/$s_!HTlS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!HTlS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3252522d-28fe-45ed-9b5c-5d0d07947acb_2880x1316.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Your taste lives in the files you maintain:</p><ul><li><p><code>ds-core.md</code> says &#8220;use semantic tokens, never raw hex&#8221;</p></li><li><p><code>ds-components.md</code> says &#8220;max 4 variants per component.&#8221;</p></li><li><p><code>ds-tokens.md</code> says &#8220;we rejected 8px spacing in favor of 4px for density&#8221;</p></li></ul><p>These files shape what gets produced and what gets rejected. They act like a conditioning layer on top of the base model.</p><p></p><h2>I know what you are thinking</h2><p>&#8220;Okay, but is this just documentation with a new name?&#8221;</p><p>Not really. <strong>These are opinionated, specific, structured guidelines for building user interfaces. </strong></p><p>But here is what changes when you treat it like a system component:</p><ul><li><p>You version it.</p></li><li><p>You review it.</p></li><li><p>You prune it.</p></li><li><p>You enforce it.</p></li></ul><p>You write constraints so people and agents can ship consistently.</p><p></p><h2>Routing is the shift</h2><p>You do not ask every model to solve everything.</p><p>You first figure out what kind of problem this is. Then you route it to the right specialist.</p><p>Agent workflows need three things:</p><ol><li><p><strong>Routing</strong>: decide which specialist should answer.</p></li><li><p><strong>Memory</strong>: keep decisions and context over time.</p></li><li><p><strong>Specialization</strong>: use narrow experts instead of one generalist.</p></li></ol><p></p><p>It is all about system design. Ask yourself, &#8220;How do we design an intelligent system made of many parts?&#8221;</p><p></p><p>The research backs this up. A 2025 study on instruction-following capacity (<a href="https://arxiv.org/html/2507.11538v1">IFScale benchmark</a>) found that even the best frontier models <em>only achieve 68% accuracy when given 500 instructions.</em> Most models show one of three degradation patterns:</p><ul><li><p><strong>Threshold decay</strong>: near-perfect until ~150 instructions, then sharp decline</p></li><li><p><strong>Linear decay</strong>: steady, predictable drop across the spectrum</p></li><li><p><strong>Exponential decay</strong>: rapid early degradation, then floors at 7-15% accuracy</p></li></ul><p>The takeaway: do not stuff everything into one prompt. Route to specialists with focused context.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DrtP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DrtP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 424w, https://substackcdn.com/image/fetch/$s_!DrtP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 848w, https://substackcdn.com/image/fetch/$s_!DrtP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 1272w, https://substackcdn.com/image/fetch/$s_!DrtP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DrtP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png" width="1456" height="476" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:476,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97381,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DrtP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 424w, https://substackcdn.com/image/fetch/$s_!DrtP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 848w, https://substackcdn.com/image/fetch/$s_!DrtP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 1272w, https://substackcdn.com/image/fetch/$s_!DrtP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd1a6fac-c800-4af8-96ae-2884b4805609_2880x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Knowledge graph as the glue</h2><p>When you split work across multiple specialists, you need something that keeps them aligned.  That is the knowledge graph.</p><p>A knowledge graph is a structured representation of concepts and their relationships.</p><p>Think of it like this: instead of a flat list of definitions, you have<strong> a map.</strong> The map shows what things are, how they connect, and what rules govern their relationships.</p><p>In technical terms: nodes (<em>things</em>) plus edges (<em>relationships</em>) plus properties (attributes).</p><p>In practical terms: a shared vocabulary that everyone and everything can reference.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yXqn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yXqn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 424w, https://substackcdn.com/image/fetch/$s_!yXqn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 848w, https://substackcdn.com/image/fetch/$s_!yXqn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 1272w, https://substackcdn.com/image/fetch/$s_!yXqn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yXqn!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png" width="1200" height="623.0769230769231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:756,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:106827,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yXqn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 424w, https://substackcdn.com/image/fetch/$s_!yXqn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 848w, https://substackcdn.com/image/fetch/$s_!yXqn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 1272w, https://substackcdn.com/image/fetch/$s_!yXqn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39881387-2261-45e7-bbc0-fe219fc4c250_3389x1760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>What does this mean for design systems?</h3><p>For design systems, the knowledge graph answers questions like:</p><ul><li><p>What is a &#8220;Button&#8221;? What variants exist? What tokens does it use?</p></li><li><p>What is <code>color.text.muted</code>? When do you use it? What is it not for?</p></li><li><p>What is a &#8220;Card&#8221;? How does it relate to &#8220;Surface&#8221;? Can they nest?</p></li><li><p>What counts as a &#8220;pattern&#8221; vs a &#8220;component&#8221; vs a &#8220;primitive&#8221;?</p></li></ul><p>Without this, you get drift. One agent generates a <code>GhostButton</code>. Another generates a <code>Button</code> with <code>variant="ghost"</code>. A third generates a <code>TextButton</code>. All three think they did the right thing.</p><p>With a shared knowledge graph, every specialist checks the same source before generating. They use the same names, the same relationships, the same constraints.</p><p></p><h3>How is this different from regular documentation?</h3><p>Regular documentation describes things. A knowledge graph connects things.</p><p>For example: </p><pre><code><strong>&#8220;Use muted text for secondary content&#8221; </strong>&#8594; color.text.muted &#8594; applies to &#8594; helper text, timestamps, captions</code></pre><p>The key difference: <strong>a knowledge graph makes relationships explicit. </strong>An agent can traverse it. &#8220;What tokens does Button use?&#8221; &#8220;What components can go inside Card?&#8221; &#8220;What is the difference between muted and secondary?&#8221;</p><p></p><p><strong>What should you put in your design system knowledge graph?</strong></p><p>Design systems are evolving into intelligent context-aware systems. </p><p>Start with the foundation layers, then build toward the future.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CsgP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CsgP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 424w, https://substackcdn.com/image/fetch/$s_!CsgP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 848w, https://substackcdn.com/image/fetch/$s_!CsgP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 1272w, https://substackcdn.com/image/fetch/$s_!CsgP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CsgP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png" width="1456" height="890" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:890,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:166633,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CsgP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 424w, https://substackcdn.com/image/fetch/$s_!CsgP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 848w, https://substackcdn.com/image/fetch/$s_!CsgP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 1272w, https://substackcdn.com/image/fetch/$s_!CsgP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2193d31c-6464-4a75-8bee-58e352a61b74_2880x1760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Foundation layers (what you need today)</strong></p><p><strong>1. Primitives</strong></p><p>The lowest-level building blocks.</p><ul><li><p>Colors (and their semantic mappings)</p></li><li><p>Spacing scale (and when to use each step)</p></li><li><p>Typography scale (and what each level is for)</p></li><li><p>Radius, shadow, motion tokens</p></li></ul><p>Example:</p><pre><code>- Always use Tailwind CSS defaults
- Never use primitive design tokens on components</code></pre><p><strong>2. Components</strong></p><p>The UI building blocks.</p><ul><li><p>Name, variants, states</p></li><li><p>Which tokens each component uses</p></li><li><p>Composition rules (what can go inside, what cannot)</p></li><li><p>Accessibility requirements</p></li></ul><pre><code><code>- Check existing components before creating new ones
- Never hardcode colors
- Always check Storybook (link/token)
- Always check Figma UI kit (link) via Figma MCP
- Always check Gitlab (link)
- and so on ... </code></code></pre><p><strong>3. Patterns</strong></p><p>Combinations of components that solve recurring problems.</p><ul><li><p>Form layouts</p></li><li><p>Navigation patterns</p></li><li><p>Data display patterns</p></li><li><p>Empty states, loading states, error states</p></li></ul><pre><code><code>- Always include one call to action
- Follow these rules for combining components (XY)</code></code></pre><p><strong>4. Decisions</strong></p><p>The &#8220;why&#8221; behind everything.</p><ul><li><p>Why we chose X over Y</p></li><li><p>What we tried and rejected</p></li><li><p>When to break the rules</p></li></ul><p><strong>5. Taxonomy</strong></p><p>The classification system that makes routing work.</p><ul><li><p>design vs engineering</p></li><li><p>tokens vs components vs patterns</p></li><li><p>new work vs existing pattern</p></li></ul><div><hr></div><p><strong>Future layers </strong></p><p>These are the layers that turn a design system into an experience system.</p><p><strong>6. Context engine</strong></p><p>How the system adapts to who is using it and what they need.</p><ul><li><p>Intent detection rules: what signals indicate the user wants X vs Y?</p></li><li><p>Personalization mappings: user type &#8594; defaults, density, complexity</p></li><li><p>Platform adaptation: web vs mobile vs embedded vs voice</p></li><li><p>Locale rules: what changes per region, language, or market?</p></li><li><p>Brand adaptation: how does the same component express different brands?</p></li></ul><p>Example entry:</p><pre><code><code>Intent: user wants to delete something

- Signals: clicked delete icon, selected items + pressed backspace, said "remove"
- Response pattern: show confirmation dialog (AlertDialog, not Dialog)
- Modality options: visual confirmation, haptic feedback on mobile, voice confirmation
- Escalation: if bulk delete &gt; 10 items, require explicit confirmation
</code></code></pre><p><strong>7. Interaction blueprints</strong></p><p>Agentic flows and adaptive behaviors.</p><ul><li><p>Flows that shift based on user behavior (not just screen size)</p></li><li><p>Proactive assistance patterns: when does the system offer help?</p></li><li><p>Fallback rules: what happens when intent is unclear?</p></li><li><p>Handoff patterns: when does the system escalate to a human?</p></li></ul><p>Example entry:</p><pre><code><code>Flow: onboarding

- Adaptive rule: if user skips 2+ steps, offer "skip to dashboard" option
- Proactive assist: if user pauses &gt; 10 seconds on a field, show tooltip
- Modality switch: if voice detected, offer voice-guided onboarding
</code></code></pre><p><strong>8. Multimodality mappings</strong></p><p>One intent, expressed in the best way for the context.</p><ul><li><p>Touch, visual, audio, voice, gesture</p></li><li><p>Haptic, text, ambient, motion</p></li><li><p>Which modality is primary vs fallback for each intent?</p></li><li><p>How do modalities combine?</p></li></ul><p>Example entry:</p><pre><code><code>### Action: confirm destructive action

- Visual: red button + confirmation dialog
- Voice: "Are you sure you want to delete [item]?"
- Haptic: warning vibration pattern before confirm
- Fallback order: visual &#8594; voice &#8594; haptic
</code></code></pre><p><strong>9. Governance rules</strong></p><p>How the system stays aligned at scale.</p><ul><li><p>Which decisions require human approval?</p></li><li><p>Which outputs get auto-validated vs flagged for review?</p></li><li><p>What are the hard constraints that never bend?</p></li><li><p>How do you handle conflicts between agents?</p><p></p></li></ul><h3>You do not need fancy tooling to start</h3><p>Start with markdown that acts like one:</p><pre><code><code>Design Specs:

Colors:
- Background: #3B82F6 (primary), #FFFFFF (secondary)
- Text: #FFFFFF (primary buttons), #1F2937 (secondary buttons)
- Border: #E5E7EB (1px)
- Focus ring: #3B82F6 with 2px offset

Typography:
- Font family: Inter
- Font size: 14px (small), 16px (medium), 18px (large)
- Font weight: 500 (medium), 600 (semibold for primary)
- Line height: 1.5

Spacing:
- Padding: 8px 16px (small), 12px 24px (medium), 16px 32px (large)
- Gap between icon and text: 8px
- Minimum height: 32px (small), 40px (medium), 48px (large)

Visual effects:
- Border radius: 6px
- Box shadow: 0 1px 2px rgba(0,0,0,0.05)
- Hover: darken by 10%, lift shadow to 0 2px 4px rgba(0,0,0,0.1)
- Transition: all 150ms ease</code></code></pre><p>This is not as powerful as a real graph database. But it gives you 80% of the benefit: shared definitions, explicit relationships, and a single source that agents can reference.</p><p></p><h3>Why this matters for multi-agent systems</h3><p>When you have a single model doing everything, you can embed context into a single prompt.</p><p>When you have many specialists, that breaks down. Each specialist sees a slice. If they do not share definitions, their outputs conflict.</p><p>The knowledge graph is the glue:</p><ul><li><p>All specialists reference the same definitions</p></li><li><p>Outputs stay semantically aligned</p></li><li><p>The system scales without drift</p></li></ul><p>Without it, small models drift. Outputs contradict each other. Your system falls apart.</p><p>With it, models stay modular and coherent.</p><p></p><h3>Binary tree routing: a mental model that makes this click</h3><p>Think of routing like a decision tree. Each step narrows the problem.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ntSs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ntSs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 424w, https://substackcdn.com/image/fetch/$s_!ntSs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 848w, https://substackcdn.com/image/fetch/$s_!ntSs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 1272w, https://substackcdn.com/image/fetch/$s_!ntSs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ntSs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png" width="1456" height="614" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:614,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:70800,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ntSs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 424w, https://substackcdn.com/image/fetch/$s_!ntSs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 848w, https://substackcdn.com/image/fetch/$s_!ntSs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 1272w, https://substackcdn.com/image/fetch/$s_!ntSs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb8613d-7205-4cba-9e63-2a6e76ffebad_2880x1214.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Every decision reduces complexity until you hit the right specialist.</p><p>This is why small models work. They do not need to understand everything. They only need to understand their slice.</p><p></p><h3>So, what I mean by &#8220;markdown is an additional model&#8221;</h3><p>I mean, it behaves like a conditioning layer:</p><ul><li><p><strong>It constrains behavior.</strong> It tells the system what &#8220;good&#8221; looks like.</p></li><li><p><strong>It compresses decisions.</strong> It prevents re-litigating the same debates.</p></li><li><p><strong>It generalizes across tasks.</strong> UI, copy, naming, motion, tokens, component APIs.</p></li><li><p><strong>It stays cheap to update.</strong> You edit a file. You do not retrain a model.</p></li></ul><p></p><div><hr></div><h2>The taste kit: a folder of markdown files</h2><p>Here is the key insight: if you are heading toward multiple specialists doing small things, your context files should mirror that.</p><p>Do not put everything in one giant <code>CLAUDE.md</code>. </p><p>Create multiple markdown files, each specialized for a specific design system task. When you route a task to a specialist, you give it only the context it needs.</p><h3>The folder structure</h3><pre><code>.cursor/
&#9500;&#9472;&#9472; ds-core.md           # Shared foundations (tokens, principles, stack)
&#9500;&#9472;&#9472; ds-components.md     # Component creation and modification
&#9500;&#9472;&#9472; ds-tokens.md         # Token decisions and naming
&#9500;&#9472;&#9472; ds-prototyping.md    # Rapid prototyping rules
&#9500;&#9472;&#9472; ds-ux-review.md      # UX review checklist and criteria
&#9500;&#9472;&#9472; ds-documentation.md  # Writing component docs
&#9500;&#9472;&#9472; ds-migration.md      # Migrating legacy patterns
&#9492;&#9472;&#9472; ds-accessibility.md  # A11y requirements and testing</code></pre><p>Each file is specific. Each file gets loaded only when relevant.</p><h4>File 1: <code>ds-core.md</code> (shared foundations)</h4><p>This is the only file every specialist sees. Keep it short.</p><pre><code><code># Design system core

## Stack
- React + TypeScript
- Tailwind CSS with design tokens
- Radix primitives for accessible components

## Principles (in priority order)

## Token rules

## Naming
</code></code></pre><p></p><h4>File 2: <code>ds-components.md</code> (creating and modifying components)</h4><p>Load this when the task is &#8220;create a component&#8221; or &#8220;add a variant&#8221;.</p><pre><code><code># Component creation rules

## Before creating a new component

## Component structure

## Variant rules

## Composition

## Anti-patterns
</code></code></pre><p></p><h4>File 3: <code>ds-tokens.md</code> (token decisions)</h4><p>Load this when the task involves tokens, theming, or color decisions.</p><pre><code><code># Token rules

## Naming convention

Examples:

## When to create a new token

## When NOT to create a token

## Token relationships

## Decisions log
</code></code></pre><p></p><h4>File 4: <code>ds-prototyping.md</code> (rapid prototyping)</h4><p>Load this when speed matters more than polish.</p><pre><code><code># Prototyping rules

## Goal

## What to skip

## What to keep

## Prototype checklist

## Output format
</code></code></pre><p></p><h4>File 5: <code>ds-ux-review.md</code> </h4><p>You can specify how to create automated screenshots, review work, review colors, etc.</p><pre><code><code># UX review criteria

## Consistency check
- [ ] Uses existing components (not custom implementations)
- [ ] Uses semantic tokens (not hardcoded values)
- [ ] Follows established patterns (not inventing new ones)
- [ ] Matches existing density and spacing rhythm

## Interaction check
- [ ] Interactive elements have visible focus states
- [ ] Destructive actions use confirmation dialogs
- [ ] Loading states use skeleton patterns
- [ ] Error messages appear near the action

## Accessibility check
- [ ] Color contrast meets WCAG AA (4.5:1 for text)
- [ ] Interactive elements are keyboard accessible
- [ ] Icon-only buttons have aria-label
- [ ] Form inputs have visible labels

## Content check


## Red flags (block the PR)
</code></code></pre><p></p><h4>File 6: <code>ds-documentation.md</code> (writing component docs)</h4><p>Load this when documenting components.</p><pre><code><code># Documentation rules

## Every component needs

## Writing style

## Props table format

## Do not include
</code></code></pre><p></p><h2>The workflow: propose, route, generate, validate</h2><p>If you want this to work in real teams, you need a repeatable workflow.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l8ZX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l8ZX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 424w, https://substackcdn.com/image/fetch/$s_!l8ZX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 848w, https://substackcdn.com/image/fetch/$s_!l8ZX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 1272w, https://substackcdn.com/image/fetch/$s_!l8ZX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l8ZX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png" width="1456" height="261" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:261,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:34462,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/184539725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!l8ZX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 424w, https://substackcdn.com/image/fetch/$s_!l8ZX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 848w, https://substackcdn.com/image/fetch/$s_!l8ZX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 1272w, https://substackcdn.com/image/fetch/$s_!l8ZX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb53938-fa63-4dea-ab6a-8b77894078da_2880x516.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p></p><p><strong>Step 1: Propose the intent</strong></p><p>Write a short intent plus constraints in the PR description. One paragraph max.</p><p><strong>Step 2: Route it</strong></p><p>Decide which specialist should answer.</p><p>Start with a simple taxonomy:</p><ul><li><p>design / engineering</p></li><li><p>tokens / components / content</p></li><li><p>new pattern / existing pattern</p></li></ul><p><strong>Step 3: Generate with constraints</strong></p><p>Give the specialist the minimum context it needs:</p><ul><li><p><code>ds-core.md</code> (always)</p></li><li><p>the task-specific file (<code>ds-components.md</code>, <code>ds-ux-review.md</code>, etc.)</p></li><li><p>one canonical example if relevant</p></li></ul><p><strong>Step 4: Validate</strong></p><p>Check the output against your rules:</p><ul><li><p>Does it use the right tokens for the right reason?</p></li><li><p>Did it introduce a new variant?</p></li><li><p>Does it follow your naming and composition patterns?</p></li><li><p>Does it ship accessibility by default?</p></li></ul><p><strong>Step 5: Capture the decision</strong></p><p>If you accept a new pattern, write down why.</p><p>If you reject it, write down the rejection rule.</p><p>This is how taste compounds instead of resetting every quarter.</p><p></p><h2>Where to start</h2><p>Start with two files and one task.</p><ul><li><p>Understand what a consistent, accessible, coherent UI looks like</p></li><li><p>Know when to say NO to a new variant</p></li><li><p>Capture decisions so taste compounds</p></li><li><p>Evaluating output against real standards, not just &#8220;does it work?&#8221;</p></li></ul><p></p><p>Here is a 60-minute plan:</p><ol><li><p><strong>Create </strong><code>ds-core.md</code> with your stack, principles, and token rules. Keep it under 30 lines.</p></li><li><p><strong>Pick your most common task.</strong> Component creation? UX review? Prototyping?</p></li><li><p><strong>Create the matching task file.</strong> Start with <code>ds-components.md</code> or <code>ds-ux-review.md</code>.</p></li><li><p><strong>Run one generation</strong> using only those two files as context.</p></li><li><p><strong>Review the output.</strong> What did it get right? What rule was missing?</p></li></ol><p>Then iterate. Add one file per week as new tasks come up. </p><p></p><p><strong>Pro tip:</strong> If you use Claude Code, start with Plan Mode. It reads your codebase and markdown files before generating anything. This is exactly the &#8220;route first, then execute&#8221; pattern. Let it analyze your context files, propose an approach, then generate. You will catch misunderstandings before they become wasted code.</p><div><hr></div><h2>In short</h2><p>You do not win in 2026 by picking the smartest model. You win by designing the system around it: routing, memory, specialization, and a shared source of truth.</p><p>Markdown is one of the fastest ways to build a taste layer that scales.</p><p>You got this.</p><p>Enjoy, Romina &#128588;</p><p></p><p><strong>Related read</strong></p><p>&#128279; <a href="https://www.gartner.com/en/newsroom/press-releases/2025-04-09-gartner-predicts-by-2027-organizations-will-use-small-task-specific-ai-models-three-times-more-than-general-purpose-large-language-models?utm_source=chatgpt.com">Gartner predicts by 2027, organizations will use small task-specific AI models three times more than general-purpose large language models</a> - Gartner press release on the shift toward smaller, task-specific models.</p><p>&#128279; <a href="https://addyosmani.com/blog/good-spec/">How to Write Good AI Agent Specs</a> by Addy Osmani - Practical guide on structuring specs for AI agents, with emphasis on modular context and clear boundaries.</p><p>&#128279; <a href="https://arxiv.org/html/2507.11538v1">How Many Instructions Can LLMs Follow at Once?</a> - Research showing instruction-following degrades significantly as instruction count increases.</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Into Design Systems&quot;,&quot;id&quot;:116470739,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e518e3-7e50-49ed-9202-81959be5e861_256x256.jpeg&quot;,&quot;uuid&quot;:&quot;538e222a-80bb-4cf8-a83c-ac2f95775c76&quot;}" data-component-name="MentionToDOM"></span> Hackathon</p><p><strong>February 6-8 2026 - Online</strong></p><p>I am part of the jury and will also help you to hack faster ;) See you there. &#128522;<br><br><strong>&#128279; <a href="https://www.intodesignsystems.com/hackathon">Link</a></strong></p><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b552e4d6-f367-4319-9309-e47ba1dbd1b0&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How I'd build a design system if I started over in 2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-09T11:59:19.321Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UYfg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-id-build-a-design-system-if-i&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:183904911,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:53,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p>]]></content:encoded></item><item><title><![CDATA[How I'd build a design system if I started over in 2026]]></title><description><![CDATA[Step by step to Agentic Design System]]></description><link>https://learn.thedesignsystem.guide/p/how-id-build-a-design-system-if-i</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/how-id-build-a-design-system-if-i</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 09 Jan 2026 11:59:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UYfg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UYfg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UYfg!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!UYfg!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!UYfg!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!UYfg!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UYfg!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8202484,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/183904911?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UYfg!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 424w, https://substackcdn.com/image/fetch/$s_!UYfg!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 848w, https://substackcdn.com/image/fetch/$s_!UYfg!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 1272w, https://substackcdn.com/image/fetch/$s_!UYfg!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726c7543-bb4a-407f-9f14-4d1c9e81c1f1_1456x970.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You&#8217;re watching another &#8220;build a design system in 4 hours&#8221; video and asking yourself: &#8220;Hoooooow?!&#8221; and thinking you&#8217;ll finally solve your component chaos.</p><p>I get it.</p><p>But here&#8217;s what the video doesn&#8217;t show:</p><ul><li><p>Three different button implementations across your codebase (plus more in Angular, Vue, and legacy jQuery)</p></li><li><p>Developers asking &#8220;which token do I use?&#8221; (spacing, color, shadow... pick your confusion)</p></li><li><p>The design system team of one, drowning in maintenance requests</p></li><li><p>Leadership eventually seeing &#8220;why does our app look exactly like every other startup?&#8221; </p></li></ul><p>This isn&#8217;t a design system. This is expensive copy-paste with extra steps.</p><p>I know what you&#8217;re thinking: &#8220;AI changes everything. We don&#8217;t need design system teams anymore.&#8221;</p><p>Let me show you why that&#8217;s only half true. </p><div><hr></div><h2>What changed in the last year(s)</h2><p>Shadcn made component libraries free. Then came Radix, Ark UI, Park UI, and dozens more. AI made customization instant. Every startup can &#8220;build a design system in 4 hours.&#8221;</p><p>The narrative became: <strong>&#8220;You don&#8217;t need a design system team anymore.&#8221;</strong></p><p>And they&#8217;re right until the codebase grows and customization takes up all your time.</p><p>Here&#8217;s what happens next:</p><p><strong>Initial setup:</strong> Fast &#9989;<br><strong>Customization:</strong> Much longer than expected<br><strong>Answering &#8220;which variant?&#8221; questions:</strong> Ongoing forever<br><strong>Fixing things when Shadcn breaks:</strong> Ongoing forever</p><p>Still cheaper than traditional design systems. But not free.</p><div><hr></div><h2>The trap you can fall into</h2><p>This is where you can make expensive mistakes.</p><p><strong>Startup reality:</strong></p><ul><li><p>10 developers</p></li><li><p>One codebase</p></li><li><p>Modern stack</p></li><li><p>Can break things and move fast </p></li></ul><p></p><p><strong>Enterprise reality:</strong></p><ul><li><p>500 developers</p></li><li><p>12 codebases (React, Angular, new Next.js projects)</p></li><li><p>Compliance requirements</p></li><li><p>Cannot break things</p></li></ul><p></p><p>Shadcn solves React. What about <em>the other 60%?</em></p><p><strong>Migration costs</strong> often exceed custom build costs by 3-5x when you have legacy systems. You&#8217;re not just migrating code. You&#8217;re retraining teams, updating tooling, managing parallel systems during transition, and dealing with breaking changes across multiple products.</p><div><hr></div><h2>From tools to taste</h2><p>When you can buy a UI kit for $300 (or less) or copy Shadcn for free, leadership asks: &#8220;Why do we need a design system team?&#8221;</p><p>The answer most teams give is wrong. They say: &#8220;To build components faster.&#8221; But<strong> AI </strong>builds components faster than any team.</p><p>When software becomes cheap to create, <strong>the value shifts </strong>to problems that require deep context, taste, and ongoing stewardship. You just can&#8217;t buy judgment about what deserves to exist. That&#8217;s irreplaceable.</p><p><strong>Old model:</strong></p><ul><li><p>Design system team = Component factory</p></li><li><p>Value = Shipping new components</p></li><li><p>Success = Coverage+adoption (Do we have all the patterns?)</p></li><li><p>Investment = Large team building everything from scratch</p></li></ul><p><strong>New model:</strong></p><ul><li><p>Design system team = Curators + Strategists</p></li><li><p><strong>Value = Context</strong></p></li><li><p>Success = Coherence (Is everything consistent?)</p></li><li><p>Investment = Smaller team + AI tooling</p><p></p></li></ul><p>The role didn&#8217;t disappear. It evolved. And that&#8217;s actually good news if you&#8217;re willing to adapt.</p><p>AI amplifies what you already know. If you understand what makes a good pattern, AI helps you implement it 10x faster. If you don&#8217;t have that foundation, AI just helps you create garbage faster.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zW5j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zW5j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 424w, https://substackcdn.com/image/fetch/$s_!zW5j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 848w, https://substackcdn.com/image/fetch/$s_!zW5j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 1272w, https://substackcdn.com/image/fetch/$s_!zW5j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zW5j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png" width="728" height="324.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:649,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:139741,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/183904911?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zW5j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 424w, https://substackcdn.com/image/fetch/$s_!zW5j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 848w, https://substackcdn.com/image/fetch/$s_!zW5j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 1272w, https://substackcdn.com/image/fetch/$s_!zW5j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1546ded1-61d3-4804-8e76-f462d151153d_2880x1283.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>The data advantage</h2><p>When everyone can generate a button in 30 seconds, the button has &#8220;no value&#8221;. The context for WHY you need this specific button is priceless.</p><p>Most design systems track adoption. That&#8217;s table stakes. The real advantage comes from <strong>capturing the context that&#8217;s invisible by default and compounds over time.</strong></p><p></p><p><strong>1. Usage data</strong> tells you what&#8217;s actually happening.</p><ul><li><p>Which components get used? Which gets ignored?</p></li><li><p>How are they connected together? (The patterns that work best often emerge from real usage, not planning.)</p></li><li><p>Where do people struggle? What gets copy/pasted instead of imported?</p></li></ul><p></p><p><strong>2. Decision history</strong> tells you why things exist.</p><ul><li><p>Why did we choose this pattern over alternatives?</p></li><li><p>What did we try that failed?</p></li><li><p>When should we sunset this?</p></li></ul><p></p><p>Without this, every new team member asks the same questions. Every redesign starts from scratch. You lose years of learning.</p><p></p><p><strong>3. Taste and curation</strong> tells you what deserves to stay.</p><ul><li><p>What&#8217;s been validated enough to standardize?</p></li><li><p>What&#8217;s redundant and needs to be removed?</p></li><li><p>What&#8217;s good enough to keep vs. what&#8217;s just legacy?</p></li></ul><p></p><p>These three layers build on each other. Usage data informs decisions. Decisions shape curation. Curation improves usage. It&#8217;s a <strong>flywheel</strong>, but only if you&#8217;re capturing it.</p><p></p><p>Companies with this infrastructure will make better decisions 10x faster. The teams treating design systems like static libraries will drown in technical debt they can&#8217;t even see.</p><div><hr></div><h2>Making your system AI-readable</h2><p>You&#8217;ve probably blamed the model when AI generates garbage. But the model isn&#8217;t the problem. Your context is.</p><p><strong>Context is everything the AI sees when you ask it something.</strong> Your prompt, yes. But also the system instructions, previous messages, files it can access, and metadata. All of it.</p><p>And here&#8217;s the catch: AI tools have limited memory. Claude Code technically supports 200k tokens, but by the time you account for system prompts and tool definitions, you&#8217;re working with maybe 120k. Fill that up with noise, and the output quality tanks.</p><p></p><blockquote><p>So the question becomes: what deserves to be in that limited space?</p></blockquote><p></p><p><strong>For design and design systems, I&#8217;ve found four things matter:</strong></p><p><strong>1. A project context file.</strong> Call it CLAUDE.md or whatever. Put it at the root. Tell the AI how your system works: naming conventions, component patterns, token structure, key decisions. This is the single highest-impact thing you can do.</p><p><strong>2. Decisions in plain text.</strong> Not buried in Confluence. Not hidden in Figma comments. In markdown that AI can actually read. &#8220;We chose X over Y because Z.&#8221; Simple.</p><p><strong>3. Lean documentation.</strong> Not 50 pages of Storybook stories. A clear reference that fits in context and answers the questions developers actually ask.</p><p><strong>4. Tokens with intent.</strong> Not just <code>color-primary: #0066FF</code>. Explain why that color exists and when to use it. The AI needs the &#8220;why&#8221; to make good choices.</p><p>The goal? Anthropic calls it &#8220;the smallest possible set of high-signal tokens.&#8221; </p><p>Soooo, if your components keep coming out wrong, don&#8217;t switch models. Fix your context first.</p><div><hr></div><h2>The governance problem</h2><p>AI makes creating components trivial. AI also makes creating BAD components trivial at scale.</p><p><strong>Technical governance (solvable by AI):</strong></p><ul><li><p>Linting rules &#9989;</p></li><li><p>Type checking &#9989;</p></li><li><p>Automated tests &#9989;</p></li></ul><p><strong>Human governance (still unsolved):</strong></p><ul><li><p>Who decides when to add a new variant? </p></li><li><p>How do we prevent &#8220;button-primary-new-final-v3&#8221;? </p></li><li><p>What&#8217;s the process for breaking changes? </p></li><li><p>Who has taste? </p></li></ul><p></p><p>When creation is free, curation becomes priceless. The bottleneck isn&#8217;t &#8220;can we build this?&#8221; anymore. It&#8217;s &#8220;should this exist?&#8221; That question requires taste, context, and the courage to kill things. AI doesn&#8217;t have opinions. You do.</p><p></p><p><strong>Cost of bad governance:</strong></p><ul><li><p>Small company: Technical debt, slower velocity</p></li><li><p>Enterprise: Massive duplicate work across teams</p></li></ul><p></p><p>You can generate components quickly. <strong>You need years to build the taste, context, and governance.</strong></p><p>Things are moving so fast that there are no books about new UX patterns. AI interactions, voice interfaces, spatial computing. We&#8217;re inventing the rules as we go. There&#8217;s no &#8220;Design Patterns&#8221; book for conversational U or best practices for AI-assisted workflows.</p><p>This means creating new ways of interacting requires more iterations than ever to build something genuinely useful. You can&#8217;t copy what worked before because &#8220;before&#8221; doesn&#8217;t exist for these patterns. <strong>You have to experiment, fail, learn, and iterate. Repeatedly. Until you discover what actually works.</strong></p><div><hr></div><h2>The learning curve illusion</h2><p>&#8220;Shadcn has a lower learning curve than traditional design systems.&#8221;</p><p>This is technically true, but strategically? Not so much.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I52U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I52U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 424w, https://substackcdn.com/image/fetch/$s_!I52U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 848w, https://substackcdn.com/image/fetch/$s_!I52U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 1272w, https://substackcdn.com/image/fetch/$s_!I52U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I52U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png" width="1456" height="549" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:549,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:80161,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/183904911?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I52U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 424w, https://substackcdn.com/image/fetch/$s_!I52U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 848w, https://substackcdn.com/image/fetch/$s_!I52U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 1272w, https://substackcdn.com/image/fetch/$s_!I52U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd06fbd62-6a5f-4f80-ad54-d201be592c20_2880x1085.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#10060; <strong>Before:</strong> Clear learning curve, high initial cost<br>&#9989; <strong>After:</strong> Fast start, expensive long-term maintenance</p><p>Lower initial learning curve &#8800; Lower total learning cost. </p><p>You&#8217;re just deferring the learning to a more expensive phase.</p><div><hr></div><h2>What design system teams should actually do in 2026</h2><p></p><p><strong>Old job:</strong></p><ul><li><p>Build React components</p></li><li><p>Write Storybook documentation</p></li><li><p>Fix component bugs</p></li><li><p>Ship 2-3 components per quarter</p></li></ul><p></p><p><strong>New job (2026): Design System Lead</strong></p><p>One person (or small team) with three responsibilities:</p><p><strong>Curation:</strong> </p><p>Kill more patterns than you create. Use AI to generate, humans to judge. Ask &#8220;should this exist?&#8221; constantly.</p><p><strong>Context:</strong> </p><p>Capture tribal knowledge before people leave. Translate the system into AI-readable formats. Maintain the &#8220;why&#8221; behind every decision.</p><p><strong>Quality:</strong> </p><p>Track analytics on every component. Define &#8220;good enough&#8221; with data. Sunset bad patterns aggressively.</p><p>This isn&#8217;t a solo effort. Design systems require constant collaboration:</p><ul><li><p>Product teams need to understand business goals</p></li><li><p>Designers and developers need to be in sync</p></li><li><p>Stakeholders need to trust the system</p></li><li><p>Leadership needs to see the value</p></li></ul><p>You&#8217;re not just building software. You&#8217;re building organizational muscle memory about what good looks like.</p><div><hr></div><h2>My actual recommendations</h2><h3>Startup (&lt;100 people)</h3><p><strong>Setup: Days, not months</strong></p><p>&#9989; Use Shadcn/Radix + Tailwind<br>&#9989; Use AI for customization<br>&#9989; Assign someone to own consistency (part-time is fine)<br>&#9989; Track usage data from day one<br>&#9989; Document decisions in markdown (AI-readable)<br>&#9989; Accept you&#8217;ll rebuild every few years</p><p>&#10060; Build from scratch<br>&#10060; Hire a dedicated design system team<br>&#10060; Create perfect UI kit in Figma before product-market fit</p><p><strong>The goal:</strong> Stay lightweight. Don&#8217;t over-engineer. Test what works. </p><p></p><h3>Mid-size (100-500 people)</h3><p><strong>Setup: A few months</strong></p><p>&#9989; Start with Shadcn for <strong>new</strong> projects<br>&#9989; Connect old and new with Web Components (see below)<br>&#9989; Dedicate someone to stewardship (not creation)<br>&#9989; Invest in analytics<br>&#9989; Use AI for generation, humans for curation</p><p>&#10060; Try to migrate everything at once<br>&#10060; Rewrite legacy code from scratch<br>&#10060; Build a massive team<br>&#10060; Copy enterprise approaches</p><p><strong>Mapping old + new components</strong></p><p>You have two paths for legacy components:</p><p><strong>Option A: </strong></p><p><strong>Wrap it.</strong> Use Web Components to wrap legacy code. They work across React, Angular, Vue, and jQuery. Teams keep their existing APIs. The system modernizes underneath. Lower risk, slower progress.</p><p><strong>Option B: </strong></p><p><strong>Regenerate it.</strong> Use AI to analyze legacy components and generate new components that match your target system. Feed AI the component code plus usage examples from your codebase. Validate the output. Replace the imports. Faster progress requires thorough testing.</p><p>Most mid-size companies do both: wrap the complex/risky stuff, regenerate the simple/well-tested stuff.</p><p><strong>The goal:</strong> Bridge old and new without burning everything down.</p><p></p><h3>Enterprise (500+ people)</h3><p><strong>Setup: Depends on your legacy!</strong></p><p>&#9989; Custom design system is still worth it<br>&#9989; Small team focused on curation (not building)<br>&#9989; Invest more in governance than components<br>&#9989; Use AI for generation, not strategy<br>&#9989; Build data infrastructure around your system<br>&#9989; Measure outcomes, not adoption<br>&#9989; Use Web Components as the universal layer across all frameworks</p><p>&#10060; Try to move everyone to Shadcn<br>&#10060; Build components without usage data<br>&#10060; Measure adoption as success</p><p></p><p><strong>Why Web Components make even more sense at scale:</strong></p><p>Enterprise has the hardest legacy problem: React 2019, Angular 2017, Vue, jQuery, and whatever new framework the next acquisition brings. Web Components work everywhere. Build once, deploy across all frameworks. No more maintaining 4 versions of the same button.</p><p>The bridge strategy from mid-size applies here too, just on a larger scale. Wrap the legacy systems that are too risky to touch. Regenerate the simpler components with AI. Gradually consolidate.</p><p></p><p><strong>ROI:</strong> Track how much time developers spend duplicating UI work. Even a conservative estimate shows the cost of inconsistency far exceeds the investment in a design system team.</p><div><hr></div><h2>Start with the right question</h2><p></p><p><strong>&#10024; &#8220;What problem are you actually solving?&#8221; &#10024;</strong></p><p></p><p><strong>&#8220;We need a starting point for components.&#8221;</strong><br>&#8594; Pick any library (Shadcn, Radix, whatever). But assign someone to own consistency from day one.</p><p><strong>&#8220;We have 500 developers building duplicate UIs.&#8221;</strong><br>&#8594; Build a system. Hire a Design System Lead.</p><p><strong>&#8220;We don&#8217;t know which patterns actually work.&#8221;</strong><br>&#8594; Invest in analytics.</p><p><strong>&#8220;AI generates garbage code that doesn&#8217;t match our system.&#8221;</strong><br>&#8594; Make your system AI-readable. Then use AI.</p><p><strong>&#8220;We can&#8217;t ship fast enough.&#8221;</strong><br>&#8594; Your problem isn&#8217;t just the design system. &#129762;</p><div><hr></div><h2>What to do this week</h2><p>You don&#8217;t need to build a design system right now. Start by building the infrastructure to know if you need one. Here&#8217;s a practical path:</p><p><strong>Step 1: Set up analytics (Day 1-2)</strong></p><ul><li><p>Track component usage</p></li><li><p>Measure user outcomes</p></li><li><p>Identify duplicate patterns</p></li></ul><p><strong>Step 2: Document decisions (Day 3-4)</strong></p><ul><li><p>Create CLAUDE.md with context</p></li><li><p>Make decisions AI-readable</p></li><li><p>Capture the &#8220;why&#8221; behind every choice</p></li></ul><p><strong>Step 3: Test with AI (Day 5)</strong></p><ul><li><p>Generate one component with AI</p></li><li><p>See if it matches your standards. </p></li><li><p>Identify gaps in your system&#8217;s clarity</p></li></ul><p><strong>Step 4: Make one decision (End of week)</strong></p><p>Should you:</p><ul><li><p>Build a system?</p></li><li><p>Use Shadcn?</p></li><li><p>Invest in curation?</p></li><li><p>Invest in agentic XY?</p></li></ul><p>Base it on your data, not industry trends. Trust what you&#8217;re learning from your own context.</p><div><hr></div><h2>In short</h2><p>Design systems in 2026 aren&#8217;t about components. They&#8217;re about CONTEXT.</p><p><strong>Software is cheap to build.</strong><br><strong>Context is expensive to maintain.</strong></p><p><strong>Components are free.</strong><br><strong>Taste is priceless.</strong></p><p><strong>AI can generate anything.</strong><br><strong>Only humans know what deserves to exist (so start building taste).</strong></p><p>The teams that understand this will build better products faster. The teams that don&#8217;t will spend hundreds on infrastructure that nobody uses.</p><p>And if you&#8217;re reading this, asking these questions, thinking critically about the path forward? You&#8217;re exactly the kind of person who will figure it out.  &#128588;</p><p></p><p>Enjoy the process &#128522;, Romina </p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>The Rise of the Model Designer</strong></p><p>Interview with Barron Webster (Figma)<br><br><strong>&#128279; <a href="https://www.aidesignfieldguide.com/articles/barron-webster">Link</a></strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[What I Loved This Year]]></title><description><![CDATA[My favourite Creators, Tools, and Resources]]></description><link>https://learn.thedesignsystem.guide/p/what-i-loved-this-year</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/what-i-loved-this-year</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 26 Dec 2025 15:43:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!C-PS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C-PS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C-PS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!C-PS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!C-PS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!C-PS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C-PS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:443539,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/182558909?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C-PS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!C-PS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!C-PS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!C-PS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F146f8827-8983-44c9-af82-dbf305f61fa5_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This year, I stopped getting ready to get ready.</p><p>I went deep on AI and treated it like a mirror for my work: every workflow I had&#8230; I questioned. Some stayed. Many didn&#8217;t. Only Google spits out instant results &#8594;  everything worth building takes reps.</p><p>If you read, replied, challenged me, shared your story, or trusted me with your work this year, THANK YOU. You made this year. &#128155;</p><div><hr></div><p>If you want to go on a deep dive during the quiet days, here&#8217;s a curated list of what I built and published (or prepared) this year.</p><h3>Start here</h3><ul><li><p><strong>YouTube <a href="https://www.youtube.com/@designsystemguide">(Design System Guide)</a></strong></p></li><li><p><strong><a href="https://thedesignsystem.guide/">The Design System Guide</a></strong></p></li><li><p><strong><a href="https://aidesign.guide/">AI Design Guide</a></strong></p></li></ul><div><hr></div><h2>Guides </h2><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b3592831-2837-41a5-8099-acaf9c9c5cb2&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Documentation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-17T08:58:02.536Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!9dDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe9c6aa2-4c25-47ea-8c50-3c5d2d786ca1_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-documentation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176234757,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:98,&quot;comment_count&quot;:2,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d4ec5640-4a84-42f3-a73e-bbe0a6ea2718&quot;,&quot;caption&quot;:&quot;Last quarter, a design system dashboard showed 87% adoption. The team celebrated.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to turn metrics into actionable insights&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-11-21T13:25:04.332Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!czDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-turn-metrics-into-actionable&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:179334770,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:29,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="pullquote"><p>Skills are for workflows. Projects are for contexts.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e3ac6c54-a76f-48c7-81a7-af647f07d199&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why your design system team need Claude Skills&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-31T08:28:29.183Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!hfid!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/why-your-design-system-team-need&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:177632613,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:49,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://psxid.figma.com/romina" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wOSK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wOSK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png" width="724.6640625" height="407.62353515625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:724.6640625,&quot;bytes&quot;:391480,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://psxid.figma.com/romina&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wOSK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;63416b06-4613-45cd-8b96-91f385cb4c52&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Figma Make Won't Work Until You Do This&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-12-19T08:54:38.121Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!5Nwf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/figma-make-wont-work-until-you-do&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:181702778,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:21,&quot;comment_count&quot;:2,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><div class="pullquote"><p>A bridge that lets Claude read your token files directly, eliminating copy&#8209;paste forever.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b0c9949c-f8b0-4b22-bb52-50aa23f0dad5&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Build your own MCP server for design tokens&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-09-11T15:59:57.652Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_3hb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6a5323-0e92-4420-89c6-dad9521d6cee_1260x908.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/build-your-own-mcp-server-for-design&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:173334168,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:34,&quot;comment_count&quot;:4,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div></div><h2>Creators &#128155; </h2><p>(if you don&#8217;t follow them, start now &#128522;)</p><p></p><h4>Alexander Fand&#233;n </h4><p>Design Systems @Stripe </p><p><strong>&#128279; <a href="https://www.linkedin.com/in/alexfanden/">Linkedin</a></strong></p><p>Check his &#128279; <strong><a href="https://fanden.design/">portfolio </a></strong>(inspiring for any design system designer) and listen to his &#128279;<strong> <a href="https://www.youtube.com/watch?v=UikyMMxrhRg">interview</a>.</strong></p><div id="youtube2-UikyMMxrhRg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;UikyMMxrhRg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/UikyMMxrhRg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XEnN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XEnN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 424w, https://substackcdn.com/image/fetch/$s_!XEnN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 848w, https://substackcdn.com/image/fetch/$s_!XEnN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 1272w, https://substackcdn.com/image/fetch/$s_!XEnN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XEnN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png" width="1456" height="791" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:791,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:846692,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/182558909?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XEnN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 424w, https://substackcdn.com/image/fetch/$s_!XEnN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 848w, https://substackcdn.com/image/fetch/$s_!XEnN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 1272w, https://substackcdn.com/image/fetch/$s_!XEnN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20c16b9f-5314-43f8-83b7-d113e405a229_3024x1642.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>Vitaly Friedman</h4><p>Vitaly is THE real UX king, sharing invaluable resources about all things design and UX. </p><p><strong>&#128279; <a href="https://www.smashingmagazine.com/">Smashing Magazine</a></strong></p><p><strong>&#128279; <a href="https://www.linkedin.com/in/vitalyfriedman/">Linkedin</a></strong></p><p><strong>&#128279; <a href="https://www.smashingmagazine.com/events/">Smashing Events </a></strong></p><p><strong>&#128279; <a href="https://measure-ux.com/">UX Metrics Course</a></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JMnH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JMnH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 424w, https://substackcdn.com/image/fetch/$s_!JMnH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 848w, https://substackcdn.com/image/fetch/$s_!JMnH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 1272w, https://substackcdn.com/image/fetch/$s_!JMnH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JMnH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png" width="1456" height="792" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:792,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1412544,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/182558909?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JMnH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 424w, https://substackcdn.com/image/fetch/$s_!JMnH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 848w, https://substackcdn.com/image/fetch/$s_!JMnH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 1272w, https://substackcdn.com/image/fetch/$s_!JMnH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59b2581-72c8-4607-bc4b-4b0c89eb7211_3024x1644.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h4>Sil Borm&#252;ller</h4><p>Founder of <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Into Design Systems&quot;,&quot;id&quot;:116470739,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e518e3-7e50-49ed-9202-81959be5e861_256x256.jpeg&quot;,&quot;uuid&quot;:&quot;dd4e1803-8b88-4051-be2f-f21a6116ce1e&quot;}" data-component-name="MentionToDOM"></span> </p><p><strong>&#128279; <a href="https://www.intodesignsystems.com/">Website</a></strong></p><p><strong>&#128279; <a href="https://www.linkedin.com/in/silbormueller/">Linkedin</a></strong></p><p><strong>&#128279; <a href="https://jobs.intodesignsystems.com/">Design System Jobs Portal </a></strong></p><p><strong>&#128279; <a href="https://www.youtube.com/@IntoDesignSystems">YouTube</a></strong></p><div><hr></div><h4><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Sam I am Designs &#129782; &#127464;&#127462;&quot;,&quot;id&quot;:195428634,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f7007f7-0916-4a1c-949f-097801746afd_2618x2618.jpeg&quot;,&quot;uuid&quot;:&quot;50f56ec2-eabe-4f0c-b683-994674d4c63e&quot;}" data-component-name="MentionToDOM"></span> / Samantha Gordashko</h4><p><strong>&#128279; <a href="https://samiamdesigns.substack.com/">Substack</a></strong></p><p><strong>&#128279; <a href="https://www.linkedin.com/in/sgordashko/">Linkedin</a></strong></p><p>&#128279; <strong><a href="https://samiamdesigns.substack.com/p/design-tokens-arent-enough-architecture">Design Tokens aren&#8217;t enough. Architecture Decisions need a place in your Design System.</a></strong></p><div id="youtube2-bp0evU8k1Qs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;bp0evU8k1Qs&quot;,&quot;startTime&quot;:&quot;771s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/bp0evU8k1Qs?start=771s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h4>Ileania Notarangelo</h4><p>Partner &amp; Creative Director @ ILLO</p><p>My god, these animations are out of this world. Just check their work at <a href="https://illo.tv/">illo.tv</a></p><p><strong>&#128279; <a href="https://www.linkedin.com/in/ilenia-notarangelo-b2766a39/">Linkedin</a></strong></p><div><hr></div><h4>Andressa Lombardo </h4><p>Design System Lead @ Miro | Teacher @ Memorisely | Host @ IDS</p><p><strong>&#128279; <a href="https://www.linkedin.com/in/dedylombardo/">Linkedin</a></strong></p><div><hr></div><h4>Justine Montgomery</h4><p>Design systems @Stripe </p><p><strong>&#128279; <a href="https://www.linkedin.com/in/justine-montgomery/">Linkedin</a></strong></p><p>Listen to her talk about building a design system portfolio. Loooots of useful tips!</p><div id="youtube2-piyEAwBSNTc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;piyEAwBSNTc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/piyEAwBSNTc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h4><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Growthmates with Kate Syuma&quot;,&quot;id&quot;:1894625,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/katesyuma&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b42f76f9-440f-4a88-a776-6be938155513_1200x1200.png&quot;,&quot;uuid&quot;:&quot;41c1bce2-b6f6-451e-b8f6-9abe1ba9da7a&quot;}" data-component-name="MentionToDOM"></span>  </h4><p>Growth Advisor, ex-Miro | Founder at Growthmates | Speaker &#183; Creator</p><p><strong>&#128279; <a href="https://www.linkedin.com/in/ekaterina-syuma/">Linkedin</a></strong></p><p><strong>&#128279; <a href="https://www.growthmates.news/p/high-quality-principles-to-support">High-quality principles to support your Product-Led-Growth</a></strong></p><div><hr></div><h4>Robin di Capua</h4><p><strong>&#128279; <a href="https://www.linkedin.com/in/robindicapua/">Linkedin</a></strong></p><div id="youtube2-dDpROJwl-To" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;dDpROJwl-To&quot;,&quot;startTime&quot;:&quot;1085s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/dDpROJwl-To?start=1085s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h4>David Aerne</h4><p>David is the true color&#8217;s wizard and one of the best interaction developers I know  :) </p><p><strong>&#128279; <a href="https://www.linkedin.com/in/davidaerne/">Linkedin</a></strong></p><p><strong>&#128279; <a href="https://meodai.github.io/fettepalette/">FettePalette</a></strong></p><p><strong>&#128279; <a href="https://farbvelo.elastiq.ch/?currentSeed=28f13718295cc8&amp;amount=6&amp;colorsInGradient=4&amp;padding=0.175&amp;minHueDistance=60&amp;interpolationColorModel=lab&amp;generatorFunction=Hue+Bingo&amp;colorMode=hsluv&amp;quantizationMethod=art-palette">Farbvelo</a></strong></p><p><strong>&#128279; <a href="https://codepen.io/meodai/full/MYKwKMd">Generative Copic Color Wheel</a></strong></p><div><hr></div><h2>Useful tools and resources</h2><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;90f8b47c-0b0c-47a1-9f8a-130267963fb7&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Best AI Tools for Design (System) Teams in 2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-12-12T09:24:16.822Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_B7Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/best-ai-tools-for-design-system-teams&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:181318906,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:32,&quot;comment_count&quot;:1,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><h4>aidesign.guide</h4><p>Everything you need to integrate AI into your design workflow. Practical guides, prompting techniques, and curated resources for designers.</p><p>&#128279; <strong><a href="https://www.aidesign.guide/">Prompts library</a></strong></p><p></p><h4>bunny.net</h4><p><strong>&#128279; <a href="https://bunny.net/">Website</a></strong></p><p>bunny.net is a high-performance CDN with a globally distributed edge network, optimized routing, and aggressive caching (built to deliver content fast and reliably at scale).</p><p>I used bunny.net to integrate with storage (via the API) and build my illustration database (both with Figma Make and Cursor). It&#8217;s really easy to use and there is no "enterprise&#8221; complexity. </p><p></p><p>&#128279;<strong><a href="https://www.youtube.com/@anthropic-ai">Anthropic YouTube Channel</a> where you can learn a lot about how to use Claude + Claude Code</strong></p><p></p><p>&#128279; <strong><a href="https://www.youtube.com/@LennysPodcast">Lenny&#8217;s podcast</a> and newsletter <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Lenny Rachitsky&quot;,&quot;id&quot;:1849774,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/afba5161-65bb-4d99-8d6b-cce660917fa1_1540x1540.png&quot;,&quot;uuid&quot;:&quot;c7f74057-e890-40c8-86ac-6ea812dc78e0&quot;}" data-component-name="MentionToDOM"></span> &#128076;</strong></p><p></p><p>&#128279; <strong><a href="https://www.youtube.com/@a16z">a16z podcast</a></strong></p><div id="youtube2-ULszsXDyjMY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ULszsXDyjMY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ULszsXDyjMY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>What I&#8217;m carrying into 2026</h2><p></p><p>Less &#8220;instant&#8221; thingies.</p><p>More focus.</p><p>More systems that make the next thing easier to build.</p><p></p><p>Wishing you an unforgettable start to the new year. &#129392;<br>Romina </p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Figma Make Won't Work Until You Do This]]></title><description><![CDATA[Full guide + practical examples]]></description><link>https://learn.thedesignsystem.guide/p/figma-make-wont-work-until-you-do</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/figma-make-wont-work-until-you-do</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 19 Dec 2025 08:54:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5Nwf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5Nwf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5Nwf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!5Nwf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!5Nwf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!5Nwf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5Nwf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:404081,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5Nwf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!5Nwf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!5Nwf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!5Nwf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed80db-0efe-4510-914f-e403c57fdbdd_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Product teams do not struggle to design screens. They struggle to <strong>validate ideas fast</strong> without creating a mess.</p><p>Most AI prototyping tools force you to leave Figma, and then you spend time translating the output back into your file.</p><p><strong><a href="https://psxid.figma.com/romina">Figma Make</a> solves a specific problem:</strong> it helps you generate functional prototypes while staying inside the Figma file where your team already works.</p><p>If you have a design system, Figma Make can reuse it. If you do not, it still helps you move faster on flow, states, and interactions.</p><p></p><h4>What you will get from this article </h4><ul><li><p><strong>A clear decision framework</strong> for when to use<a href="https://psxid.figma.com/romina"> Figma Make.</a></p></li><li><p><strong>A step-by-step workflow</strong> you can run today, including the setup most people miss.</p></li><li><p><strong>Prompt templates</strong> that force design system consistency.</p></li><li><p><strong>Four concrete examples</strong>:</p><ul><li><p><strong>Prototype with 4 versions</strong></p></li><li><p><strong>Simple example</strong>: a mobile learning flashcard prototype </p></li><li><p><strong>Design system example</strong>: a Figma Make prototype with existing components </p></li><li><p><strong>Advanced example</strong>: an illustration gallery powered by Supabase + CDN (API)</p></li></ul></li></ul><div><hr></div><h2>The real problem is context loss</h2><p>Most &#8220;AI prototyping&#8221; workflows look like this:</p><ol><li><p>You design in Figma.</p></li><li><p>You leave Figma to generate code in another tool.</p></li><li><p>The tool invents new components and styling.</p></li><li><p>You spend time swapping everything back to your system.</p></li><li><p>You hand it off, and the team debates what is real.</p></li></ol><p></p><p>The tools are not the enemy. <strong>Context loss is.</strong></p><p></p><p>With Make, you have direct access to:</p><ul><li><p><strong>Your components</strong> (and their variants).</p></li><li><p><strong>Your variables</strong> (colors, spacing, typography).</p></li><li><p><strong>Your naming conventions</strong> (which encode decisions).</p></li></ul><p>Figma Make keeps that context close. That is the whole point.</p><p></p><h2>The design system advantage </h2><p>If you do not connect your libraries, you get generic output. Period.</p><p>When you enable the right libraries, Figma Make can treat them as &#8220;building blocks&#8221; and generate prototypes using:</p><ul><li><p><strong>Your button</strong> (with the variants you already defined).</p></li><li><p><strong>Your spacing tokens</strong> (instead of hardcoded values).</p></li><li><p><strong>Your card, table, bodal, stepper</strong> (instead of invented UI).</p><p></p></li></ul><p>That is the difference between &#8220;AI-generated UI&#8221; and &#8220;AI-generated UI that your team can actually review.&#8221;</p><p>One more lever matters: <strong>connectors</strong>. If your requirements and content live outside Figma (Notion, GitHub, Linear, Jira, and more), you can pull them in so the prototype reflects the actual spec and copy, not your best guess.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wOSK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wOSK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wOSK!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:391480,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wOSK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!wOSK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1fbc38d-941d-40be-9921-6e8be36e9029_1920x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here is the mental model: your Figma libraries are the building blocks, and connectors plus APIs are the context sources.</p><div><hr></div><h2>The complete workflow (setup to output)</h2><p>This is the workflow I recommend for designers who want speed without sacrificing consistency.</p><p></p><h3>Phase 1: Setup (5 minutes)</h3><p><strong>Step 1: Turn on the correct libraries</strong></p><ul><li><p>Open the file where you will prototype.</p></li><li><p>Go to <strong>Assets &#8594; Team library</strong>.</p></li><li><p>Enable the libraries you want Figma Make to use.</p></li></ul><p><strong>Checkpoint:</strong> you can insert your system components manually from the Assets panel.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l5ua!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l5ua!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 424w, https://substackcdn.com/image/fetch/$s_!l5ua!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 848w, https://substackcdn.com/image/fetch/$s_!l5ua!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 1272w, https://substackcdn.com/image/fetch/$s_!l5ua!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l5ua!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png" width="1280" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:149056,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!l5ua!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 424w, https://substackcdn.com/image/fetch/$s_!l5ua!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 848w, https://substackcdn.com/image/fetch/$s_!l5ua!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 1272w, https://substackcdn.com/image/fetch/$s_!l5ua!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3390340-97bf-4ade-9265-e99c462df3b2_1280x480.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Step 2: Learn the component names you will reference</strong></p><p>Figma Make responds best when you use names exactly as they appear in your library. If your component name reads <code>Button/Primary</code>, use that.</p><p><strong>Checkpoint:</strong> write down 8 to 12 component names you expect in most screens (Button, Input, Select, Card, Table, Modal, Toast, SideNav).</p><p>Now try to create a prototype with and without your library. You can see the difference below with my example. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xmWZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xmWZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 424w, https://substackcdn.com/image/fetch/$s_!xmWZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 848w, https://substackcdn.com/image/fetch/$s_!xmWZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 1272w, https://substackcdn.com/image/fetch/$s_!xmWZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xmWZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png" width="1280" height="945" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:945,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:165987,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xmWZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 424w, https://substackcdn.com/image/fetch/$s_!xmWZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 848w, https://substackcdn.com/image/fetch/$s_!xmWZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 1272w, https://substackcdn.com/image/fetch/$s_!xmWZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ce8a6-38df-4f0f-83cf-11ed004c0b9e_1280x945.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Step 3: Decide what &#8220;done&#8221; means for the prototype</strong></p><p>You will iterate faster when you define the boundary.</p><ul><li><p>Are you validating flow, layout, copy, or interaction?</p></li><li><p>What states must exist (loading, empty, error, success)?</p></li></ul><div><hr></div><h3>Phase 2: Prompting with design system context</h3><p>Don&#8217;t add generic prompts. Think about what you need, structure the prompt and the idea, and then copy/paste it. For complex prototypes, I start with the longer prompt, where I specify all the things. Once I see the prototype, I use shorter prompts. </p><p>Examples:</p><p><strong>Prompt template: system-first screen</strong></p><blockquote><p>&#8220;Create a <em>[screen name]</em> using my <em>[layout component]</em> and my <em>[form/data components]</em>. Use spacing tokens for all margins and gaps. Include loading, empty, and error states. Use component names exactly as defined in my library.&#8221;</p></blockquote><p></p><p><strong>Example: settings screen</strong></p><blockquote><p>&#8220;Create a settings page using my <code>SideNav</code> on the left. Build a form with <code>Input</code>, <code>Select</code>, and <code>Checkbox</code> components. Use page spacing tokens and include <code>Button/Primary</code> for Save and <code>Button/Secondary</code> for Cancel. Include validation states and an error banner.&#8221;</p></blockquote><p></p><p><strong>Complex example:</strong></p><p></p><blockquote><p><strong>Responsive Illustration Gallery (check the video below) </strong></p><p>Create a clean, minimal illustration gallery that fetches artwork from a bunny.net CDN.</p><p><strong>Design System &amp; Styling:</strong></p><ul><li><p><strong>Strict Adherence:</strong> The UI must strictly adhere to the design system defined in <code>/styles/globals.css</code>.</p></li><li><p><strong>Typography:</strong> Use ONLY the <strong>Geist</strong> font family as defined in the global CSS. Do not import or use any other fonts.</p></li><li><p><strong>Variables:</strong> Use the specific CSS variables defined in <code>globals.css</code> for all colors (e.g., <code>--background</code>, <code>--foreground</code>, <code>--primary</code>, <code>--card</code>), spacing, borders, and radius (<code>--radius</code>, <code>--radius-card</code>).</p></li></ul><p><strong>Data Source:</strong></p><ul><li><p>Fetch the list of illustrations from bunny.net using the available environment secrets: <code>BUNNY_STORAGE_ZONE</code>, <code>BUNNY_ACCESS_KEY</code>, and <code>BUNNY_CDN_URL</code>.</p></li></ul><p><em>(&#128161; this is why you need Supabase) </em></p><p><strong>Core Features:</strong></p><ol><li><p><strong>Dynamic Categorization:</strong></p><ul><li><p>Parse the filenames of the fetched images.</p></li><li><p>Extract the <strong>first word</strong> of the filename to serve as the &#8220;Category&#8221; (e.g., &#8220;Billing-icon.png&#8221; &#8594; &#8220;Billing&#8221;).</p></li><li><p>This logic should drive both the display tags and the filter options.</p></li></ul></li><li><p><strong>Search &amp; Filter Interface:</strong></p><ul><li><p><strong>Search:</strong> A text input to filter images by filename.</p></li><li><p><strong>Filter Dropdown:</strong> A <code>Select</code> menu positioned immediately next to the search bar.</p></li><li><p><strong>Dynamic Options:</strong> The dropdown options must be automatically generated from the unique categories found in the file list.</p></li></ul></li><li><p><strong>Gallery Grid:</strong></p><ul><li><p>Render a responsive grid of <code>IllustrationCard</code> components.</p></li><li><p><strong>IllustrationCard:</strong> Must display the image thumbnail, the filename, and the extracted category tag.</p></li></ul></li><li><p><strong>Interactions:</strong></p><ul><li><p><strong>Lightbox:</strong> Clicking a card should open a modal/lightbox for a full-size preview.</p></li><li><p><strong>Download:</strong> Include a button to download the original file directly.</p></li></ul></li></ol><p><strong>Implementation:</strong></p><ul><li><p>Use React and Tailwind CSS.</p></li><li><p>Use <code>lucide-react</code> for icons.</p></li><li><p>Ensure the layout is fully responsive for mobile and desktop.</p></li></ul></blockquote><div><hr></div><h3>Phase 3: Iteration (the loop that saves you time)</h3><p>Don&#8217;t expect &#8220;pixel-perfect&#8221; prototypes from the first prompt. You will need to iterate a bit to get it how you want it to look. </p><p><strong>Iteration loop</strong></p><ol><li><p>Generate the screen.</p></li><li><p>Fix the layout and hierarchy in Figma (auto layout, spacing, alignment).</p></li><li><p>Swap variants (Primary to Secondary, compact to regular).</p></li><li><p>Prompt for one change at a time (do not stack requests).</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EO-t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EO-t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 424w, https://substackcdn.com/image/fetch/$s_!EO-t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 848w, https://substackcdn.com/image/fetch/$s_!EO-t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 1272w, https://substackcdn.com/image/fetch/$s_!EO-t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EO-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif" width="1246" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1246,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1128437,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EO-t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 424w, https://substackcdn.com/image/fetch/$s_!EO-t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 848w, https://substackcdn.com/image/fetch/$s_!EO-t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 1272w, https://substackcdn.com/image/fetch/$s_!EO-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d0442f4-0a10-4447-8fc9-6bc7539f12b0_1246x720.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Rule:</strong> if the output drifts from your system, stop prompting and fix the system reference in the next prompt.</p><div><hr></div><h3>Phase 4: Connecting external tools (Connectors)</h3><p><a href="https://psxid.figma.com/romina">Figma Make</a> can connect to external tools via MCP so you can pull specs in as context instead of copy-pasting.</p><p><strong>Common connectors:</strong></p><ul><li><p>Supabase</p></li><li><p>Notion</p></li><li><p>GitHub</p></li><li><p>Linear</p></li><li><p>Asana</p></li><li><p>Atlassian (Confluence, Jira, Compass)</p></li><li><p>monday.com</p></li><li><p>API</p></li></ul><h3>Example: Build from a Notion PRD</h3><p></p><p><strong>Setup</strong></p><ol><li><p>Click <strong>Add context</strong> in the chat box.</p></li><li><p>Select <strong>Add connector</strong> and choose Notion.</p></li><li><p>Authenticate.</p></li><li><p>Enable read tools.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZqFn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZqFn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 424w, https://substackcdn.com/image/fetch/$s_!ZqFn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 848w, https://substackcdn.com/image/fetch/$s_!ZqFn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 1272w, https://substackcdn.com/image/fetch/$s_!ZqFn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZqFn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png" width="1280" height="636" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:636,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:115498,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZqFn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 424w, https://substackcdn.com/image/fetch/$s_!ZqFn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 848w, https://substackcdn.com/image/fetch/$s_!ZqFn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 1272w, https://substackcdn.com/image/fetch/$s_!ZqFn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30f2c9a6-be2b-4205-a4a9-b7a6c0f4773b_1280x636.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Prompt</strong></p><blockquote><p>&#8220;Use the specs in [Notion page link] to create a first-draft prototype. Follow the user flow described in the PRD and use my <code>Button</code> and <code>Input</code> components. Include the error states listed in the acceptance criteria.&#8221;</p></blockquote><p></p><h3>Example: Mobile learning flashcard app (simple)</h3><p>This is a great &#8220;start here&#8221; project. It is mostly UI and local state, which means you can validate the flow quickly.</p><p>Example prototype: &#128279; <strong><a href="https://panda-plane-70826003.figma.site/">Mobile Learning Flashcard App (Figma Make)</a></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cXrw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cXrw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 424w, https://substackcdn.com/image/fetch/$s_!cXrw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 848w, https://substackcdn.com/image/fetch/$s_!cXrw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 1272w, https://substackcdn.com/image/fetch/$s_!cXrw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cXrw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png" width="208" height="375.1284046692607" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:927,&quot;width&quot;:514,&quot;resizeWidth&quot;:208,&quot;bytes&quot;:149556,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cXrw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 424w, https://substackcdn.com/image/fetch/$s_!cXrw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 848w, https://substackcdn.com/image/fetch/$s_!cXrw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 1272w, https://substackcdn.com/image/fetch/$s_!cXrw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F422ae854-fc85-4ef2-bd16-db3e22446c07_514x927.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>What this is great for:</strong></p><ul><li><p>Validating the core flow (browse decks, study, progress).</p></li><li><p>Iterating on hierarchy, copy, and interaction.</p></li><li><p>Stress-test empty, completed, and error states before wiring real data.</p></li></ul><p><strong>How to move faster with Notion :</strong></p><ul><li><p>Put your decks and cards in Notion, then connect Notion in Figma Make and pull the content in as context. </p></li><li><p>This lets you prototype with real copy and structure while editors keep the source of truth in Notion up to date.</p></li></ul><p></p><h3>Example: Create or update a prototype from a GitHub issue</h3><p><strong>Prompt</strong></p><blockquote><p>&#8220;Fetch the requirements from [GitHub issue link]. Build a prototype that satisfies the user story. Include the edge cases and error states mentioned in the acceptance criteria.&#8221;</p></blockquote><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WSff!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WSff!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 424w, https://substackcdn.com/image/fetch/$s_!WSff!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 848w, https://substackcdn.com/image/fetch/$s_!WSff!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 1272w, https://substackcdn.com/image/fetch/$s_!WSff!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WSff!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png" width="1280" height="636" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:636,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:118149,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WSff!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 424w, https://substackcdn.com/image/fetch/$s_!WSff!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 848w, https://substackcdn.com/image/fetch/$s_!WSff!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 1272w, https://substackcdn.com/image/fetch/$s_!WSff!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377943b8-e585-490d-bfe8-2defb93e2219_1280x636.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Connector permissions (what I recommend)</strong></p><p>Figma disables write tools by default for good reason.</p><ul><li><p>Keep write tools on <strong>Ask to run</strong> until you trust the workflow.</p></li><li><p>Enable only the connectors relevant to the current project.</p></li></ul><div><hr></div><h2>Using API integrations </h2><p>Live data prototypes expose content length, edge cases, and failure states.</p><p>Use live data when you need to validate:</p><ul><li><p>Real content density and truncation.</p></li><li><p>Empty and loading states.</p></li><li><p>Error handling.</p></li><li><p>How your UI behaves with real user data.</p><p></p></li></ul><h3>Example: Illustration gallery (Supabase + external API)</h3><p>This is the &#8220;real app&#8221; pattern: you store metadata in a database and serve images from a CDN. And wohoo, it works in Figma, too. &#10024;</p><p><strong>Example prototype</strong></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;84269d39-ad2a-4594-9e98-35621d0f067a&quot;,&quot;duration&quot;:null}"></div><p><strong>Architecture:</strong></p><ul><li><p><strong>bunny.net </strong>hosts the image files (CDN delivery) &#8594; Imagine it like a &#8220;Dropbox folder&#8221;. You can use any other CDN provider as well. </p></li><li><p><strong>Supabase</strong> stores the metadata (title, tags, dimensions, URLs, created_at).</p></li><li><p><strong>The prototype </strong>fetches records from Supabase and renders thumbnails from Bunny URLs.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F4oL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F4oL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 424w, https://substackcdn.com/image/fetch/$s_!F4oL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 848w, https://substackcdn.com/image/fetch/$s_!F4oL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 1272w, https://substackcdn.com/image/fetch/$s_!F4oL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F4oL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png" width="1280" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96306,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!F4oL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 424w, https://substackcdn.com/image/fetch/$s_!F4oL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 848w, https://substackcdn.com/image/fetch/$s_!F4oL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 1272w, https://substackcdn.com/image/fetch/$s_!F4oL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0b712a1-eb4c-4de9-9f84-41326b3dd91c_1280x764.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Other possible examples for using the API</strong></p><p><strong><br>Theme previewer</strong>: fetch brand themes (colors, typography scales) from an internal theming API and preview the same screen across themes.</p><p><strong>Support ticket patterns</strong>: pull top support topics from Zendesk and map them to components (&#8220;most complaints mention DatePicker&#8221;) to guide fixes.</p><p></p><h4>How to set up API integrations (a checklist)</h4><ol><li><p>Start with public endpoints or a simple API key.</p></li><li><p>Define the data shape you expect (fields and types).</p></li><li><p>Ask for loading, empty, and error states.</p></li><li><p>Iterate and add more prompts </p></li></ol><div><hr></div><h3>Phase 5: Output options </h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7NcK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7NcK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 424w, https://substackcdn.com/image/fetch/$s_!7NcK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 848w, https://substackcdn.com/image/fetch/$s_!7NcK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 1272w, https://substackcdn.com/image/fetch/$s_!7NcK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7NcK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png" width="910" height="436" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:436,&quot;width&quot;:910,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:44983,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!7NcK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 424w, https://substackcdn.com/image/fetch/$s_!7NcK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 848w, https://substackcdn.com/image/fetch/$s_!7NcK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 1272w, https://substackcdn.com/image/fetch/$s_!7NcK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84d79e48-73d4-4f6d-a571-d6f7174e2de7_910x436.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Option 1: Stay in Figma</strong></p><p>Use this when you:</p><ul><li><p>Need stakeholder buy-in.</p></li><li><p>Need to test flows.</p></li><li><p>Still expect the design to change.</p></li></ul><p></p><p><strong>Option 2: Export code as a reference</strong></p><p>Use this when you:</p><ul><li><p>Want devs to understand the interaction and structure.</p></li><li><p>Want a concrete artifact for implementation discussions.</p></li></ul><p>Treat the export as a reference, not production code.</p><p></p><p><strong>Option 3: Publish as a standalone demo</strong></p><p>Use this when you:</p><ul><li><p>Need a link for remote stakeholders.</p></li><li><p>Want a demo that behaves like a real app.</p></li><li><p>Want to share it under your own domain.</p></li></ul><p></p><div><hr></div><h2>My tips for Figma Make</h2><p></p><p><strong>Create reusable templates you can copy and paste.</strong> Save context blocks, data shapes, and state requirements, so you stop rewriting the same instructions.</p><p><strong>Establish foundational rules and save them as markdown.</strong> Reuse the same constraints at the start of every new Make session.</p><p><strong>Define structure, not just tasks.</strong> Tell the tool what the app is made of (screens, states, data model), not just what it should do.</p><p><strong>Refine the design before you prompt.</strong> Start with a decent layout and reusable components. The more solid your structure is, the less you fight the AI.</p><p><strong>Reference your exact component names.</strong> Use the names exactly as they appear in Assets so Figma Make uses the right building blocks instead of inventing new UI.</p><p><strong>Connect your team library first.</strong> Do this before you prompt; otherwise, you will spend the session undoing generic components.</p><p><strong>Set up connectors before prompting.</strong> Get access set up first so context is ready, then focus prompts on screens and states instead of setup.</p><p><strong>Create a global CSS file you can reuse.</strong> Use it for published demos so typography, spacing, and layout defaults stay consistent across screens.</p><p><strong>Start with short prompts, then iterate.</strong> Change one thing at a time so you can see what caused the shift.</p><p><strong>Use revert as a workflow tool.</strong> Try an idea. If it drifts, revert. Prompt again with tighter constraints.</p><div><hr></div><h3>So, when to use Figma Make? </h3><p>Figma Make fills a gap most teams feel: <strong>fast prototyping that stays consistent with your design system</strong>.</p><p>Use Figma Make when:</p><ul><li><p>You already have a component library and variables in Figma, and you want the prototype to reuse them.</p></li><li><p>You need to validate a flow with realistic states (loading, empty, error, success), not just a static mock.</p></li><li><p>Your content or requirements live in tools like Notion or GitHub, and you want to pull them in rather than copy-paste.</p></li><li><p>You want to iterate directly in Figma (auto layout, variants, copy edits) after the first draft.</p></li><li><p>You want a shareable demo link for stakeholders, including on your own domain.</p></li></ul><p></p><p>If you want to try it today, do this:</p><ol><li><p><strong><a href="https://psxid.figma.com/romina">Create an account</a> </strong>(if you are late to the party &#128579;)</p></li><li><p><strong><a href="https://psxid.figma.com/romina">Open a file connected </a></strong>to your team library.</p></li><li><p>Prompt using your real component names.</p></li><li><p>Demand loading, empty, and error states.</p></li><li><p>Iterate in small steps until the prototype looks and behaves like your product.</p></li></ol><div><hr></div><h3>More Figma links to explore </h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kNYM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kNYM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!kNYM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!kNYM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!kNYM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kNYM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4533,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181702778?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kNYM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!kNYM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!kNYM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!kNYM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0989b7d4-6012-44f7-8eff-ceac94e19412_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>&#128279;  <a href="https://help.figma.com/hc/en-us/articles/35440096186007-Connect-external-tools-using-Figma-Make-connectors">Connect external tools using Figma Make connectors</a> <br>Official documentation on MCP connectors</p><p>&#128279; <a href="https://www.figma.com/blog/6-winning-figma-makes-and-what-you-can-learn-from-them/">6 Winning Figma Makes and what you can learn from them</a> </p><p>&#128279; <a href="https://help.figma.com/hc/en-us/articles/30965205437975-What-s-new-from-Config-2025">What&#8217;s new from Config 2025</a> <br>Official Figma announcement covering Make features</p><p>&#128279; <a href="https://www.figma.com/solutions/ai-agent-workflow-builder/">Figma AI agent workflow builder</a> <br>Figma&#8217;s documentation on AI workflows</p><p>&#128279; <a href="https://www.youtube.com/watch?v=jvJ6uQLQ8Fo">Empowering designers: AI, design systems, and quality</a><br>Schema by Figma 2025</p><p></p><p></p><p></p><p>Enjoy exploring and let me know how it goes. &#128588;<br>Romina </p><h3></h3><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Into Design Systems&quot;,&quot;id&quot;:116470739,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e518e3-7e50-49ed-9202-81959be5e861_256x256.jpeg&quot;,&quot;uuid&quot;:&quot;be58dad6-6e60-4ae6-a401-7195594fa08c&quot;}" data-component-name="MentionToDOM"></span> <strong>Conference 2026 / AI + Design Systems </strong></p><p>2026 will be a turning point for our field! If you want to understand how top teams build worldwide AI-ready Design Systems, this conference is the place to learn. <br>I will also talk there. &#128579;<br><br><strong>&#128279; <a href="https://www.intodesignsystems.com/">Link</a></strong></p><p></p><p><strong>Intercom&#8217;s 3-point framework for AI-driven design</strong></p><p>Shipping code, vibe coding the roadmap, and owning the entire frontend</p><p><strong>&#128279; <a href="https://ideas.fin.ai/p/intercoms-3-point-framework-for-ai">Link</a></strong></p><p></p><p><strong>Designing AI for Collaboration: The Future of Work is Multiplayer</strong></p><p>from Salesforce </p><p><strong>&#128279; <a href="https://www.salesforce.com/blog/designing-ai-for-collaboration/">Link</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Best AI Tools for Design (System) Teams in 2026]]></title><description><![CDATA[What I use every day and you should too]]></description><link>https://learn.thedesignsystem.guide/p/best-ai-tools-for-design-system-teams</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/best-ai-tools-for-design-system-teams</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 12 Dec 2025 09:24:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_B7Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_B7Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_B7Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!_B7Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!_B7Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!_B7Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_B7Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:324841,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_B7Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!_B7Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!_B7Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!_B7Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99edb47d-5f15-4efd-b1f9-5413d87fa79e_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Most design system teams are drowning in manual work. Syncing tokens between Figma and code takes hours. Documentation is outdated. Tracking component adoption means digging through multiple dashboards. And every time someone asks, &#8220;What did we decide about X?&#8221; you&#8217;re scrolling through months of Slack messages.</p><p>I&#8217;ve tested maaaany of the AI tools this year. Most sit unused after the initial hype. But a handful have cut my repetitive work by 50-60% and become part of my daily workflow.</p><p>Here&#8217;s what I use every day, and it actually <strong>works</strong>.&#128071;</p><div><hr></div><h2>For coding and automation</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SjGQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SjGQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!SjGQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!SjGQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!SjGQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SjGQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:19471,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SjGQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!SjGQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!SjGQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!SjGQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F104ab5e8-cb09-40ea-b104-d4b7b001719e_1920x150.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><h3>Claude Code</h3><p>Anthropic&#8217;s command-line AI assistant that works directly in your terminal and codebase. It reads <strong>your files, runs scripts, and executes multi-step workflows</strong> <strong>autonomously.</strong></p><p><strong>&#128279; <a href="https://claude.ai/code">Claude Code</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Understands your entire codebase context, not just single files</p></li><li><p>Runs Python/JavaScript scripts for accurate calculations (no LLM guessing)</p></li><li><p>Claude Skills let you define patterns once and reuse them automatically</p></li><li><p>Handles multi-file changes like updating all components when tokens change</p></li><li><p>Works with MCP servers to connect Figma, GitHub, and other tools</p></li></ul><p><strong>Example:</strong> &#8220;Sync our design tokens from Figma variables to our JSON files and check for any mismatches.&#8221; Claude Code reads your token files, compares them against Figma (via MCP), and reports discrepancies. What used to take 30 minutes of manual spreadsheet comparison now happens in under 60 seconds. </p><p><strong>Time saved:</strong> 2-3 hours per week on token management alone.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VkTl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VkTl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!VkTl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!VkTl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!VkTl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VkTl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2fca584-3736-433c-b638-d810e2e950c9_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7516,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VkTl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!VkTl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!VkTl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!VkTl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2fca584-3736-433c-b638-d810e2e950c9_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Cursor</h3><p>AI-powered code editor built on VS Code. It sees your entire codebase and suggests completions based on your existing patterns.</p><p>&#128279; <strong><a href="https://cursor.com/">Cursor</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Autocomplete learns your component patterns and suggests matching code</p></li><li><p>Composer mode shows every file affected by a change before you make it</p></li><li><p>Supports multiple AI models (you can also connect your own)</p></li><li><p>MCP integrations connect directly to Figma, GitHub, and docs</p></li><li><p>Familiar VS Code interface means no learning curve</p></li></ul><p><strong>Example:</strong> When updating a component&#8217;s API, Cursor&#8217;s Composer mode shows every file that imports that component. You see the full impact of your change before you make it. </p><div id="youtube2-jh6eYgPlki8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;jh6eYgPlki8&quot;,&quot;startTime&quot;:&quot;6s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/jh6eYgPlki8?start=6s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>For voice and writing</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-lpi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-lpi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!-lpi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!-lpi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!-lpi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-lpi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:13077,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-lpi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!-lpi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!-lpi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!-lpi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5f9eeb8-60ee-4263-b321-34a60c01aaad_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Whispr Flow</h3><p>Voice-to-text that works anywhere on your Mac. Press a hotkey, speak, and text appears wherever your cursor is.</p><p><strong>&#128279; <a href="https://whisprflow.com/">Whisprflow</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Works in any app (Slack, Figma, VS Code, browser)</p></li><li><p>Fast transcription with high accuracy</p></li><li><p>No need to switch windows or break your flow</p></li><li><p>Great for first drafts when you think faster than you type</p></li><li><p>Useful during design reviews when your hands are busy</p></li></ul><p><strong>Example:</strong> Use it in any tools (just use the shortcut) and start speaking. </p><p><strong>Time saved:</strong> Surprisingly A LOT. &#128517;</p><div><hr></div><h2>For connecting tools</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X5ex!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X5ex!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!X5ex!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!X5ex!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!X5ex!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X5ex!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4527,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!X5ex!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!X5ex!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!X5ex!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!X5ex!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ca01af2-870b-4d37-932c-68b2bd3e442f_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Figma MCP Server</h3><p>Official Figma integration that connects your designs to Claude and Cursor via <strong>Model Context Protocol.</strong> Your AI tools can read components, tokens, and specs directly from Figma.</p><p><strong>&#128279; <a href="https://www.figma.com/blog/design-systems-ai-mcp/">Figma MCP</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>AI reads actual component specs, not your descriptions of them</p></li><li><p>Compares Figma variables with code tokens automatically</p></li><li><p>Generates specs without manual copy-paste</p></li><li><p>Works with both Claude Code and Cursor (and other AI tools) </p></li><li><p>Understands variants, spacing, and token references</p></li></ul><p><strong>Example:</strong> &#8220;Generate specs for the modal component in our Figma library.&#8221; The AI reads the actual component directly from Figma: variants, spacing values, token references, everything. OR you copy link to your design and instruct Cursor to build your components or screens. </p><p><strong>Time saved:</strong> Spec documentation that used to take 20-30 minutes now takes 2 minutes.</p><div id="youtube2-4nE_9g5zxeQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;4nE_9g5zxeQ&quot;,&quot;startTime&quot;:&quot;1s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/4nE_9g5zxeQ?start=1s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c8li!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c8li!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!c8li!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!c8li!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!c8li!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c8li!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6949,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!c8li!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!c8li!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!c8li!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!c8li!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7ec8c2-6849-4904-a780-dfc6adada6a7_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>GitHub MCP Server</h3><p>GitHub integration for AI tools via Model Context Protocol. Search code, analyze PRs, and track adoption across repositories.</p><p><strong>&#128279; <a href="https://github.com/modelcontextprotocol">GitHub MCP</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Search across all repositories in seconds</p></li><li><p>Analyze imports to track component adoption</p></li><li><p>Review PRs and check for token usage</p></li><li><p>Generate changelogs from commit history</p></li><li><p>Find which teams haven&#8217;t updated to the latest versions</p></li></ul><p><strong>Example: </strong>&#8220;Which teams are still using our deprecated v1 button component?&#8221; Claude searches across all repositories, analyzes imports, and returns a list of file paths. </p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QZx_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QZx_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!QZx_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!QZx_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!QZx_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QZx_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7399,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QZx_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!QZx_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!QZx_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!QZx_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3b3f481-9f0e-4509-8c3d-11782e3bd496_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>PostHog MCP</h3><p>Analytics integration that brings usage data into your AI workflow. Query component metrics without digging through dashboards.</p><p><strong>&#128279; <a href="https://posthog.com/docs/model-context-protocol">Posthog</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Get component adoption data through natural language queries</p></li><li><p>Compare usage between component versions</p></li><li><p>Identify which components need better documentation</p></li><li><p>Track design system health metrics over time</p></li><li><p>Make data-driven decisions about what to build next</p></li></ul><p><strong>Example:</strong> &#8220;Show me which components have the lowest adoption rates this quarter.&#8221; Instead of clicking through dashboards and building custom queries, you get a direct answer with the data. This changed how I prioritize roadmap decisions. Low adoption often means the component needs better docs or has usability issues.</p><p><strong>Time saved:</strong> Analytics deep-dives that took an hour now take 5 minutes.</p><div><hr></div><h2>For research and processing</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bay1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bay1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!Bay1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!Bay1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!Bay1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bay1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:17155,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Bay1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!Bay1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!Bay1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!Bay1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2a55ad8-a1ff-4cfb-8c13-354ddbf5cf41_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>NotebookLM</h3><p>Google&#8217;s AI research assistant that turns your documents into interactive conversations and even generates podcast-style audio discussions.</p><p><strong>&#128279; <a href="https://notebooklm.google.com/">NotebookLM</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Upload multiple documents and ask questions across all of them</p></li><li><p>Generates podcast-style conversations about your content</p></li><li><p>Great for processing large documents passively (listen while commuting)</p></li><li><p>Finds connections between different documents</p></li><li><p>Free to use</p></li></ul><p><strong>Example: </strong>Add any video, get a transcription, and ask any question about the content. You can also create quizzes, mind maps, and audio summaries. </p><div><hr></div><h2>For prototyping and deployment</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yv4P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yv4P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!yv4P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!yv4P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!yv4P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yv4P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2691b47d-2909-402b-9f40-2287377accdd_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5546,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yv4P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!yv4P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!yv4P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!yv4P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2691b47d-2909-402b-9f40-2287377accdd_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Replit</h3><p>AI-powered development environment where you can <strong>build, iterate, and deploy</strong> apps publicly - all in your browser.</p><p>&#128279; <strong><a href="https://replit.com/refer/surf3rk4">Replit</a></strong></p><p>My &#8220;guilty pleasure&#8221; is iterating on my ideas on the go via Replit&#8217;s mobile app (way better than scrolling on social networks). &#128517;</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;c64a900e-9ca6-4a0a-9bba-690b10713e9f&quot;,&quot;duration&quot;:null}"></div><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Replit&#8217;s Design Mode (it is fast) </p></li><li><p>Build and deploy in the same environment </p></li><li><p>Share live URLs instantly </p></li><li><p>AI assistant helps you code and debug</p></li><li><p>Great for quick tools and prototypes that need to be public</p></li><li><p>Others can fork and remix your work (public projects)</p></li><li><p>Mobile app where you can code on the go :) </p></li></ul><p><strong>Example: </strong>Build any tool you want. My <strong><a href="https://namedesigntokens.guide/">design tokens name generator</a></strong> was built with Replit. Plus, I just published <strong><a href="https://token-health-check--surf3rk4.replit.app">Token Health Checker. </a></strong></p><div><hr></div><h2>For design exploration</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5ZQi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5ZQi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!5ZQi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!5ZQi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!5ZQi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5ZQi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4527,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5ZQi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!5ZQi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!5ZQi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!5ZQi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20436e5b-d9f6-4ffd-92d2-671a68820853_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Figma Make</h3><p>Figma&#8217;s built-in AI for generating designs from text prompts. Creates layouts, components, and variations directly in your Figma file.</p><p>&#128279; <strong><a href="https://www.figma.com/make">Figma Make</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Generates multiple layout variations quickly</p></li><li><p>Good for early exploration before committing to a pattern</p></li><li><p>Works directly in Figma (no export/import)</p></li><li><p>Helpful for prototyping new component ideas</p></li><li><p>Saves time on initial layout work</p></li></ul><p><strong>Example: </strong>&#8220;Create 3 variations of a pricing card layout.&#8221; I use this for rapid exploration when starting a new pattern. Generate 5 variations in 2 minutes, pick the best direction, then build properly with your tokens. </p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-L6v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-L6v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!-L6v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!-L6v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!-L6v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-L6v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:10573,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-L6v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!-L6v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!-L6v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!-L6v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff02c2ff5-57ba-479d-9673-6d66bdda29b3_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Midjourney</h3><p>AI image generation known for high-quality, artistic outputs. Best for conceptual and brand-level visuals.</p><p>&#128279; <strong><a href="https://midjourney.com/">Midjourney</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Exceptional quality for mood boards and brand exploration</p></li><li><p>Great for marketing and promotional visuals</p></li><li><p>Helps explore visual directions before committing</p></li><li><p>Generates consistent styles with style references</p></li><li><p>Strong community with shared prompts and techniques</p></li></ul><p><strong>Example: </strong>Creating mood boards for new brand directions or marketing visuals. When you need to show stakeholders &#8220;this is the feeling we&#8217;re going for&#8221; before diving into component work. I use it at the start of major rebrand projects to align on visual direction. Generating 20 mood board images takes 10 minutes instead of hours searching stock sites.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Py3B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Py3B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!Py3B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!Py3B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!Py3B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Py3B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:13668,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Py3B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!Py3B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!Py3B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!Py3B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F366e85ef-e613-4cae-beb2-8de1aaba72ac_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Gemini (Nano Banana Pro)</h3><p>Google&#8217;s multimodal AI with powerful image generation and editing. The Nano Banana Pro model (built on Gemini 3 Pro) is particularly strong at understanding context and making precise edits to existing images.</p><p>&#128279; <strong><a href="https://gemini.google.com/overview/image-generation/">Gemini</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Generate and edit images in the same interface</p></li><li><p>Edit specific parts of images with natural language (&#8221;change the button color to blue&#8221;)</p></li><li><p>Up to 2K resolution output</p></li><li><p>Strong at infographics, diagrams, and data visualization</p></li><li><p>Consistent character appearance across multiple images</p></li><li><p>Free tier available, Pro for advanced controls</p></li></ul><p><strong>Example:</strong> Quick image edits without opening Photoshop. &#8220;Remove the background from this icon&#8221; or &#8220;Update the screenshot to show the new header.&#8221; Or merging two photos. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-INM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-INM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 424w, https://substackcdn.com/image/fetch/$s_!-INM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 848w, https://substackcdn.com/image/fetch/$s_!-INM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 1272w, https://substackcdn.com/image/fetch/$s_!-INM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-INM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png" width="1456" height="1423" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1423,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3459515,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-INM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 424w, https://substackcdn.com/image/fetch/$s_!-INM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 848w, https://substackcdn.com/image/fetch/$s_!-INM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 1272w, https://substackcdn.com/image/fetch/$s_!-INM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb56550eb-6b2b-497d-93bf-d705f4361850_2268x2217.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>For audio and video</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cvcp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cvcp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!cvcp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!cvcp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!cvcp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cvcp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6246,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cvcp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!cvcp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!cvcp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!cvcp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf47b8c8-35f9-446a-8b1e-5925b464bbca_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>ElevenLabs</h3><p>AI voice generation that creates natural-sounding voiceovers from text. Useful for video documentation and onboarding content.</p><p>&#128279; <strong><a href="https://elevenlabs.io/">ElevenLabs</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Natural-sounding voices in multiple languages</p></li><li><p>Fast turnaround for voiceover content</p></li><li><p>Consistent voice across all your documentation videos</p></li><li><p>No need to schedule recording sessions</p></li><li><p>Good enough quality for internal documentation</p></li></ul><p><strong>Example:</strong> Creating voiceovers for component demo videos or onboarding content. Record a script, generate the voiceover, and add it to your screen recording. What used to require scheduling time with a narrator now happens in 10 minutes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pyBb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pyBb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 424w, https://substackcdn.com/image/fetch/$s_!pyBb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 848w, https://substackcdn.com/image/fetch/$s_!pyBb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 1272w, https://substackcdn.com/image/fetch/$s_!pyBb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pyBb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png" width="1456" height="951" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:951,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:273547,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pyBb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 424w, https://substackcdn.com/image/fetch/$s_!pyBb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 848w, https://substackcdn.com/image/fetch/$s_!pyBb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 1272w, https://substackcdn.com/image/fetch/$s_!pyBb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F173e5fc7-a99e-4555-bd7b-682d946677e8_1577x1030.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><h2>For communication</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XuCg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XuCg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!XuCg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!XuCg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!XuCg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XuCg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12607,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XuCg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!XuCg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!XuCg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!XuCg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd954c6a-6523-42e7-8966-cbaecc2315d7_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Slack MCP</h3><p>Connects Slack history to your AI tools. Search conversations, find decisions, and track discussions without scrolling through months of messages.</p><p>&#128279; <strong><a href="https://docs.slack.dev/ai/mcp-server/">Slack MCP Official</a></strong></p><p>&#128279; <strong><a href="https://github.com/korotovsky/slack-mcp-server">Slack MCP Unofficial</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Search design decisions from past conversations</p></li><li><p>Find who approved what and when</p></li><li><p>Track component feedback across channels</p></li><li><p>No more &#8220;what did we decide about X?&#8221; confusion</p></li><li><p>Valuable for teams where decisions happen in Slack</p></li></ul><p><strong>Example:</strong> &#8220;What did we decide about the modal animation timing in last month&#8217;s design review?&#8221; Instead of scrolling through months of messages, you get the answer with context and links to the original conversation. </p><div><hr></div><h2>For documentation</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_evU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_evU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!_evU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!_evU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!_evU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_evU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8955,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_evU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!_evU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!_evU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!_evU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e101038-ccc2-49c6-b3ac-6acd4a5ce95b_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Mintlify</h3><p>Documentation platform with built-in AI features. Write in markdown, deploy instantly, and get AI-powered search and suggestions out of the box.</p><p><a href="https://mintlify.com/">mintlify.com</a></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Deploy docs from markdown with zero config</p></li><li><p>AI-powered search understands natural language questions</p></li><li><p>Auto-generates API documentation from OpenAPI specs</p></li><li><p>Built-in analytics show which docs people actually read</p></li><li><p>Integrates with GitHub for automatic deployments on merge</p></li></ul><p><strong>Example:</strong>  I use Mintlify for our design system documentation site. Claude Code generates the markdown, I push to GitHub, and the docs deploy automatically. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;538bb17b-eaf4-47e3-9cde-f1b26bfacff2&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Documentation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-17T08:58:02.536Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!9dDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe9c6aa2-4c25-47ea-8c50-3c5d2d786ca1_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-documentation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176234757,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:95,&quot;comment_count&quot;:2,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p><strong>Time saved:</strong> Documentation that used to take a full day to publish now deploys in minutes. AI search reduced support questions by roughly 40%.</p><div><hr></div><h2>For model access</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L8V6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L8V6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!L8V6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!L8V6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!L8V6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L8V6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23748,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L8V6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!L8V6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!L8V6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!L8V6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71dd210b-8823-4a09-85a1-def28cd6e0d4_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>OpenRouter</h3><p>A unified API that gives you access to dozens of AI models through one interface. </p><p>&#128279;<strong> <a href="https://openrouter.ai/">openrouter.ai</a></strong></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>One API key 100+ other models</p></li><li><p>Compare outputs from different models on the same prompt</p></li><li><p>Fall back to alternative models when one is down or rate-limited</p></li><li><p>Often cheaper than going direct to each provider</p></li><li><p>Pay only for what you use, no monthly commitments per provider</p></li></ul><p><strong>Example: </strong>When building internal AI tools for your design system, OpenRouter lets you experiment with different models without having to rewrite integrations.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pBPP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pBPP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 424w, https://substackcdn.com/image/fetch/$s_!pBPP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 848w, https://substackcdn.com/image/fetch/$s_!pBPP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 1272w, https://substackcdn.com/image/fetch/$s_!pBPP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pBPP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png" width="1319" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1319,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:176451,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pBPP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 424w, https://substackcdn.com/image/fetch/$s_!pBPP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 848w, https://substackcdn.com/image/fetch/$s_!pBPP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 1272w, https://substackcdn.com/image/fetch/$s_!pBPP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07092a-0ca1-4bc2-b880-7a4411159d78_1319x946.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>For general AI assistance</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!r_Gx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r_Gx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!r_Gx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!r_Gx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!r_Gx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!r_Gx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png" width="1456" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6006,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/181318906?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!r_Gx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 424w, https://substackcdn.com/image/fetch/$s_!r_Gx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 848w, https://substackcdn.com/image/fetch/$s_!r_Gx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 1272w, https://substackcdn.com/image/fetch/$s_!r_Gx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F359d3f58-f2a6-4b86-9c03-d25ea5d62773_1920x150.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>ChatGPT</h3><p>OpenAI&#8217;s conversational AI with web browsing, image generation (DALL-E), and Canvas for collaborative editing. The most versatile general-purpose AI assistant.</p><p>&#128279; <a href="https://chatgpt.com/">ChatGPT</a></p><p><strong>Why it&#8217;s useful:</strong></p><ul><li><p>Web browsing for real-time research and fact-checking</p></li><li><p>Canvas mode for collaborative document and code editing</p></li><li><p>DALL-E integration for quick image generation</p></li><li><p>Voice mode for hands-free conversations</p></li><li><p>Memory feature remembers context across sessions</p></li><li><p>Strong at explaining complex concepts in simple terms</p></li></ul><p><strong>Example:</strong> Quick research, transforming file formats, explanations, practical &#8220;every-day&#8221; questions, training suggestions. So many examples &#128579;</p><div><hr></div><h2>Where to start</h2><p>If you&#8217;re new to AI tools for design work:</p><ol><li><p><strong>Start with Cursor</strong> - It&#8217;s familiar (VS Code), and the autocomplete is immediately useful</p></li><li><p><strong>Add Figma MCP</strong> when you&#8217;re comfortable </p></li><li><p><strong>Try Claude Code</strong> for repetitive workflows</p></li><li><p><strong>Add more MCPs</strong></p><p></p></li></ol><p>The landscape changes fast. What matters is finding tools that save more time than they cost to learn. <strong>Skip the hype tools</strong> until they prove themselves. Most AI plugins are still thin wrappers that don&#8217;t understand your context.</p><p>Enjoy exploring &#128588;<br>Romina</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Watch the Converge conference videos</strong></p><p>The talks from Converge 2025 are now available to watch. <br><br><strong>&#128279; <a href="https://converge.zeroheight.com/videos">Link</a></strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Design tokens that AI can actually read]]></title><description><![CDATA[Plus a behind-the-scenes BMW experience]]></description><link>https://learn.thedesignsystem.guide/p/design-tokens-that-ai-can-actually</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/design-tokens-that-ai-can-actually</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 05 Dec 2025 15:24:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fmfl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fmfl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fmfl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!fmfl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!fmfl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!fmfl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fmfl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1549883,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180788986?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fmfl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!fmfl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!fmfl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!fmfl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3cc05ae-52e8-49b7-be78-ac55d7685a9f_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Most design tokens are structured for humans using Figma or JSON files. When you connect them to Claude via MCP (Model Context Protocol), the AI sees a wall of nested objects with no context about <em><strong>why</strong></em><strong> </strong>these values exist or <em><strong>when</strong></em><strong> </strong>to use them. </p><p>The result: AI generates code with <code>blue-5</code> when it should use <code>color-feedback-error</code>. It picks <code>space-3</code> for the button padding when your system specifies <code>button-padding</code>. You spend more time typing prompts to fix and explain than you do actually saving with AI.</p><p>Here&#8217;s how to restructure your tokens so AI actually understands your design system. </p><h3>What you&#8217;ll learn</h3><ul><li><p>Why tokens fail AI </p></li><li><p>The three elements of AI-readable tokens </p></li><li><p>Add descriptions to your top 10 tokens in 15 minutes</p></li><li><p>How to add context without restructuring legacy tokens</p></li><li><p>Catch token misuse in Figma</p></li><li><p>How AI-readable tokens enable context-aware design systems</p></li></ul><div><hr></div><h2>The problem: tokens that lie</h2><p>&#128075; Just a quick note &#8594; I&#8217;m mostly using Claude Code or Cursor, so I will write about this tool, but you can use other tools as well. However, keep in mind that the model you pick also affects what you get in the end. </p><p>I connected my design tokens to Claude via Figma MCP. First test: &#8220;Build me a button component using my design system.&#8221;</p><p>Claude&#8217;s output used:</p><ul><li><p><code>red.6</code> for the error state (should be <code>color-feedback-error</code>)</p></li><li><p><code>space-2</code> for padding (should be <code>space-4</code>)</p></li><li><p><code>neutral-7</code> for text (should be a semantic token)</p></li></ul><p>The tokens were technically correct. They existed in my system. But Claude had no way to know that <code>red-6</code> is a primitive meant for building semantic tokens, not for direct use in components.</p><p><strong>Here&#8217;s what Claude saw:</strong></p><pre><code><code>{
  &#8220;red&#8221;: {
    &#8220;6&#8221;: {
      &#8220;value&#8221;: &#8220;#DE3E25&#8221;,
      &#8220;type&#8221;: &#8220;color&#8221;
    }
  }
}
</code></code></pre><p><strong>What was missing:</strong> the semantic layer.</p><p>If you use Tokens Studio or Figma Variables, you already create primitive tokens like <code>red-6</code> and then connect them to semantic tokens like <code>color-feedback-error</code>. But many teams either skip the semantic layer entirely or don&#8217;t expose it to AI tools.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!myf3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!myf3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 424w, https://substackcdn.com/image/fetch/$s_!myf3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 848w, https://substackcdn.com/image/fetch/$s_!myf3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 1272w, https://substackcdn.com/image/fetch/$s_!myf3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!myf3!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png" width="1200" height="391.4835164835165" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:475,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:148167,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180788986?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!myf3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 424w, https://substackcdn.com/image/fetch/$s_!myf3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 848w, https://substackcdn.com/image/fetch/$s_!myf3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 1272w, https://substackcdn.com/image/fetch/$s_!myf3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe49e66f0-f86d-4b34-891e-88a1ffb05528_2880x939.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Here&#8217;s what Claude needs to see:</strong></p><p>Same underlying hex value. But now AI tool sees the primitive, the semantic token that references it, <em>and</em> the description that explains intent.</p><div><hr></div><h2>Why are tokens the foundation</h2><p>Design tokens sit at the bottom of the stack. Every component, pattern, and product page ultimately resolves to tokens. This makes them both the smallest unit of your design system and the highest-leverage place to add AI readability.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rb6x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rb6x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 424w, https://substackcdn.com/image/fetch/$s_!Rb6x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 848w, https://substackcdn.com/image/fetch/$s_!Rb6x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!Rb6x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rb6x!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png" width="1200" height="432.6923076923077" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:525,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:237172,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180788986?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Rb6x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 424w, https://substackcdn.com/image/fetch/$s_!Rb6x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 848w, https://substackcdn.com/image/fetch/$s_!Rb6x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!Rb6x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf4b4a3-c565-4d73-83f7-4c341677769b_2880x1038.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>If tokens lack intent, everything above them inherits that blindness.</strong></p><p>When Claude generates a Button component, it needs to <strong>pick colors, spacing, and typography.</strong> If your tokens are just primitives (<code>red-6</code>, <code>space-4</code>), Claude makes arbitrary choices. Those choices cascade upward&#8212;into patterns, into pages, into your product.</p><p>But if your tokens carry intent (<code>color-feedback-error</code>, <code>spacing-component-button-padding</code>), Claude&#8217;s choices are informed at every layer. The Button uses the right error color. The Form pattern that contains the Button inherits that correctness. The Settings page that contains the Form stays consistent.</p><p></p><p><strong>Tokens are the API contract between design and code.</strong></p><p>Think of tokens as the interface definition for your visual language. Just like a well-documented API tells developers what each endpoint does and when to use it, well-documented tokens tell AI what each value means and where it belongs.</p><pre><code><code>// A bad API
GET /data/123  &#8594; What is this? When do I call it?

// A good API  
GET /users/{id}/profile  &#8594; Clear intent, obvious usage</code></code></pre><p>The parallel is exact. Tokens without intent are like <em>undocumented</em> endpoints: technically functional but impossible to use correctly without tribal knowledge.</p><p><strong>&#128680; Tokens are the only layer AI always touches </strong></p><p>When Claude generates code, it might skip your component library entirely and build from scratch. It might ignore your patterns. But it cannot skip tokens (every visual property resolves to a value).</p><p>This makes tokens your guaranteed point of influence. Even if Claude improvises everything else, AI-readable tokens ensure the fundamentals are correct: the right colors for the right states, the right spacing for the right contexts, the right typography for the right hierarchy.</p><p><strong>Start with tokens because they&#8217;re the smallest, fastest fix with the largest impact.</strong></p><p>You can&#8217;t restructure your entire component library overnight. You can&#8217;t document every pattern in a week. But you can add descriptions to your top 20 tokens in an hour.</p><p>That hour of work propagates upward through every component and pattern that uses those tokens. It&#8217;s the highest-leverage investment you can make in AI readability.</p><p></p><h2>What makes tokens AI-readable</h2><p>AI tools process your tokens differently than humans do. A designer browsing your token file understands context from experience. They know <code>red</code> means danger. They know primitives are building blocks, not final values.</p><p>AI has none of that context. It sees names and values. That&#8217;s it.</p><p>When you expose tokens via MCP, Claude accesses them through tool calls. It retrieves your token file and parses the JSON. The structure and descriptions you add are exactly what Claude reads&#8212;nothing more, nothing less.</p><p></p><p><strong>Three things make tokens AI-readable:</strong></p><h3>1. Semantic naming (intent, not appearance)</h3><p><code>blue.5 = color.interactive.primary</code></p><p><code>space-4 = spacing.component.button.padding</code></p><p>The AI-readable version tells Claude <em>what the token is for</em>, not just <em>what it looks like</em>.</p><p></p><h3>2. Descriptions (when to use this token)</h3><pre><code><code>{
  &#8220;color-feedback-error&#8221;: {
    &#8220;value&#8221;: &#8220;#DE3E25&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;description&#8221;: &#8220;Use for error messages, destructive button backgrounds, invalid input borders&#8221;
  }
}</code></code></pre><p>That single <code>description</code> field transforms a color value into actionable guidance. Claude now knows this token belongs on error states, not primary buttons.</p><h3>3. Relationships (which tokens are connected)</h3><pre><code><code>{
  &#8220;color-feedback-error&#8221;: {
    &#8220;value&#8221;: &#8220;#DE3E25&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;description&#8221;: &#8220;Error state background&#8221;,
    &#8220;usage&#8221;: [&#8221;Alert.error&#8221;, &#8220;Button.destructive&#8221;, &#8220;Input.invalidBorder&#8221;],
    &#8220;pairedWith&#8221;: [&#8221;color-feedback-errorText&#8221;, &#8220;color-feedback-errorIcon&#8221;]
  }
}</code></code></pre><p>Now Claude knows that when it uses this error background, it should also look for <code>color.feedback.errorText</code> for the text color.</p><div><hr></div><h2>The before and after</h2><p>Let me show you what this looks like with real tokens.</p><h3>Before: primitive-based structure</h3><p>This is a typical Tokens Studio export:</p><pre><code><code>{
  &#8220;red-1&#8221;: { &#8220;value&#8221;: &#8220;#FAEFEC&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-2&#8221;: { &#8220;value&#8221;: &#8220;#F9E6E2&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-3&#8221;: { &#8220;value&#8221;: &#8220;#F7D5CD&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-4&#8221;: { &#8220;value&#8221;: &#8220;#F6BFB1&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-5&#8221;: { &#8220;value&#8221;: &#8220;#F6A791&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-6&#8221;: { &#8220;value&#8221;: &#8220;#DE3E25&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-7&#8221;: { &#8220;value&#8221;: &#8220;#C42924&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;red-8&#8221;: { &#8220;value&#8221;: &#8220;#841815&#8221;, &#8220;type&#8221;: &#8220;color&#8221; },
  &#8220;space-4&#8221;: {
    &#8220;value&#8221;: &#8220;{space-1} * 4&#8221;,
    &#8220;type&#8221;: &#8220;spacing&#8221;,
    &#8220;description&#8221;: &#8220;20px&#8221;
  }
}</code> </code></pre><p>Hard to know which token to use for error states, right? </p><pre><code><code>{
  &#8220;color-feedback-error&#8221;: {
    &#8220;value&#8221;: &#8220;#DE3E25&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;description&#8221;: &#8220;Error states: alerts, destructive buttons, invalid inputs&#8221;,
    &#8220;a11y&#8221;: &#8220;Meets WCAG AA contrast on white (4.5:1)&#8221;
  },
  &#8220;color-feedback-error&#8221;: {
    &#8220;value&#8221;: &#8220;#FAEFEC&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;description&#8221;: &#8220;Light error backgrounds for inline validation&#8221;
  },
  &#8220;color-feedback-success&#8221;: {
    &#8220;value&#8221;: &#8220;#198053&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;description&#8221;: &#8220;Success states: confirmations, completed actions&#8221;
  },
.... 

and so on ... 
</code></code></pre><p><strong>What Claude now understands:</strong></p><ul><li><p><code>color-feedback-error</code> is for error states</p></li><li><p>It meets accessibility requirements</p></li><li><p><code>color-feedback-error</code> exists for lighter backgrounds</p></li><li><p><code>spacing-component-button-padding</code> is specifically for buttons</p></li><li><p><code>spacing-component-input-padding</code> is for inputs (different value)</p></li></ul><div><hr></div><h2>Want to know if your tokens are AI-readable? Run this test </h2><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;42f3e22c-9b8c-472d-b2e5-16cfa7f26fb3&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;From Figma to Interactive Components in Minutes&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-06-27T12:00:53.709Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!TPRE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07007459-ac44-4ab4-8419-500cdf0b0a83_1260x908.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/from-figma-to-interactive-components&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:166894741,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:49,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><p><strong>Prompt Claude/Cursor (make sure you connect Figma MCP first):</strong></p><blockquote><p>&#8220;Build a form with email validation that shows an error state when the email is invalid. Use my design system tokens.&#8221;</p></blockquote><p><strong>If your tokens are NOT AI-readable, Claude will:</strong></p><ul><li><p>Use primitive colors like <code>red-6</code> or <code>#DE3E25</code> directly</p></li><li><p>Pick arbitrary spacing values</p></li><li><p>Ignore accessibility considerations</p></li></ul><p><strong>If your tokens ARE AI-readable, Claude will:</strong></p><ul><li><p>Use <code>color-feedback-error</code> for the error border</p></li><li><p>Use <code>color-feedback-error</code> for the background</p></li><li><p>Use <code>color-text-error</code> for the message text</p></li><li><p>Apply <code>spacing-component-input-padding</code> correctly</p></li></ul><p>The difference is obvious. And it saves you from playing token police on every AI-generated component.</p><div><hr></div><h2>Quick exercise: add descriptions in 15 minutes</h2><p>You don&#8217;t need to restructure your entire token system today. Start with descriptions.</p><h3>Step 1: identify your top 10 tokens</h3><p>Which tokens appear in the most components? Probably:</p><ol><li><p>Primary button color</p></li><li><p>Error color</p></li><li><p>Text primary color</p></li><li><p>Background color</p></li><li><p>Border color</p></li><li><p>Button padding</p></li><li><p>Input padding</p></li><li><p>Border radius</p></li><li><p>Focus ring color</p></li><li><p>Disabled state color</p></li></ol><h3>Step 2: add descriptions</h3><p>Open your token file. Find each token. Add a <code>description</code> field:</p><pre><code><code>{
  &#8220;blue-5&#8221;: {
    &#8220;value&#8221;: &#8220;#1870C6&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;description&#8221;: &#8220;Primary interactive color. Use for main CTAs, links, and focus states. Meets WCAG AA on white.&#8221;
  }
}
</code></code></pre><h3>Step 3: test with Claude or Cursor</h3><p>Ask your AI tool to build something using your tokens. See if it picks the right ones.</p><p>Wohoo, I hope it works.</p><div><hr></div><h2>The companion file strategy</h2><p>If you can&#8217;t change your token structure, companion files are your best option. They add the context AI needs without touching your existing tokens.</p><p>Create context files that MCP loads alongside your token data.</p><p>Examples:</p><h3>token-usage-guide.md</h3><pre><code><code># Token usage guide

## Color hierarchy

### When to use feedback colors
- `color-feedback-error`: Form validation failures, destructive actions, system errors
- `color-feedback-success`: Completed actions, positive confirmations
- `color-feedback-warning`: Cautions, pending states, non-critical alerts

### When to use interactive colors
- `color-interactive-primary`: Main CTAs, links, focused elements
- `color-interactive-secondary`: Secondary actions, less prominent buttons

## Spacing rules

### Component padding
- Buttons: Always use `spacing-component-button-padding` (20px)
- Inputs: Always use `spacing-component-input-padding` (15px)
- Cards: Always use `spacing-component-card-padding` (24px)

### Never do this
- Don&#8217;t use primitive spacing values directly in components
- Don&#8217;t mix spacing scales (e.g., 8px grid with 5px values)</code></code></pre><h3>component-token-map.md</h3><pre><code><code># Component token mapping

## Button
- Background: `color-interactive-primary`
- Background hover: `color-interactive-primary-hover`
- Text: `color-text-on-primary`
- Padding: `spacing-component-button-padding`
- Border radius: `border-radius-md`

## Button (destructive variant)
- Background: `color-feedback-errorDefault`
- Background hover: `color-feedback-error-hover`
- Text: `color-text-on-error`

and so on ... </code></code></pre><p>When you add these files to your MCP server, Claude reads them alongside your tokens. It has the rules, not just the values.</p><p>This approach works even if your tokens are primitive-only. The companion files provide the semantic layer externally.</p><p></p><h2>Advanced: the token metadata layer</h2><p>For teams ready to go deeper, add a metadata layer that explicitly tells AI how to use your tokens.</p><pre><code><code>{
  &#8220;color-feedback-errorDefault&#8221;: {
    &#8220;value&#8221;: &#8220;#DE3E25&#8221;,
    &#8220;type&#8221;: &#8220;color&#8221;,
    &#8220;meta&#8221;: {
      &#8220;description&#8221;: &#8220;Primary error state color&#8221;,
      &#8220;usage&#8221;: [
        &#8220;destructive button backgrounds&#8221;,
        &#8220;error alert borders&#8221;,
        &#8220;invalid input borders&#8221;,
        &#8220;error icon fills&#8221;
      ],
      &#8220;doNot&#8221;: [
        &#8220;use for warnings (use color-feedback-warning)&#8221;,
        &#8220;use on dark backgrounds without checking contrast&#8221;,
        &#8220;use as text color (use color-text-error instead)&#8221;
      ],
      &#8220;pairedTokens&#8221;: [
        &#8220;color-feedback-errorSubtle (for backgrounds)&#8221;,
        &#8220;color-text-error (for text)&#8221;,
        &#8220;color-feedback-errorHover (for interactive states)&#8221;
      ],
      &#8220;a11y&#8221;: {
        &#8220;contrastOnWhite&#8221;: &#8220;4.52:1&#8221;,
        &#8220;wcagLevel&#8221;: &#8220;AA&#8221;,
        &#8220;notes&#8221;: &#8220;Do not use as text on dark backgrounds&#8221;
      },
      &#8220;components&#8221;: [&#8221;Button&#8221;, &#8220;Alert&#8221;, &#8220;Input&#8221;, &#8220;Toast&#8221;]
    }
  }
}
</code></code></pre><p>Yesss, I know that this is more work upfront. But Claude now has everything it needs:</p><ul><li><p>What this token is for</p></li><li><p>Where to use it</p></li><li><p>Where NOT to use it</p></li><li><p>What other tokens it can combine with</p></li><li><p>Accessibility requirements</p></li><li><p>Which components use it</p></li></ul><p></p><h2>Why this matters beyond AI</h2><p>Making your tokens AI-readable also makes them human-readable. The documentation you add for Claude helps:</p><ul><li><p><strong>New team members</strong> understand your system faster</p></li><li><p><strong>Designers</strong> make consistent choices without asking</p></li><li><p><strong>Developers</strong> pick the right tokens without guessing</p></li><li><p><strong>Audits</strong> catch incorrect token usage automatically</p></li></ul><p>The work you do for AI benefits everyone.</p><p></p><h2>Validating intent at the source</h2><p>The same problem exists upstream. Before tokens reach AI, designers misuse them in Figma. They apply <code>blue.500</code> directly to a button instead of <code>color.interactive.primary</code>. They use error colors on non-error components. </p><p>I was experimenting with different ways to educate teams about design tokens, and I built a Figma plugin called&nbsp;<strong>Token Intent Validator</strong>&nbsp;that catches these issues at the source.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;ab5c1dda-6314-4bef-a0fa-aff7ce3287d5&quot;,&quot;duration&quot;:null}"></div><p><strong>What it catches:</strong></p><p>* Recommends appropriate semantic tokens based on the layer&#8217;s context<br>* Detects when you use raw hex color -&gt; One click &#8220;Apply&#8221; button for the suggested design token<br>* Flags primitive tokens<br>* Identifies intent-property mismatches<br>* Suggests text style tokens<br>* Show confidence level for each suggestion <br>* Connects with AI and gives a chat interface (you can connect any model) <br>* It&#8217;s context-aware<br>* Recommends tokens based on your codebase/Figma library <br>* Analyzes the document&#8217;s structure<br>* You can validate the selection or the whole page</p><p>I still have to improve some parts, but it is already valuable. <br></p><h2>Your path to context-aware design systems</h2><p>AI-readable tokens are the foundation of something bigger: the context-aware design system. &#128522;</p><p>When your tokens include intent, not just values, you unlock:</p><ul><li><p><strong>Intelligent suggestions</strong></p></li><li><p><strong>Automatic consistency</strong></p></li><li><p><strong>Usage analytics</strong></p></li><li><p><strong>Cross-tool validation</strong></p></li></ul><p></p><p>Okay, so your first goal is simple &#8594; start with descriptions. &#8594; test with Claude &#8594; iterate based on what the AI gets wrong.</p><p>Let me know how it goes. &#128579;<br><br>Have a great weekend, <br>Romina</p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><p><strong><a href="https://www.linkedin.com/company/bmw-group/">BMW Group</a></strong> invited me for an exclusive iX3 driving experience a few weeks ago. I expected a car launch. I got a masterclass in design. &#128525; After two days with the engineers, designers, and leaders of Neue Klasse, I see why legacy brands still succeed. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KBim!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KBim!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KBim!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KBim!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KBim!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KBim!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3035246,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180788986?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KBim!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KBim!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KBim!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KBim!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c8c6c17-b723-49d3-aa74-8f249c51bd18_5500x3667.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8618;&#65039; The iX3 is the first with the new design language<br>You feel the shift immediately.<br>* Large monolithic surfaces<br>* Clean geometry<br>* No unnecessary noise<br><br>The philosophy is simple: <strong>reduce complexity </strong>so character can shine through. <br><br>&#8618;&#65039; A shift from static assets to dynamic elements.<br>Instead of metal accents, BMW is using digital light signatures to define identity.<br>The kidney grille. The four-eyed face. The depth effect.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QaIy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QaIy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QaIy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QaIy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QaIy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QaIy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:483600,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180788986?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!QaIy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QaIy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QaIy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QaIy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f611ae-87ec-484f-8446-80383199b8a3_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><br>&#8618;&#65039; The interior feels like a living room<br>* Panoramic iDrive stretching across the full width<br>* Wrap-around effect that feels calm, not cluttered<br>* Textile on the dashboard with a light effect</p><p><br>&#10024; From a systems perspective, the iX3 is a leap <br>* Personalized dashboards<br>* Haptic buttons<br>* Integrated AI<br>* Panoramic iDrive with AR clarity<br>* Driver Assistance<br>* Superbrain Computing: 20x more power for smarter decisions<br>* Modular OS: scalable, secure, future-proof<br></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Z8G3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z8G3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Z8G3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Z8G3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Z8G3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z8G3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15663570,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180788986?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Z8G3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Z8G3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Z8G3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Z8G3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a2194b-fd77-40c2-b228-907888eb5d99_5500x3667.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h6>&#128070; Me trying to be faaaast on the Ascari motor racing circuit </h6><p><br>&#8618;&#65039; Going backstage<br>BMW team is curious and deeply committed. They listened, cared, and shared everything openly.</p><p><br>As someone who works in design every day, that mindset hits home. You can feel it in the product.<br><br>I told my family that life would never be the same. Now, I will always compare everything to this car. <br><br><strong>Design is not a department. Design is a mindset. </strong><br>BMW proves my belief: the best products aren&#8217;t just designed to look good. They feel designed in every aspect.<br><br>I left inspired. Not just by the new BMW iX3. <br>But by the people building it. &#128153;</p><p><a href="https://www.linkedin.com/posts/rominakavcic_design-bmw-designsystem-activity-7402335850744668161-hDWM?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAIm0UIB6YXIAMl4tTZJpr6OKeGfXLHdRoY">PS. You can see the video on my LinkedIn post &#8594; </a></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>&#10024; Documenting Design Systems - Architecture Decisions Record with Claude Desktop from </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Sam I am Designs &#129782; &#127464;&#127462;&quot;,&quot;id&quot;:195428634,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f7007f7-0916-4a1c-949f-097801746afd_2618x2618.jpeg&quot;,&quot;uuid&quot;:&quot;fc41808a-9c83-48d6-acb4-33c2eb899815&quot;}" data-component-name="MentionToDOM"></span></p><div id="youtube2-vyKG6nNixeU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;vyKG6nNixeU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/vyKG6nNixeU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><strong>Gamma AI</strong></p><p>AI tool for making presentations.</p><p><strong>&#128279; <a href="https://gamma.app/">Link</a></strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[3 AI tools that save me at least 8 hours per week ]]></title><description><![CDATA[How to use Gamma, Google AI Studio, Nano Banana, Jitter, n8n]]></description><link>https://learn.thedesignsystem.guide/p/3-ai-tools-that-save-me-at-least</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/3-ai-tools-that-save-me-at-least</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 28 Nov 2025 12:03:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Oy7i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Oy7i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Oy7i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!Oy7i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!Oy7i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!Oy7i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Oy7i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1065685,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180094796?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Oy7i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!Oy7i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!Oy7i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!Oy7i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26041a69-d79f-4ce7-a72c-b6efb7db564f_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>1. Gamma for presentations </h2><p>Raise your hand if you love doing presentations? Haha, I thought so. I always think each presentation takes up half my year. <a href="https://gamma.app/?utm_campaign=agent&amp;utm_content=designsystem&amp;utm_source=LinkedIn">Gamma</a> app flipped this completely.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://gamma.app/?utm_campaign=agent&amp;utm_content=designsystem&amp;utm_source=LinkedIn" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tPhc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b930658-357b-4f38-984e-4fd79c0b3d70_1512x826.png 424w, https://substackcdn.com/image/fetch/$s_!tPhc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b930658-357b-4f38-984e-4fd79c0b3d70_1512x826.png 848w, https://substackcdn.com/image/fetch/$s_!tPhc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b930658-357b-4f38-984e-4fd79c0b3d70_1512x826.png 1272w, https://substackcdn.com/image/fetch/$s_!tPhc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b930658-357b-4f38-984e-4fd79c0b3d70_1512x826.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tPhc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b930658-357b-4f38-984e-4fd79c0b3d70_1512x826.png" width="1456" height="795" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b930658-357b-4f38-984e-4fd79c0b3d70_1512x826.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:795,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140531,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://gamma.app/?utm_campaign=agent&amp;utm_content=designsystem&amp;utm_source=LinkedIn&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180094796?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b930658-357b-4f38-984e-4fd79c0b3d70_1512x826.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tPhc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b930658-357b-4f38-984e-4fd79c0b3d70_1512x826.png 424w, https://substackcdn.com/image/fetch/$s_!tPhc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b930658-357b-4f38-984e-4fd79c0b3d70_1512x826.png 848w, https://substackcdn.com/image/fetch/$s_!tPhc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b930658-357b-4f38-984e-4fd79c0b3d70_1512x826.png 1272w, https://substackcdn.com/image/fetch/$s_!tPhc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b930658-357b-4f38-984e-4fd79c0b3d70_1512x826.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>What makes Gamma different</h3><p>Gamma learned from patterns across millions of decks to understand what makes great presentations work. They use <strong>20+ models</strong> powering different parts of the product. The result: you&#8217;re not just generating slides, you&#8217;re building on top of what actually works.</p><p>Here is my example of a presentation on&nbsp;<em>Design Token Naming Conventions.</em> I wrote only three sentences, and Gamma gave me a 10-slide deck in 90 seconds. </p><p>I got 85% finished presentation. I spent 20 minutes refining, rather than 4 hours building from scratch.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://gamma.app/?utm_campaign=agent&amp;utm_content=designsystem&amp;utm_source=LinkedIn" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!peyF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1efc45-dbaf-4c73-9271-6a174abd72d1_1512x821.png 424w, https://substackcdn.com/image/fetch/$s_!peyF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1efc45-dbaf-4c73-9271-6a174abd72d1_1512x821.png 848w, https://substackcdn.com/image/fetch/$s_!peyF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1efc45-dbaf-4c73-9271-6a174abd72d1_1512x821.png 1272w, https://substackcdn.com/image/fetch/$s_!peyF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1efc45-dbaf-4c73-9271-6a174abd72d1_1512x821.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!peyF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1efc45-dbaf-4c73-9271-6a174abd72d1_1512x821.png" width="1456" height="791" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e1efc45-dbaf-4c73-9271-6a174abd72d1_1512x821.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:791,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:228322,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://gamma.app/?utm_campaign=agent&amp;utm_content=designsystem&amp;utm_source=LinkedIn&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180094796?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1efc45-dbaf-4c73-9271-6a174abd72d1_1512x821.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!peyF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1efc45-dbaf-4c73-9271-6a174abd72d1_1512x821.png 424w, https://substackcdn.com/image/fetch/$s_!peyF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1efc45-dbaf-4c73-9271-6a174abd72d1_1512x821.png 848w, https://substackcdn.com/image/fetch/$s_!peyF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1efc45-dbaf-4c73-9271-6a174abd72d1_1512x821.png 1272w, https://substackcdn.com/image/fetch/$s_!peyF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1efc45-dbaf-4c73-9271-6a174abd72d1_1512x821.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>My favourite features </h3><p><strong>Responsive by default.</strong> This one is wild! Every presentation works on desktops, tablets, and mobile devices. </p><p><strong>Generate images and assets in any style.</strong> You can easily create new assets/images directly in Gamma with the help of AI. </p><p><strong>Prompt guide with 100 optimized prompts.</strong> When you&#8217;re stuck, the curated prompt collection helps you get better results. Copy, paste, create. <a href="https://gamma.app/prompts">Explore here (it&#8217;s free)</a> &#8594; </p><p><strong>JSON templates.</strong> For design system teams, this matters. Create reusable templates that maintain consistency across all your presentations.</p><p><strong>Embeds.</strong> You can embed many apps. &#128517; A short glimpse: </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://gamma.app/?utm_campaign=agent&amp;utm_content=designsystem&amp;utm_source=LinkedIn" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LIFP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ceb0c7-d0c4-46ef-afa4-06ab4da51cf4_420x385.png 424w, https://substackcdn.com/image/fetch/$s_!LIFP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ceb0c7-d0c4-46ef-afa4-06ab4da51cf4_420x385.png 848w, https://substackcdn.com/image/fetch/$s_!LIFP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ceb0c7-d0c4-46ef-afa4-06ab4da51cf4_420x385.png 1272w, https://substackcdn.com/image/fetch/$s_!LIFP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ceb0c7-d0c4-46ef-afa4-06ab4da51cf4_420x385.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LIFP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ceb0c7-d0c4-46ef-afa4-06ab4da51cf4_420x385.png" width="420" height="385" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96ceb0c7-d0c4-46ef-afa4-06ab4da51cf4_420x385.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:385,&quot;width&quot;:420,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:30845,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://gamma.app/?utm_campaign=agent&amp;utm_content=designsystem&amp;utm_source=LinkedIn&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180094796?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ceb0c7-d0c4-46ef-afa4-06ab4da51cf4_420x385.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!LIFP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ceb0c7-d0c4-46ef-afa4-06ab4da51cf4_420x385.png 424w, https://substackcdn.com/image/fetch/$s_!LIFP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ceb0c7-d0c4-46ef-afa4-06ab4da51cf4_420x385.png 848w, https://substackcdn.com/image/fetch/$s_!LIFP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ceb0c7-d0c4-46ef-afa4-06ab4da51cf4_420x385.png 1272w, https://substackcdn.com/image/fetch/$s_!LIFP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ceb0c7-d0c4-46ef-afa4-06ab4da51cf4_420x385.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Real-time collaboration.</strong> Stakeholders can comment directly on slides. </p><p><strong>API integrations.</strong> This is where Gamma gets powerful for automation. I built a workflow that takes Google Docs and automatically generates presentations. In this case you need n8n app.</p><p><strong>Example 1: </strong>Google Doc triggers n8n, extracts the text, sends it to Gamma&#8217;s API, and I get a presentation link in Slack.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://gamma.app/?utm_campaign=agent&amp;utm_content=designsystem&amp;utm_source=LinkedIn" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0K_a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317d59d7-f0d0-49ea-8216-0a6a9a751ca3_1495x599.png 424w, https://substackcdn.com/image/fetch/$s_!0K_a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317d59d7-f0d0-49ea-8216-0a6a9a751ca3_1495x599.png 848w, https://substackcdn.com/image/fetch/$s_!0K_a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317d59d7-f0d0-49ea-8216-0a6a9a751ca3_1495x599.png 1272w, https://substackcdn.com/image/fetch/$s_!0K_a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317d59d7-f0d0-49ea-8216-0a6a9a751ca3_1495x599.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0K_a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317d59d7-f0d0-49ea-8216-0a6a9a751ca3_1495x599.png" width="1456" height="583" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/317d59d7-f0d0-49ea-8216-0a6a9a751ca3_1495x599.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:583,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154809,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://gamma.app/?utm_campaign=agent&amp;utm_content=designsystem&amp;utm_source=LinkedIn&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180094796?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317d59d7-f0d0-49ea-8216-0a6a9a751ca3_1495x599.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0K_a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317d59d7-f0d0-49ea-8216-0a6a9a751ca3_1495x599.png 424w, https://substackcdn.com/image/fetch/$s_!0K_a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317d59d7-f0d0-49ea-8216-0a6a9a751ca3_1495x599.png 848w, https://substackcdn.com/image/fetch/$s_!0K_a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317d59d7-f0d0-49ea-8216-0a6a9a751ca3_1495x599.png 1272w, https://substackcdn.com/image/fetch/$s_!0K_a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317d59d7-f0d0-49ea-8216-0a6a9a751ca3_1495x599.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Example 2: </strong></p><p><strong>Creating proposals with n8n + Gamma example &#128071;</strong></p><p>Create a JSON template, connect it to your apps (Google Docs/Sheets, Gamma), and have it automatically generate proposals based on customer questions. If you are not familiar with n8n or JSON, you can grab a starter JSON template and customize it to your needs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://gamma.app/?utm_campaign=agent&amp;utm_content=designsystem&amp;utm_source=LinkedIn" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4_sQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90ab8d10-f282-4a1f-801a-a93d0add85de_1506x955.png 424w, https://substackcdn.com/image/fetch/$s_!4_sQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90ab8d10-f282-4a1f-801a-a93d0add85de_1506x955.png 848w, https://substackcdn.com/image/fetch/$s_!4_sQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90ab8d10-f282-4a1f-801a-a93d0add85de_1506x955.png 1272w, https://substackcdn.com/image/fetch/$s_!4_sQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90ab8d10-f282-4a1f-801a-a93d0add85de_1506x955.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4_sQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90ab8d10-f282-4a1f-801a-a93d0add85de_1506x955.png" width="1456" height="923" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90ab8d10-f282-4a1f-801a-a93d0add85de_1506x955.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:923,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:251555,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://gamma.app/?utm_campaign=agent&amp;utm_content=designsystem&amp;utm_source=LinkedIn&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180094796?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90ab8d10-f282-4a1f-801a-a93d0add85de_1506x955.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4_sQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90ab8d10-f282-4a1f-801a-a93d0add85de_1506x955.png 424w, https://substackcdn.com/image/fetch/$s_!4_sQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90ab8d10-f282-4a1f-801a-a93d0add85de_1506x955.png 848w, https://substackcdn.com/image/fetch/$s_!4_sQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90ab8d10-f282-4a1f-801a-a93d0add85de_1506x955.png 1272w, https://substackcdn.com/image/fetch/$s_!4_sQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90ab8d10-f282-4a1f-801a-a93d0add85de_1506x955.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Other automations worth exploring:</p><ul><li><p>n8n + Synthesia + ElevenLabs + Gamma (video presentations)</p></li><li><p>Zapier + Sheets + Claude + Gamma (data-driven decks)</p></li><li><p>Airtable + Claude + Gamma (project updates)</p></li><li><p>Linear + Claude + Gamma (sprint reviews)</p><p></p></li></ul><h3>When to use Gamma</h3><ul><li><p>Presentations and proposals</p></li><li><p>Design review decks</p></li><li><p>Component documentation for non-designers (easy to access, since it is responsive by default) </p></li><li><p>Quick concept explorations you need to share fast</p></li></ul><p></p><h3>Making it yours</h3><p>The first output won&#8217;t match your brand perfectly. Here&#8217;s how to refine it:</p><ul><li><p><strong>Create your own theme.</strong> Set your brand colors, fonts, and styles once. Every new presentation starts on-brand.</p></li><li><p><strong>Regenerate images with AI.</strong> Describe what you want instead. Gamma creates new visuals that fit your content. </p></li><li><p><strong>Update the design as you go.</strong> Change layouts, swap sections, adjust spacing. The AI suggestions adapt to your edits.</p></li></ul><p><strong><a href="https://gamma.app/?utm_campaign=agent&amp;utm_content=designsystem&amp;utm_source=LinkedIn">Try it</a>,</strong> it is waaaay faster than starting from scratch. </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;a05c94d9-b04f-4b43-8e1a-80f53cee09ba&quot;,&quot;duration&quot;:null}"></div><h3>Gamma&#8217;s branding is unique</h3><p>They <a href="https://brand.gamma.app/">outsourced the whole branding experience.</a> You can even use their Midjourney prompts. &#129321; </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8C8b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019bfcf3-6ab2-41f0-8ebd-d77657aed521_1169x755.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8C8b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019bfcf3-6ab2-41f0-8ebd-d77657aed521_1169x755.png 424w, https://substackcdn.com/image/fetch/$s_!8C8b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019bfcf3-6ab2-41f0-8ebd-d77657aed521_1169x755.png 848w, https://substackcdn.com/image/fetch/$s_!8C8b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019bfcf3-6ab2-41f0-8ebd-d77657aed521_1169x755.png 1272w, https://substackcdn.com/image/fetch/$s_!8C8b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019bfcf3-6ab2-41f0-8ebd-d77657aed521_1169x755.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8C8b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019bfcf3-6ab2-41f0-8ebd-d77657aed521_1169x755.png" width="1169" height="755" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/019bfcf3-6ab2-41f0-8ebd-d77657aed521_1169x755.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:755,&quot;width&quot;:1169,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1041595,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180094796?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019bfcf3-6ab2-41f0-8ebd-d77657aed521_1169x755.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8C8b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019bfcf3-6ab2-41f0-8ebd-d77657aed521_1169x755.png 424w, https://substackcdn.com/image/fetch/$s_!8C8b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019bfcf3-6ab2-41f0-8ebd-d77657aed521_1169x755.png 848w, https://substackcdn.com/image/fetch/$s_!8C8b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019bfcf3-6ab2-41f0-8ebd-d77657aed521_1169x755.png 1272w, https://substackcdn.com/image/fetch/$s_!8C8b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019bfcf3-6ab2-41f0-8ebd-d77657aed521_1169x755.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div id="youtube2-3H0ngGU5pbM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;3H0ngGU5pbM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/3H0ngGU5pbM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>2. Google AI Studio for prototypes with the newest Gemini 3.0 model</h2><p>There are plenty of options now: Bolt, Lovable, v0, Replit. I&#8217;ve tried them all. Here&#8217;s how Google AI Studio is different:</p><ul><li><p><strong>Free.</strong> No credits to buy, no subscription required. The daily quota (25-100 requests) is enough for real exploration.</p></li><li><p><strong>Annotation mode.</strong> AI Studio lets you point at elements and say what to change. </p></li><li><p><strong>Gemini models built in.</strong> You&#8217;re working with the latest Gemini models without configuration. </p></li><li><p><strong>No vendor lock-in.</strong> Deploy to GitHub, download your code, take it anywhere. </p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8VVq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c764faf-93a0-409a-83e4-52babc78f352_1777x1225.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8VVq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c764faf-93a0-409a-83e4-52babc78f352_1777x1225.png 424w, https://substackcdn.com/image/fetch/$s_!8VVq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c764faf-93a0-409a-83e4-52babc78f352_1777x1225.png 848w, https://substackcdn.com/image/fetch/$s_!8VVq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c764faf-93a0-409a-83e4-52babc78f352_1777x1225.png 1272w, https://substackcdn.com/image/fetch/$s_!8VVq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c764faf-93a0-409a-83e4-52babc78f352_1777x1225.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8VVq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c764faf-93a0-409a-83e4-52babc78f352_1777x1225.png" width="1456" height="1004" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c764faf-93a0-409a-83e4-52babc78f352_1777x1225.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1004,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:231924,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180094796?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c764faf-93a0-409a-83e4-52babc78f352_1777x1225.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8VVq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c764faf-93a0-409a-83e4-52babc78f352_1777x1225.png 424w, https://substackcdn.com/image/fetch/$s_!8VVq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c764faf-93a0-409a-83e4-52babc78f352_1777x1225.png 848w, https://substackcdn.com/image/fetch/$s_!8VVq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c764faf-93a0-409a-83e4-52babc78f352_1777x1225.png 1272w, https://substackcdn.com/image/fetch/$s_!8VVq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c764faf-93a0-409a-83e4-52babc78f352_1777x1225.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>&#128680; You should not compare AI Studio with Claude Code or Cursor.</strong> Those tools understand your entire codebase, manage dependencies, and handle complex multi-file projects. AI Studio is simpler. But that&#8217;s the point. You open a browser, type a prompt, and have something to show in 5 minutes. No setup, no configuration, no learning curve. For designers who want to validate ideas before involving engineering, a low barrier is more important than powerful features. </p><p></p><h3>How I actually use it</h3><p>I describe what I want to build: &#8220;a design token management dashboard with sidebar navigation, search, and a table showing token values.&#8221; AI Studio generates a working a functional prototype I can click through and share.</p><p>The generated app isn&#8217;t production-ready, but I can test 10 ideas in the time it used to take to sketch one.</p><h3>When to use it</h3><ul><li><p>Early validation before committing to a direction</p></li><li><p>Functional prototypes for stakeholder buy-in</p></li><li><p>Testing interactions that static mockups can&#8217;t show</p></li><li><p>Quick demos when &#8220;let me show you what I mean&#8221; beats explaining</p></li></ul><p><strong>Time saved:</strong> 3-4 hours per prototype (compared to Figma)</p><p></p><h3>Bonus: Nano Banana for quick mockups</h3><p>One more tool worth mentioning: <a href="https://www.nano-banana.ai/">Nano Banana</a>, Google&#8217;s image-generation model available via Gemini.</p><p>I use it for quick visual mockups when I need to show an idea but don&#8217;t want to open Figma. Describe a mobile app screen, and get a realistic UI mockup. Describe a product shot, get something good enough for a presentation placeholder.</p><p><strong>My prompt:</strong> &#8220;Mockup with woman holding her iPhone with my attached wallpaper in a cosy, Scandinavian coffee shop.&#8221; </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!roWe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b8bb21-1067-4977-9ea5-ad23d97728db_1511x828.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!roWe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b8bb21-1067-4977-9ea5-ad23d97728db_1511x828.png 424w, https://substackcdn.com/image/fetch/$s_!roWe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b8bb21-1067-4977-9ea5-ad23d97728db_1511x828.png 848w, https://substackcdn.com/image/fetch/$s_!roWe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b8bb21-1067-4977-9ea5-ad23d97728db_1511x828.png 1272w, https://substackcdn.com/image/fetch/$s_!roWe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b8bb21-1067-4977-9ea5-ad23d97728db_1511x828.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!roWe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b8bb21-1067-4977-9ea5-ad23d97728db_1511x828.png" width="1456" height="798" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8b8bb21-1067-4977-9ea5-ad23d97728db_1511x828.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:798,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1133983,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180094796?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b8bb21-1067-4977-9ea5-ad23d97728db_1511x828.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!roWe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b8bb21-1067-4977-9ea5-ad23d97728db_1511x828.png 424w, https://substackcdn.com/image/fetch/$s_!roWe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b8bb21-1067-4977-9ea5-ad23d97728db_1511x828.png 848w, https://substackcdn.com/image/fetch/$s_!roWe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b8bb21-1067-4977-9ea5-ad23d97728db_1511x828.png 1272w, https://substackcdn.com/image/fetch/$s_!roWe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b8bb21-1067-4977-9ea5-ad23d97728db_1511x828.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>3. Jitter for motion</h2><p>Static designs lie. They can&#8217;t show you what a loading state feels like after 3 seconds. They can&#8217;t demonstrate whether a transition is too fast or too slow. They can&#8217;t prove that your micro-interaction actually delights users.</p><p><a href="https://jitter.video/">Jitter</a> bridges that gap without requiring After Effects expertise.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SCqc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b2c29c-b1c5-43e0-b715-ce8959e2c986_1512x801.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SCqc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b2c29c-b1c5-43e0-b715-ce8959e2c986_1512x801.png 424w, https://substackcdn.com/image/fetch/$s_!SCqc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b2c29c-b1c5-43e0-b715-ce8959e2c986_1512x801.png 848w, https://substackcdn.com/image/fetch/$s_!SCqc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b2c29c-b1c5-43e0-b715-ce8959e2c986_1512x801.png 1272w, https://substackcdn.com/image/fetch/$s_!SCqc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b2c29c-b1c5-43e0-b715-ce8959e2c986_1512x801.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SCqc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b2c29c-b1c5-43e0-b715-ce8959e2c986_1512x801.png" width="1456" height="771" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71b2c29c-b1c5-43e0-b715-ce8959e2c986_1512x801.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:771,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:176884,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180094796?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b2c29c-b1c5-43e0-b715-ce8959e2c986_1512x801.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SCqc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b2c29c-b1c5-43e0-b715-ce8959e2c986_1512x801.png 424w, https://substackcdn.com/image/fetch/$s_!SCqc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b2c29c-b1c5-43e0-b715-ce8959e2c986_1512x801.png 848w, https://substackcdn.com/image/fetch/$s_!SCqc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b2c29c-b1c5-43e0-b715-ce8959e2c986_1512x801.png 1272w, https://substackcdn.com/image/fetch/$s_!SCqc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b2c29c-b1c5-43e0-b715-ce8959e2c986_1512x801.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3></h3><p>Jitter has a Figma plugin with over 420K users. One click imports your Figma designs with layers intact. <em>You animate your actual components</em>, not recreations.</p><p>The animation model is different from traditional tools. Instead of keyframes, you tell layers what to do. &#8220;Fade in from the left over 0.3 seconds.&#8221; &#8220;Scale up on hover.&#8221; It&#8217;s closer to writing CSS transitions than wrestling with timelines.</p><h3>What you can do</h3><p><strong>Component state transitions.</strong> I animated our button&#8217;s hover, active, and disabled states in Jitter. Exported to Lottie. Developers implemented it in 10 minutes. No back-and-forth about timing or easing.</p><p><strong>Loading patterns.</strong> Our skeleton loader animation started as a Figma component. Jitter turned it into a production Lottie. The same animation runs on the web and mobile.</p><p><strong>Onboarding flows.</strong> Way easier to show than tell. </p><p></p><h3>The export options </h3><p><strong>Lottie export.</strong> This is the killer feature for design systems. Lottie files are lightweight, scalable, and work everywhere. Your animated loading spinner exports as JSON that developers can implement directly. No video files. No GIFs. Production-ready animations.</p><p><strong>4K video at 120fps.</strong> When you need to show animations in presentations or documentation, the quality is there. MP4, ProRes, or WebM.</p><p><strong>GIF for quick sharing.</strong> Yep, possible and easy.</p><h3></h3><h3>The learning curve</h3><p>Jitter is genuinely easy if you&#8217;ve used any animation tool before. If you haven&#8217;t, expect a few hours to feel comfortable. The template library (300+ free templates) helps you learn by example.</p><p></p><h3>When to use it</h3><ul><li><p>Micro-interactions that need to feel right before development</p></li><li><p>Animated assets for design systems (loaders, transitions, icons)</p></li><li><p>Motion specs that developers can actually implement</p></li><li><p>Presentation animations that show, not tell</p></li></ul><p><strong>Time saved:</strong> At least 1-2 hours per animation, plus reduced developer back-and-forth</p><div><hr></div><h2>Start with one</h2><p>Don&#8217;t adopt all three at once. Pick the bottleneck that costs you the most time:</p><p><strong>If presentations drain your energy:</strong> Start with Gamma. One presentation will show you the value.</p><p><strong>If validation takes too long:</strong> Start with Google AI Studio. Build a working prototype of your next idea in 15 minutes.</p><p><strong>If the motion handoff is painful:</strong>&nbsp;start with Jitter. Animate one component, export to Lottie, and see how developers respond.</p><p>The tools that stick are the ones that solve real problems you have today.</p><p></p><p>Enjoy creating, &#9889;&#65039;<br><em>Romina</em></p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>Color Palette Synthesizer </strong><em>(discovered via David Aerne) </em></p><p>My god, it is amazing. &#128525;</p><p><strong>&#128279; <a href="https://colorpalette.pro/">Link</a></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gLnh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64574a9-e507-48b6-a73c-5d98825e084a_1479x924.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gLnh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64574a9-e507-48b6-a73c-5d98825e084a_1479x924.png 424w, https://substackcdn.com/image/fetch/$s_!gLnh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64574a9-e507-48b6-a73c-5d98825e084a_1479x924.png 848w, https://substackcdn.com/image/fetch/$s_!gLnh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64574a9-e507-48b6-a73c-5d98825e084a_1479x924.png 1272w, https://substackcdn.com/image/fetch/$s_!gLnh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64574a9-e507-48b6-a73c-5d98825e084a_1479x924.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gLnh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64574a9-e507-48b6-a73c-5d98825e084a_1479x924.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e64574a9-e507-48b6-a73c-5d98825e084a_1479x924.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:642164,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/180094796?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64574a9-e507-48b6-a73c-5d98825e084a_1479x924.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gLnh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64574a9-e507-48b6-a73c-5d98825e084a_1479x924.png 424w, https://substackcdn.com/image/fetch/$s_!gLnh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64574a9-e507-48b6-a73c-5d98825e084a_1479x924.png 848w, https://substackcdn.com/image/fetch/$s_!gLnh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64574a9-e507-48b6-a73c-5d98825e084a_1479x924.png 1272w, https://substackcdn.com/image/fetch/$s_!gLnh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64574a9-e507-48b6-a73c-5d98825e084a_1479x924.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>&#128249; Why You Will Not Be Replaced By AI </strong></p><p>by Smashing Magazine / Vitaly Friedman </p><p><strong>&#128279; <a href="https://smashingmagazine.zoom.us/rec/play/F4tImOuQuXHLs__59BQEUVv0xc-lQFcF6hIIBAoF6w5NoELE-x0oo7Wg-8Ge3OL2rsc9WX3YJe73fbVd.wklabZg4zhagsNIB">Link</a></strong></p><p></p><p><strong>Simple Design System with Extended Collections</strong></p><p>by Luis Ouriach</p><p><strong>&#128279; <a href="https://www.figma.com/community/file/1575803530898880325">Link</a></strong></p><p></p><p><strong>&#10024; A handy tool here if you want to print grids, dot-grids, and even isomorphic grids.</strong></p><p><strong>&#128279; <a href="https://grid-paper.daverupert.com/">Link</a></strong></p><p></p><p><strong>Token Hunter Game for your weekend fun </strong></p><p>I had some fun building this game. It is educational, and you need to go through levels where Level 1 is choosing primitive design tokens, and then it gets harder and harder &#128579;</p><p><strong>&#128279; <a href="https://tokens-game.vercel.app/">Link</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[How to turn metrics into actionable insights]]></title><description><![CDATA[Analytics MCP + Figma API = Magic]]></description><link>https://learn.thedesignsystem.guide/p/how-to-turn-metrics-into-actionable</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/how-to-turn-metrics-into-actionable</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 21 Nov 2025 13:25:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!czDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!czDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!czDC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!czDC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!czDC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!czDC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!czDC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:965685,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/179334770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!czDC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!czDC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!czDC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!czDC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ddf0ce1-7330-4175-a51c-08c885c197f5_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Last quarter, a design system dashboard showed 87% adoption. The team celebrated. </p><p>Then a VP of Product asked:</p><p><strong>&#8220;Do we know how this affects our conversion rates?&#8221;</strong></p><p>Silence.</p><p>The team could report how many times their button pattern was implemented. They couldn&#8217;t tell you if users could actually complete their tasks. </p><p>You can change this by bringing Analytics MCP closer to your design. By Analytics MCP, I mean PostHog MCP, Mixpanel MCP, &#8230; Let&#8217;s go through the flow and check what is possible &#128071;</p><div><hr></div><h2>Component or pattern adoption doesn&#8217;t equal user success</h2><p><em>By the way, a pattern is a reusable combination of components that solves a specific user need. For example, a searchable filter (dropdown + input + list), a checkout flow (form + buttons + validation), or a file upload experience (button + progress + feedback).</em></p><p><strong>What we typically measure:</strong></p><ul><li><p>Component and pattern library adoption rates (87% of features use our system)</p></li><li><p>Component usage counts (button used 1.3M times this month)</p></li><li><p>Documentation page views (developers are reading our docs)</p></li><li><p>GitHub stars and npm downloads (popularity)</p></li><li><p>Number of teams using the system (adoption)</p></li></ul><p></p><p><strong>What we also need to measure:</strong></p><ul><li><p>Do users complete their tasks?</p></li><li><p>Where do they get stuck in the UI?</p></li><li><p>Which patterns cause confusion or errors?</p></li><li><p>How do design decisions impact conversion?</p></li></ul><p>You can have 100% pattern adoption and still ship a terrible user experience. &#129760;</p><p></p><p><strong>Adoption metrics </strong>reveal internal system health and developer adoption. <strong>User behavior metrics </strong>tell you about external impact and actual effectiveness.</p><p></p><h2>The wake-up call that changed everything</h2><p>A team thought their new searchable filtering pattern was a success. It was in 23 features. The adoption metric said 89% usage rate.</p><p>Then they looked at actual user behavior:</p><ul><li><p>34% abandonment rate on forms using this pattern</p></li><li><p>Average of 4.2 attempts before users gave up</p></li><li><p>127 rage clicks per day</p></li><li><p>Users reverting to browser search instead</p></li></ul><p><strong>High pattern adoption. Terrible user experience.</strong></p><p>Adoption metrics would suggest deprecating the loading pattern and doubling down on the search pattern. User behavior metrics tell you the opposite.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a6Pz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03db83f0-be24-4816-b76b-dbda0bb86642_1512x684.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a6Pz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03db83f0-be24-4816-b76b-dbda0bb86642_1512x684.png 424w, https://substackcdn.com/image/fetch/$s_!a6Pz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03db83f0-be24-4816-b76b-dbda0bb86642_1512x684.png 848w, https://substackcdn.com/image/fetch/$s_!a6Pz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03db83f0-be24-4816-b76b-dbda0bb86642_1512x684.png 1272w, https://substackcdn.com/image/fetch/$s_!a6Pz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03db83f0-be24-4816-b76b-dbda0bb86642_1512x684.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a6Pz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03db83f0-be24-4816-b76b-dbda0bb86642_1512x684.png" width="1456" height="659" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/03db83f0-be24-4816-b76b-dbda0bb86642_1512x684.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:659,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:136347,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/179334770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03db83f0-be24-4816-b76b-dbda0bb86642_1512x684.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!a6Pz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03db83f0-be24-4816-b76b-dbda0bb86642_1512x684.png 424w, https://substackcdn.com/image/fetch/$s_!a6Pz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03db83f0-be24-4816-b76b-dbda0bb86642_1512x684.png 848w, https://substackcdn.com/image/fetch/$s_!a6Pz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03db83f0-be24-4816-b76b-dbda0bb86642_1512x684.png 1272w, https://substackcdn.com/image/fetch/$s_!a6Pz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03db83f0-be24-4816-b76b-dbda0bb86642_1512x684.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Why product analytics change the game for design systems</h2><p><em>Note: This article focuses on PostHog with MCP, but the concepts apply to any product analytics tool. Mixpanel also offers an MCP server, and other analytics platforms can provide similar insights.</em></p><p>Product analytics tools like PostHog don&#8217;t just track pattern usage. They track users interacting with your product&#8217;s actual interface.</p><p></p><p><strong>Example 1</strong></p><p>Session recordings showed users scrolling past tabs without realizing they were interactive. User interviews revealed they expected mobile content to be vertically stacked, not hidden.</p><p><strong>The Adoption:</strong> 92% (High)<br><strong>The Reality:</strong> 67% of users never clicked beyond the first tab<br><strong>The Fix:</strong> Switched tabs to accordions on mobile &#8594; Task completion jumped from 23% to 71%</p><p></p><p><strong>Example 2</strong></p><p>Low adoption almost led to this pattern being deprecated. User behavior data revealed it was the highest-performing pattern in the entire system.</p><p><strong>The Adoption:</strong> 8% (Low)<br><strong>The Reality:</strong> 89% completion rate with inline validation vs. 34% without<br><strong>The Fix:</strong> Made inline validation the default &#8594; Form conversions improved 2.6x across the product</p><p></p><p><strong>Example 3</strong></p><p>Bottom sheet modals worked beautifully on mobile but confused desktop users who couldn&#8217;t find the content and thought it was an error.</p><p><strong>The Adoption:</strong> High across 34 features<br><strong>The Reality:</strong> Mobile: 78% completion (perfect) | Desktop: 31% completion (disaster)<br><strong>The Fix:</strong> Created device-specific modal patterns &#8594; Desktop got traditional centered modals</p><p></p><h2>Data finds problems, research explains why</h2><p><strong>Important:</strong> Analytics data is powerful for identifying where problems exist, but it rarely tells you why they exist or how to fix them.</p><p><strong>What quantitative data gives you:</strong></p><ul><li><p><strong>Where</strong> users drop off</p></li><li><p><strong>How many</strong> users experience friction</p></li><li><p><strong>Which</strong> patterns correlate with poor outcomes</p></li><li><p><strong>When</strong> problems started occurring</p></li></ul><p><strong>What you still need qualitative research for:</strong></p><ul><li><p><strong>Why</strong> users are struggling</p></li><li><p><strong>What</strong> users are trying to accomplish</p></li><li><p><strong>How</strong> users think about the interface</p></li><li><p><strong>What</strong> solutions would actually work</p></li></ul><p></p><h2>Now let&#8217;s use MCP </h2><p><strong>What is MCP?</strong> Think of Model Context Protocol (MCP) as a universal translator. It allows your AI (like Claude) to talk directly to your tools (like PostHog for analytics or Figma for design files) to fetch real-time data. Instead of copy-pasting screenshots or exporting CSVs, you just ask questions in plain English.</p><p>Connecting PostHog to Claude via MCP enables asking questions about actual user behavior, not just pattern adoption. For example:</p><p>&#8220;Where do users struggle most in our checkout flow, and which UI patterns correlate with drop-off?&#8221;</p><p>&#8220;Which form patterns have the highest completion rates, and what&#8217;s different about them?&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xsaB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0fa6d24-7006-4c32-8333-ed840193afd3_2880x926.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xsaB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0fa6d24-7006-4c32-8333-ed840193afd3_2880x926.png 424w, https://substackcdn.com/image/fetch/$s_!xsaB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0fa6d24-7006-4c32-8333-ed840193afd3_2880x926.png 848w, https://substackcdn.com/image/fetch/$s_!xsaB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0fa6d24-7006-4c32-8333-ed840193afd3_2880x926.png 1272w, https://substackcdn.com/image/fetch/$s_!xsaB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0fa6d24-7006-4c32-8333-ed840193afd3_2880x926.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xsaB!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0fa6d24-7006-4c32-8333-ed840193afd3_2880x926.png" width="1200" height="385.7142857142857" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0fa6d24-7006-4c32-8333-ed840193afd3_2880x926.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:468,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:237623,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/179334770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0fa6d24-7006-4c32-8333-ed840193afd3_2880x926.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!xsaB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0fa6d24-7006-4c32-8333-ed840193afd3_2880x926.png 424w, https://substackcdn.com/image/fetch/$s_!xsaB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0fa6d24-7006-4c32-8333-ed840193afd3_2880x926.png 848w, https://substackcdn.com/image/fetch/$s_!xsaB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0fa6d24-7006-4c32-8333-ed840193afd3_2880x926.png 1272w, https://substackcdn.com/image/fetch/$s_!xsaB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0fa6d24-7006-4c32-8333-ed840193afd3_2880x926.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What PostHog MCP connects</h2><p><strong>User journey analytics</strong></p><ul><li><p>Where users enter flows</p></li><li><p>Where they abandon tasks</p></li><li><p>How they navigate between features</p></li><li><p>What paths lead to success vs failure</p></li></ul><p><strong>Interaction patterns</strong></p><ul><li><p>Which UI elements users engage with</p></li><li><p>Where rage clicks happen</p></li><li><p>Form field abandonment points</p></li><li><p>Navigation confusion patterns</p></li></ul><p><strong>Outcome tracking</strong></p><ul><li><p>Task completion rates</p></li><li><p>Conversion funnel performance</p></li><li><p>Feature adoption over time</p></li><li><p>Error rates and recovery patterns</p></li></ul><p><strong>Segment analysis</strong></p><ul><li><p>Mobile vs desktop behavior differences</p></li><li><p>New vs returning user patterns</p></li><li><p>Geographic or demographic variations</p></li><li><p>A/B test performance by segment</p></li></ul><p></p><h2>Closing the loop: Analytics &#8594; Posthog &#8594; Figma &#8594; Design updates</h2><p>Here&#8217;s where it gets really powerful: connecting PostHog MCP to Figma&#8217;s REST API to automatically generate design feedback based on real user behavior.</p><p><strong>The workflow:</strong></p><ol><li><p><strong>MCP queries PostHog</strong>: Claude analyzes user behavior data for specific patterns</p></li><li><p><strong>Identifies issues</strong>: Finds patterns with high drop-off, rage clicks, or poor completion rates</p></li><li><p><strong>Connects to Figma</strong>: Uses Figma REST API to find the design files for those patterns</p></li><li><p><strong>Generates contextual comments</strong>: Automatically adds comments to Figma with:</p><ul><li><p>The specific user behavior problem</p></li><li><p>Session recording links</p></li><li><p>Quantitative metrics (drop-off rates, error counts)</p></li><li><p>Suggested improvements based on the data</p></li></ul></li></ol><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QwUu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a704f40-4ee1-4ed0-9f82-d3a05f18f39b_1512x773.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QwUu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a704f40-4ee1-4ed0-9f82-d3a05f18f39b_1512x773.png 424w, https://substackcdn.com/image/fetch/$s_!QwUu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a704f40-4ee1-4ed0-9f82-d3a05f18f39b_1512x773.png 848w, https://substackcdn.com/image/fetch/$s_!QwUu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a704f40-4ee1-4ed0-9f82-d3a05f18f39b_1512x773.png 1272w, https://substackcdn.com/image/fetch/$s_!QwUu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a704f40-4ee1-4ed0-9f82-d3a05f18f39b_1512x773.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QwUu!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a704f40-4ee1-4ed0-9f82-d3a05f18f39b_1512x773.png" width="1200" height="613.1868131868132" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a704f40-4ee1-4ed0-9f82-d3a05f18f39b_1512x773.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:744,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:181230,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/179334770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a704f40-4ee1-4ed0-9f82-d3a05f18f39b_1512x773.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QwUu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a704f40-4ee1-4ed0-9f82-d3a05f18f39b_1512x773.png 424w, https://substackcdn.com/image/fetch/$s_!QwUu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a704f40-4ee1-4ed0-9f82-d3a05f18f39b_1512x773.png 848w, https://substackcdn.com/image/fetch/$s_!QwUu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a704f40-4ee1-4ed0-9f82-d3a05f18f39b_1512x773.png 1272w, https://substackcdn.com/image/fetch/$s_!QwUu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a704f40-4ee1-4ed0-9f82-d3a05f18f39b_1512x773.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Why this matters:</strong></p><ul><li><p>Designers see real impact </p></li><li><p>Context at design time </p></li><li><p>Faster feedback loop </p></li><li><p>Prioritization becomes obvious </p></li></ul><p></p><p><strong>The technical setup:</strong></p><ol><li><p><strong>PostHog API key</strong>: Queries user behavior analytics</p></li><li><p><strong>Figma API key</strong>: Reads/writes to Figma files</p></li><li><p><strong>Claude/ Cursor</strong>: Connects the dots and generates insights</p></li></ol><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bUQc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0608b22-66a5-42ba-92d6-9aee10df5740_1512x1056.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bUQc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0608b22-66a5-42ba-92d6-9aee10df5740_1512x1056.png 424w, https://substackcdn.com/image/fetch/$s_!bUQc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0608b22-66a5-42ba-92d6-9aee10df5740_1512x1056.png 848w, https://substackcdn.com/image/fetch/$s_!bUQc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0608b22-66a5-42ba-92d6-9aee10df5740_1512x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!bUQc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0608b22-66a5-42ba-92d6-9aee10df5740_1512x1056.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bUQc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0608b22-66a5-42ba-92d6-9aee10df5740_1512x1056.png" width="1456" height="1017" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0608b22-66a5-42ba-92d6-9aee10df5740_1512x1056.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1017,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:127552,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/179334770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0608b22-66a5-42ba-92d6-9aee10df5740_1512x1056.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bUQc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0608b22-66a5-42ba-92d6-9aee10df5740_1512x1056.png 424w, https://substackcdn.com/image/fetch/$s_!bUQc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0608b22-66a5-42ba-92d6-9aee10df5740_1512x1056.png 848w, https://substackcdn.com/image/fetch/$s_!bUQc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0608b22-66a5-42ba-92d6-9aee10df5740_1512x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!bUQc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0608b22-66a5-42ba-92d6-9aee10df5740_1512x1056.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2uak!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b19dee-55e5-4f9b-bf84-34c05428fb2b_1512x1406.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2uak!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b19dee-55e5-4f9b-bf84-34c05428fb2b_1512x1406.png 424w, https://substackcdn.com/image/fetch/$s_!2uak!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b19dee-55e5-4f9b-bf84-34c05428fb2b_1512x1406.png 848w, https://substackcdn.com/image/fetch/$s_!2uak!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b19dee-55e5-4f9b-bf84-34c05428fb2b_1512x1406.png 1272w, https://substackcdn.com/image/fetch/$s_!2uak!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b19dee-55e5-4f9b-bf84-34c05428fb2b_1512x1406.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2uak!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b19dee-55e5-4f9b-bf84-34c05428fb2b_1512x1406.png" width="1456" height="1354" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8b19dee-55e5-4f9b-bf84-34c05428fb2b_1512x1406.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1354,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:222272,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/179334770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b19dee-55e5-4f9b-bf84-34c05428fb2b_1512x1406.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2uak!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b19dee-55e5-4f9b-bf84-34c05428fb2b_1512x1406.png 424w, https://substackcdn.com/image/fetch/$s_!2uak!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b19dee-55e5-4f9b-bf84-34c05428fb2b_1512x1406.png 848w, https://substackcdn.com/image/fetch/$s_!2uak!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b19dee-55e5-4f9b-bf84-34c05428fb2b_1512x1406.png 1272w, https://substackcdn.com/image/fetch/$s_!2uak!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b19dee-55e5-4f9b-bf84-34c05428fb2b_1512x1406.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>The AI-driven insights advantage</h2><p>It&#8217;s not just about accessing data faster. It&#8217;s about turning weeks of manual analysis into seconds of conversation.</p><h2></h2><p><strong> &#8220;Where are users abandoning our onboarding flow?&#8221;</strong></p><p><strong>Claude:</strong> <em>Analyzes PostHog funnels</em> &#8220;68% complete email verification, but 43% drop off at the profile photo upload step. Session recordings show users clicking &#8216;Skip&#8217; but the button doesn&#8217;t respond. Your UploadButton component works, but the skip handler is broken.&#8221;</p><h3></h3><p><strong>&#8220;Why is form completion so low on the settings page?&#8221;</strong></p><p><strong>Claude:</strong> <em>Analyzes session recordings and events</em> &#8220;Users fill out the form, click Save, nothing happens. They click 3-4 more times, then leave. Your Button component is working, but the form validation is failing silently. No error message shown.&#8221;</p><p></p><p><strong>&#8220;Which pattern is causing the most user frustration?&#8221;</strong></p><p><strong>PostHog MCP query:</strong> Claude runs <code>insights-get-insight</code> to find the highest drop-off rate in funnels containing pattern-specific events like <code>form_started</code> vs <code>form_submitted</code>.</p><p><strong>Claude:</strong>  &#8220;Your date picker pattern has a 43% abandonment rate on mobile devices. Session recordings show users repeatedly tapping the calendar icon&#8212;it requires 2-3 taps to open.&#8221;</p><p></p><p><strong>&#8220;What&#8217;s the conversion rate difference between the new A/B tested modal pattern and the old one?&#8221;</strong></p><p><strong>PostHog MCP query:</strong> Claude uses <code>list-experiments</code> and <code>insights-get-insight</code> to retrieve A/B test results comparing conversion events.</p><p><strong>Claude:</strong> &#8220;Old modal pattern: 23% conversion. New modal pattern: 19% conversion on desktop, but 48% on mobile. Recommend device-specific implementation.&#8221;</p><p></p><div><hr></div><h2>Where to start</h2><p><strong>If you have no analytics:</strong></p><ul><li><p>Start with free tiers (PostHog, Mixpanel, Amplitude)</p></li><li><p>Track just 2-3 critical flows</p><p></p></li></ul><p><strong>If you have analytics:</strong></p><ol><li><p>Partner with your product analytics team</p></li><li><p>Ask them to create dashboards for your patterns</p></li><li><p>Schedule weekly/monthly reviews of the data</p></li></ol><p></p><p><strong>If you can&#8217;t set up MCP today (low-code alternative):</strong><br>Even without the technical setup, you can start immediately:</p><ul><li><p><strong>Ask your data team this one question:</strong> &#8220;Can we tag our analytics events with the component/pattern name?&#8221;</p></li><li><p>Manually export data from your analytics platform weekly</p></li><li><p>Create a simple spreadsheet linking patterns to user outcomes</p></li><li><p>Share findings in design reviews and sprint planning</p></li></ul><p></p><p><strong>If you want to go deeper:</strong></p><ol><li><p>Set up comprehensive event tracking</p></li><li><p>Enable session recordings</p></li><li><p>Install MCP servers </p></li><li><p>Build this into your regular workflow</p><p></p></li></ol><h3>Learn more:</h3><ul><li><p><a href="https://github.com/modelcontextprotocol/servers/tree/main/src/posthog">PostHog MCP Server Documentation</a> - Official MCP server implementation for PostHog</p></li><li><p><a href="https://posthog.com/docs">PostHog Documentation</a> - Complete guide to product analytics and session recordings</p></li><li><p><a href="https://developers.figma.com/docs/rest-api/authentication/#access-tokens">Figma API Key </a>Documentation</p></li></ul><p></p><p>Enjoy exploring, &#9889;&#65039;<br><em>Romina</em></p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>&#10024; GitHub no longer uses toasts because of their accessibility and usability issues.</strong></p><p><strong>&#128279; <a href="https://primer.style/accessibility/toasts/">Link</a></strong></p><p></p><p><strong>Gemini 3.0 is out</strong></p><p><strong>&#128279; <a href="https://cloud.google.com/blog/products/ai-machine-learning/gemini-3-is-available-for-enterprise">Link</a></strong></p><p></p><p><strong>Token Hunter Game for your weekend fun </strong></p><p>I had some fun building this game. It is educational, and you need to go through levels where Level 1 is choosing primitive design tokens, and then it gets harder and harder &#128579;</p><p><strong>&#128279; <a href="https://tokens-game.vercel.app/">Link</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[How design systems teams are using AI tools]]></title><description><![CDATA[Plus examples from Cursor, Ramp, Notion]]></description><link>https://learn.thedesignsystem.guide/p/how-design-systems-teams-are-using</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/how-design-systems-teams-are-using</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Sat, 15 Nov 2025 07:48:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GnOi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GnOi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GnOi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!GnOi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!GnOi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!GnOi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GnOi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:876986,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/178779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GnOi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!GnOi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!GnOi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!GnOi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F539e725f-2426-4be9-a3f5-2eb817262347_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Your design system has a 3-week documentation lag. Components exist in code that don&#8217;t match Figma. Your design audit takes 6 hours every sprint. Meanwhile, teams with integrated AI workflows ship components in <strong>2 hours instead of 2 days</strong>, maintain docs that update automatically, and run comprehensive audits in 5 minutes. </p><p>I want to share what design system teams can actually build and use today. &#128071;</p><div><hr></div><h2>The local environment advantage</h2><p>Most teams prototype in Figma. Static pixels that lie about how things actually work. It&#8217;s time to start using real code in local environments and iterate in minutes, not days.</p><p><strong>Why this matters:</strong> Figma can&#8217;t show you what happens when a user types 13 characters into your input field. Or what your loading state looks like after 3 seconds. Or how your modal behaves when someone mashes the escape key 12 times.</p><p>Better way:</p><p><strong>Step 1: Set up your local sandbox</strong></p><ul><li><p>Next.js dev server running locally</p></li><li><p>Component library imported</p></li><li><p>Design tokens connected</p></li><li><p>Hot reload enabled</p></li></ul><p><strong>Step 2: Use AI to generate the component</strong></p><ul><li><p>Feed Claude or Cursor your Figma design (via Figma MCP)</p></li><li><p>Include your design token structure</p></li><li><p>Specify your component patterns</p></li><li><p>Get working code in 2 minutes</p><p></p></li></ul><p><strong>Step 3: Test with real interactions</strong></p><ul><li><p>Type actual content (not lorem ipsum)</p></li><li><p>Test keyboard navigation</p></li><li><p>Break things intentionally</p></li><li><p>Watch how it fails</p></li></ul><p>Yes, you can reduce component development by at least 50%.</p><p>&#128588; For a complete guide on AI component generation, see </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;86f1c662-4929-4a5e-9e37-0f00342d2e39&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Ultimate AI Component Generation Framework &quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-03T10:09:26.324Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!a3HB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bea4d7-9c61-4672-bc26-7ff74f3bc772_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/the-ultimate-ai-component-generation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175136945,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:47,&quot;comment_count&quot;:3,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><p>If you want examples from <strong>Ramp, Notion and Cursor,</strong> check the video here:</p><div id="youtube2-T8T2gHCKWCE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;T8T2gHCKWCE&quot;,&quot;startTime&quot;:&quot;2714s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/T8T2gHCKWCE?start=2714s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p></p><h3>Building with components, not from scratch</h3><p>Your component library is your AI&#8217;s best friend.</p><pre><code><code>Generate a data table using our existing design system components:
- Use our Button component for actions
- Use our Checkbox component for row selection  
- Use our Dropdown component for filters
- Apply spacing tokens from our system
- Follow our responsive patterns

Component library location: /src/components
Design tokens: /src/tokens/core.json
</code></code></pre><p>This approach gives you:</p><ul><li><p>Consistent patterns automatically</p></li><li><p>Faster development (reuse, not rebuild)</p></li><li><p>Components that already match your system</p></li><li><p>Less code to maintain</p><p></p></li></ul><div><hr></div><h2>Team markdown files as AI context</h2><p>The best design system teams document everything in markdown. Not for humans. For AI.</p><h3>What to document (in short)</h3><p><strong>Design guidelines:</strong></p><pre><code><code># Button Usage Guidelines

## When to use
- Primary actions on a page
- Form submissions
- Critical user decisions

## When NOT to use  
- Navigation (use Link component)
- Toggles (use Switch component)
- Multiple options (use Dropdown)

## Accessibility requirements
- Minimum 44x44px touch target
- Clear focus indicators
- Descriptive labels (no &#8220;Click here&#8221;)
</code></code></pre><p><strong>Component patterns:</strong></p><pre><code><code># Form Validation Pattern

## Implementation
1. Validate on blur (not on every keystroke)
2. Show errors below the field
3. Use error color token: {color.feedback.error}
4. Include icon for visual reinforcement
5. Provide clear, actionable error messages

## Example error messages
&#10060; &#8220;Invalid input&#8221;
&#9989; &#8220;Email must include @ symbol&#8221;
</code></code></pre><p><strong>Token usage rules:</strong></p><pre><code><code># Spacing Token Usage

## Component spacing
- Use inset tokens for padding: spacing-inset-md
- Use stack tokens for vertical gaps: spacing-stack-sm
- Use inline tokens for horizontal gaps: spacing-inline-xs

## Never use
- Arbitrary values (no padding: 13px)
- Spacing tokens for border radius
- Stack tokens for horizontal spacing
</code></code></pre><h3>Why this works</h3><p>When you ask AI to build a component, it reads these files automatically (if you set up your context correctly). No copy-pasting guidelines. No explaining patterns every time.</p><p><br>When you write &#8220;Build a form with validation&#8221; &#8594; <em>AI reads your validation pattern doc and implements it correctly.</em></p><div><hr></div><h2>Prompts library</h2><p>Stop rewriting the same prompts. Build a prompt library for your team. If you need inspiration, <a href="https://aidesign.guide/">here is my public one. </a></p><p><strong>Example: Checklist for component</strong></p><ol><li><p><strong>Figma Link</strong> - Direct design reference (use Figma MCP)</p></li><li><p><strong>Inspiration</strong> - Reference designs from other systems</p></li><li><p><strong>Design Specs</strong> - Exact spacing, colors, typography values</p></li><li><p><strong>Design Tokens</strong> - Where tokens live and how to use them</p></li><li><p><strong>Component Overview</strong> - Purpose, use cases, when to use</p></li><li><p><strong>Component Variants</strong> - All states, sizes, types</p></li><li><p><strong>Framework/Tech Stack</strong> - React version, TypeScript, dependencies</p></li><li><p><strong>Component Architecture</strong> - File structure, naming conventions</p></li><li><p><strong>Dependencies</strong> - What it needs to work</p></li><li><p><strong>Task Context</strong> - Problem it solves, user needs</p></li><li><p><strong>Interactions &amp; Behavior</strong> - Animations, transitions, timing</p></li><li><p><strong>Responsive Behavior</strong> - Breakpoints, mobile considerations</p></li><li><p><strong>Accessibility Features</strong> - WCAG requirements, ARIA, keyboard nav</p></li><li><p><strong>Demo</strong> - Expected output, usage examples</p></li><li><p><strong>Documentation</strong> - Props, usage guidelines, do&#8217;s and don&#8217;ts</p></li><li><p><strong>.ai/ Directory</strong> - Persistent guidelines for this component</p></li></ol><p></p><p>Some examples:</p><p><strong>Token validation prompt:</strong></p><pre><code><code>Audit this component for design token usage:
1. Identify all hardcoded values
2. Replace with appropriate tokens from /tokens/core.json
3. Verify semantic token usage matches guidelines in /docs/token-usage.md
4. Check color contrast ratios meet WCAG AA
5. List any missing tokens we need to add

Output: Before/after comparison with token replacements
</code></code></pre><p><strong>Accessibility audit prompt:</strong></p><pre><code><code>Review this component for accessibility:
- WCAG 2.1 AA compliance
- Keyboard navigation (tab order, focus management)
- Screen reader support (ARIA labels, roles, live regions)
- Color contrast ratios
- Touch target sizes (minimum 44x44px)
- Focus indicators (visible and clear)

Reference: /docs/accessibility-guidelines.md
Output: Checklist with pass/fail and fixes needed
</code></code></pre><p><strong>Documentation generator prompt:</strong></p><pre><code><code>Generate complete component documentation:
1. Overview and purpose
2. Props table (name, type, default, description)
3. Usage examples (basic, advanced, edge cases)
4. Accessibility notes
5. Do&#8217;s and don&#8217;ts with examples
6. Related components
7. Design token references

Format: Markdown
Style: Match existing docs in /docs/components/
</code></code></pre><p></p><h2>Writing documentation and UX texts</h2><p>Documentation lag kills design systems. </p><p><strong>Automated approach:</strong></p><ol><li><p>Designer updates Figma</p></li><li><p>AI detects change via Figma API</p></li><li><p>AI updates documentation automatically</p></li><li><p>Docs deploy in real-time</p></li><li><p>Everyone works from current information</p><p></p></li></ol><p>The complete guide for this setup is detailed in <strong><a href="https://learn.thedesignsystem.guide/p/how-to-automate-design-system-documentation">How to Automate Design System Documentation</a>.</strong> </p><div><hr></div><h3>UX writing at scale</h3><p>AI excels at generating consistent UX copy that matches your voice. You have more options here: </p><ul><li><p>Build a project in <strong>Claude</strong> (with you favourite writing styles)</p></li><li><p>Build <strong>a Skill in Claude</strong> from your writing guidelines </p></li><li><p>Create a tone and voice guide<strong> markdown files </strong>for Cursor or Claude Code and then use them for consistent results</p></li><li><p>Use your <strong>custom GPT </strong>and add all the writing you like</p></li></ul><p></p><p>Yep, now you get consistent voice. Zero meetings about &#8220;should this say &#8216;Delete&#8217; or &#8216;Remove&#8217;?&#8221;</p><div><hr></div><h2>Building internal tools and plugins</h2><p>Some examples</p><p><strong>1. Design token name generator</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WHkX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec21ac9-b134-4cbc-95c0-6c3c3e404fac_1280x750.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WHkX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec21ac9-b134-4cbc-95c0-6c3c3e404fac_1280x750.png 424w, https://substackcdn.com/image/fetch/$s_!WHkX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec21ac9-b134-4cbc-95c0-6c3c3e404fac_1280x750.png 848w, https://substackcdn.com/image/fetch/$s_!WHkX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec21ac9-b134-4cbc-95c0-6c3c3e404fac_1280x750.png 1272w, https://substackcdn.com/image/fetch/$s_!WHkX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec21ac9-b134-4cbc-95c0-6c3c3e404fac_1280x750.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WHkX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec21ac9-b134-4cbc-95c0-6c3c3e404fac_1280x750.png" width="1280" height="750" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ec21ac9-b134-4cbc-95c0-6c3c3e404fac_1280x750.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:750,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:158990,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/178779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec21ac9-b134-4cbc-95c0-6c3c3e404fac_1280x750.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!WHkX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec21ac9-b134-4cbc-95c0-6c3c3e404fac_1280x750.png 424w, https://substackcdn.com/image/fetch/$s_!WHkX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec21ac9-b134-4cbc-95c0-6c3c3e404fac_1280x750.png 848w, https://substackcdn.com/image/fetch/$s_!WHkX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec21ac9-b134-4cbc-95c0-6c3c3e404fac_1280x750.png 1272w, https://substackcdn.com/image/fetch/$s_!WHkX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ec21ac9-b134-4cbc-95c0-6c3c3e404fac_1280x750.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I built a web app that generates consistent token names following our naming convention. This playground helps immensely because everyone starts to understand how naming structure works.</p><p><strong>Time saved:</strong> stopped counting :))) </p><p></p><p><strong>2. Figma to code sync tool</strong></p><p>An automated pipeline that:</p><ul><li><p>Reads Figma component changes via API</p></li><li><p>Generates updated React components</p></li><li><p>Creates a pull request with changes</p></li><li><p>Runs visual regression tests</p></li><li><p>Notifies the team of updates</p></li></ul><p><strong>Result:</strong> Design-code drift went from 3 weeks to 3 minutes.</p><p></p><p><strong>3. Component usage analyzer</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Pqz_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc12d403d-eea5-4ef0-b70e-115108a95212_930x449.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Pqz_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc12d403d-eea5-4ef0-b70e-115108a95212_930x449.png 424w, https://substackcdn.com/image/fetch/$s_!Pqz_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc12d403d-eea5-4ef0-b70e-115108a95212_930x449.png 848w, https://substackcdn.com/image/fetch/$s_!Pqz_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc12d403d-eea5-4ef0-b70e-115108a95212_930x449.png 1272w, https://substackcdn.com/image/fetch/$s_!Pqz_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc12d403d-eea5-4ef0-b70e-115108a95212_930x449.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Pqz_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc12d403d-eea5-4ef0-b70e-115108a95212_930x449.png" width="930" height="449" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c12d403d-eea5-4ef0-b70e-115108a95212_930x449.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:449,&quot;width&quot;:930,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:40866,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/178779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc12d403d-eea5-4ef0-b70e-115108a95212_930x449.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Pqz_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc12d403d-eea5-4ef0-b70e-115108a95212_930x449.png 424w, https://substackcdn.com/image/fetch/$s_!Pqz_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc12d403d-eea5-4ef0-b70e-115108a95212_930x449.png 848w, https://substackcdn.com/image/fetch/$s_!Pqz_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc12d403d-eea5-4ef0-b70e-115108a95212_930x449.png 1272w, https://substackcdn.com/image/fetch/$s_!Pqz_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc12d403d-eea5-4ef0-b70e-115108a95212_930x449.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Script that scans your codebase and reports:</p><ul><li><p>Which components are actually used</p></li><li><p>Adoption rate by team</p></li><li><p>Deprecated components still in use</p></li><li><p>Inconsistent implementations</p></li><li><p>Missing design tokens</p></li></ul><p><strong>Impact:</strong> Identified 40 unused components we could deprecate. Found 6 teams still using old patterns.</p><p></p><p><strong>4. Illustration database </strong></p><p>I connected <strong><a href="https://bunny.net/">bunny.net </a></strong>(for Storage via API), <strong>Vercel</strong> and built the database with all our .svg illustrations. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ezAb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a16561c-1848-418e-96f2-7e1d89dc273b_1280x750.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ezAb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a16561c-1848-418e-96f2-7e1d89dc273b_1280x750.png 424w, https://substackcdn.com/image/fetch/$s_!ezAb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a16561c-1848-418e-96f2-7e1d89dc273b_1280x750.png 848w, https://substackcdn.com/image/fetch/$s_!ezAb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a16561c-1848-418e-96f2-7e1d89dc273b_1280x750.png 1272w, https://substackcdn.com/image/fetch/$s_!ezAb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a16561c-1848-418e-96f2-7e1d89dc273b_1280x750.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ezAb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a16561c-1848-418e-96f2-7e1d89dc273b_1280x750.png" width="1280" height="750" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a16561c-1848-418e-96f2-7e1d89dc273b_1280x750.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:750,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:308532,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/178779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a16561c-1848-418e-96f2-7e1d89dc273b_1280x750.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ezAb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a16561c-1848-418e-96f2-7e1d89dc273b_1280x750.png 424w, https://substackcdn.com/image/fetch/$s_!ezAb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a16561c-1848-418e-96f2-7e1d89dc273b_1280x750.png 848w, https://substackcdn.com/image/fetch/$s_!ezAb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a16561c-1848-418e-96f2-7e1d89dc273b_1280x750.png 1272w, https://substackcdn.com/image/fetch/$s_!ezAb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a16561c-1848-418e-96f2-7e1d89dc273b_1280x750.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><ol start="5"><li><p>Design System Buddy</p></li></ol><p>Chatbot connected that shares all the useful data about the design system. </p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yhfm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe19fc3-f360-4670-9cbe-f73653f066cb_1280x750.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yhfm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe19fc3-f360-4670-9cbe-f73653f066cb_1280x750.png 424w, https://substackcdn.com/image/fetch/$s_!yhfm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe19fc3-f360-4670-9cbe-f73653f066cb_1280x750.png 848w, https://substackcdn.com/image/fetch/$s_!yhfm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe19fc3-f360-4670-9cbe-f73653f066cb_1280x750.png 1272w, https://substackcdn.com/image/fetch/$s_!yhfm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe19fc3-f360-4670-9cbe-f73653f066cb_1280x750.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yhfm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe19fc3-f360-4670-9cbe-f73653f066cb_1280x750.png" width="1280" height="750" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0fe19fc3-f360-4670-9cbe-f73653f066cb_1280x750.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:750,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:286966,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/178779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe19fc3-f360-4670-9cbe-f73653f066cb_1280x750.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yhfm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe19fc3-f360-4670-9cbe-f73653f066cb_1280x750.png 424w, https://substackcdn.com/image/fetch/$s_!yhfm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe19fc3-f360-4670-9cbe-f73653f066cb_1280x750.png 848w, https://substackcdn.com/image/fetch/$s_!yhfm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe19fc3-f360-4670-9cbe-f73653f066cb_1280x750.png 1272w, https://substackcdn.com/image/fetch/$s_!yhfm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe19fc3-f360-4670-9cbe-f73653f066cb_1280x750.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p></p><p></p><h3>The build-vs-buy decision</h3><p><strong>Build when:</strong></p><ul><li><p>It&#8217;s specific to your design system structure</p></li><li><p>You&#8217;ll use it weekly</p></li><li><p>It saves more than 2 hours per week</p></li><li><p>You can build it in under 8 hours</p></li></ul><p><strong>Buy when:</strong></p><ul><li><p>It&#8217;s a common problem (Storybook, Chromatic)</p></li><li><p>Building it would take weeks</p></li><li><p>Maintenance is complex</p></li><li><p>Support matters</p></li></ul><p>Most internal tools fall into the &#8220;build&#8221; category. They&#8217;re simpler than you think, especially with AI helping you code.</p><p></p><div><hr></div><h2>Model Context Protocol (MCP) servers</h2><p>MCP is the technology that changes everything. It gives AI direct access to external tools. The biggest benefit is that the data is always accurate and latest.  </p><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;72d29673-ec73-4840-b580-2d4676917cf7&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Build your own MCP server for design tokens&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-09-11T15:59:57.652Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_3hb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6a5323-0e92-4420-89c6-dad9521d6cee_1260x908.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/build-your-own-mcp-server-for-design&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:173334168,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:31,&quot;comment_count&quot;:4,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;9705d030-0cb4-4c89-bf4a-eab5f3344341&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why your design system team need Claude Skills&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-31T08:28:29.183Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!hfid!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/why-your-design-system-team-need&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:177632613,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:41,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3></h3><p><strong>Some ideas for MCP connections for design systems</strong></p><p><strong>1. Figma MCP</strong></p><ul><li><p>Read design files directly</p></li><li><p>Extract component specs</p></li><li><p>Pull design tokens</p></li><li><p>Generate code from designs</p></li></ul><p><strong>2. GitHub MCP</strong></p><ul><li><p>Review component code</p></li><li><p>Check token usage</p></li><li><p>Track design system changes</p></li><li><p>Automate pull requests</p></li></ul><p><strong>3. Documentation MCP</strong></p><ul><li><p>Search your docs instantly</p></li><li><p>Verify information is current</p></li><li><p>Generate new documentation</p></li><li><p>Update existing content</p></li></ul><p><strong>4. Analytics MCP</strong></p><ul><li><p>Component adoption metrics</p></li><li><p>Usage patterns</p></li><li><p>Performance data</p></li><li><p>Team adoption rates</p></li></ul><div><hr></div><h2>Testing user interactions</h2><p></p><h3>Playwright </h3><p>I use Playwright to automate design audits that used to take 3 hours. Now they run in <em>minutes. </em></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;04ffb9b4-645c-47dc-ab3d-d630b82ffdb4&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Audits and Testing&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-24T05:41:26.837Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!3RG_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89a4e5fc-bd38-48d1-89f0-f956b9281f8e_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-audits&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176858532,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:26,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><div><hr></div><h2>Connect to actual APIs</h2><p>Static designs with fake data hide problems. Real data reveals them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2u8v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c57f679-9acd-4d1e-adf2-37364769c26b_1280x626.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2u8v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c57f679-9acd-4d1e-adf2-37364769c26b_1280x626.png 424w, https://substackcdn.com/image/fetch/$s_!2u8v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c57f679-9acd-4d1e-adf2-37364769c26b_1280x626.png 848w, https://substackcdn.com/image/fetch/$s_!2u8v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c57f679-9acd-4d1e-adf2-37364769c26b_1280x626.png 1272w, https://substackcdn.com/image/fetch/$s_!2u8v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c57f679-9acd-4d1e-adf2-37364769c26b_1280x626.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2u8v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c57f679-9acd-4d1e-adf2-37364769c26b_1280x626.png" width="1280" height="626" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c57f679-9acd-4d1e-adf2-37364769c26b_1280x626.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:626,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:120074,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/178779773?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c57f679-9acd-4d1e-adf2-37364769c26b_1280x626.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2u8v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c57f679-9acd-4d1e-adf2-37364769c26b_1280x626.png 424w, https://substackcdn.com/image/fetch/$s_!2u8v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c57f679-9acd-4d1e-adf2-37364769c26b_1280x626.png 848w, https://substackcdn.com/image/fetch/$s_!2u8v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c57f679-9acd-4d1e-adf2-37364769c26b_1280x626.png 1272w, https://substackcdn.com/image/fetch/$s_!2u8v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c57f679-9acd-4d1e-adf2-37364769c26b_1280x626.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3></h3><p><strong>Product data:</strong><br>Connect your components to real product catalogs. Test how your card layouts handle products with 200-character descriptions versus 20. See how pricing displays for items under $1 versus over $10,000. Real product data reveals layout breaks, text overflow issues, and edge cases you&#8217;d never consider with lorem ipsum.</p><p><strong>User data:</strong><br>Pull actual user profiles from your database. Test components with users who have no profile photos, names with 40+ characters, special characters in their names, or right-to-left scripts. Discover that 23% of your users need empty state handling you didn&#8217;t design for. Real user data forces you to design for diversity, not just &#8220;John Smith.&#8221;</p><p><strong>Analytics data:</strong><br>Connect to PostHog or Mixpanel to see which component variants are actually used in production. Track which buttons get clicked, which empty states are most common, and which error messages users see most often. Use this data to prioritize component improvements based on real usage, not assumptions. One team discovered they spent months perfecting a component variant that represented less than 2% of actual usage.</p><div><hr></div><h2>Claude Code skills for design systems</h2><p>Claude Skills are specialized, reusable workflows that load context only when needed. They&#8217;re deterministic, not LLM-guessing.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;5f330957-68fc-4a03-b355-86b6000aa255&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why your design system team need Claude Skills&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-31T08:28:29.183Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!hfid!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/why-your-design-system-team-need&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:177632613,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:41,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h2>Making AI tools work for your team</h2><p></p><p><strong>&#128588; Start with your biggest bottleneck</strong></p><p>Don&#8217;t try to optimize everything. Pick the one thing that wastes the most time.</p><p></p><p><strong>&#128588; Build incrementally</strong></p><p><strong>Week 1:</strong> Set up local development environment with component sandbox<br><strong>Week 2:</strong> Create markdown guidelines and shared prompt library<br><strong>Week 3:</strong> Build one internal tool (token validator or documentation generator)<br><strong>Week 4:</strong> Set up MCP server for design tokens<br><strong>Week 5:</strong> Implement automated testing for core components</p><p>Each week builds on the previous. You see value immediately while working toward full automation.</p><p></p><p><strong>&#128588; Measure what matters</strong></p><p>Track these metrics to prove AI integration value:</p><ul><li><p>Development velocity</p></li><li><p>Quality consistency</p></li><li><p>Time savings</p></li><li><p>Team adoption</p><p></p></li></ul><p>Soooo, as you can see, the difference is <strong>C O N T E X T.</strong> The teams winning with AI have built systems where AI has direct access to design tokens (via MCP), component patterns (via markdown docs), usage guidelines (via team documentation), real data (via API connections), and testing infrastructure (via Playwright).</p><p>The goal isn&#8217;t perfect AI integration. The goal is <strong>eliminating the manual work</strong> that kills your team&#8217;s momentum.</p><p></p><p>YOU GOT THIS. &#128588;<br><em>Romina</em></p><div><hr></div><h3>More helpful links</h3><div id="youtube2-T8T2gHCKWCE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;T8T2gHCKWCE&quot;,&quot;startTime&quot;:&quot;2714s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/T8T2gHCKWCE?start=2714s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;a8df7108-6a21-4347-85b3-9d4eab0885bc&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Ultimate AI Component Generation Framework &quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-03T10:09:26.324Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!a3HB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bea4d7-9c61-4672-bc26-7ff74f3bc772_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/the-ultimate-ai-component-generation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175136945,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:47,&quot;comment_count&quot;:3,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;85406a61-9a8b-46e2-9734-2e6b2babb4f9&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Documentation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-17T08:58:02.536Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!9dDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe9c6aa2-4c25-47ea-8c50-3c5d2d786ca1_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-documentation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176234757,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:88,&quot;comment_count&quot;:2,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;14f02d8b-ac6d-4495-9fd2-6f53e24222f6&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Audits and Testing&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-24T05:41:26.837Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!3RG_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89a4e5fc-bd38-48d1-89f0-f956b9281f8e_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-audits&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176858532,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:26,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;149c354d-8065-4dd3-adeb-3ff53b00af33&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why your design system team need Claude Skills&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-31T08:28:29.183Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!hfid!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/why-your-design-system-team-need&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:177632613,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:41,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><p><a href="https://github.com/modelcontextprotocol/servers">Figma MCP</a> - Model Context Protocol server for Figma integration</p><p><a href="https://claude.ai/download">Claude Desktop</a> - Desktop app required for MCP servers</p><p><a href="https://playwright.dev/">Playwright</a> - Browser automation for testing</p><p><a href="https://mintlify.com/">Mintlify</a> - Documentation platform with auto-deployment</p><p><a href="https://amzn.github.io/style-dictionary/">Style Dictionary</a> - Token transformation tool</p><p><a href="https://storybook.js.org/">Storybook</a> - Component development and documentation</p><p><a href="https://www.chromatic.com/">Chromatic</a> - Visual regression testing</p><p><a href="https://docs.anthropic.com/claude/docs/skills">Claude Skills Documentation</a> - Building specialized AI workflows</p><p></p><p></p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>&#10024; Agentic Design System Course </strong></p><p>Waitlist opened. &#128522;</p><p><strong>&#128279; <a href="https://thedesignsystem.guide/agentic-design-systems-course">Link</a></strong></p><p></p><p><strong>Gamma AI</strong></p><p>AI tool for making presentations.</p><p><strong>&#128279; <a href="https://gamma.app/">Link</a></strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Why research gets more important as AI gets faster]]></title><description><![CDATA[The continuous research cycle guide]]></description><link>https://learn.thedesignsystem.guide/p/why-research-gets-more-important</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/why-research-gets-more-important</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 07 Nov 2025 13:41:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7U__!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7U__!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7U__!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!7U__!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!7U__!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!7U__!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7U__!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1148661,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/176639465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7U__!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!7U__!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!7U__!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!7U__!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71288fc2-b74d-41a0-8718-20b2adafa542_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>What you&#8217;ll learn:</strong></p><ul><li><p>Why AI speed makes research more critical, not less</p></li><li><p>How to run research in continuous cycles instead of one-time phases</p></li><li><p>The exact questions to ask designers, developers, and leadership about your design system</p></li><li><p>How to use AI to accelerate synthesis while never skipping user conversations</p></li></ul><div><hr></div><h2>The pattern I&#8217;m seeing</h2><p>Last week, I watched a senior product designer generate three complete UI mockups in under 20 minutes using AI. Beautiful layouts, on-brand colors.</p><p>None of them solved the actual user problem.</p><p>He&#8217;d skipped the research. Asked the AI to &#8220;design a dashboard for analytics users&#8221; without ever talking to an analytics user. The AI delivered exactly what he asked for, which was exactly the wrong thing.</p><p>This is the shift happening right now. As Sam Altman from OpenAI wrote:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LfZS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3179ea9-7a3d-4717-a32d-8f19d2752b40_1000x357.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LfZS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3179ea9-7a3d-4717-a32d-8f19d2752b40_1000x357.png 424w, https://substackcdn.com/image/fetch/$s_!LfZS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3179ea9-7a3d-4717-a32d-8f19d2752b40_1000x357.png 848w, https://substackcdn.com/image/fetch/$s_!LfZS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3179ea9-7a3d-4717-a32d-8f19d2752b40_1000x357.png 1272w, https://substackcdn.com/image/fetch/$s_!LfZS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3179ea9-7a3d-4717-a32d-8f19d2752b40_1000x357.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LfZS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3179ea9-7a3d-4717-a32d-8f19d2752b40_1000x357.png" width="1000" height="357" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3179ea9-7a3d-4717-a32d-8f19d2752b40_1000x357.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:357,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:46961,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/176639465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3179ea9-7a3d-4717-a32d-8f19d2752b40_1000x357.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LfZS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3179ea9-7a3d-4717-a32d-8f19d2752b40_1000x357.png 424w, https://substackcdn.com/image/fetch/$s_!LfZS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3179ea9-7a3d-4717-a32d-8f19d2752b40_1000x357.png 848w, https://substackcdn.com/image/fetch/$s_!LfZS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3179ea9-7a3d-4717-a32d-8f19d2752b40_1000x357.png 1272w, https://substackcdn.com/image/fetch/$s_!LfZS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3179ea9-7a3d-4717-a32d-8f19d2752b40_1000x357.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>But here&#8217;s the catch: <strong>Having ideas is easy. </strong>Building AI prototypes is easy. Everyone can do that now.</p><p>What&#8217;s hard? Building the <em>right</em> idea. </p><p>AI gives you speed. Research tells you which direction to sprint. &#128071;</p><div><hr></div><h2>Why research matters now more than ever (if you ask me)</h2><p>We&#8217;re entering an era where anyone can generate interfaces, write code, and ship products faster than ever before. The barrier to <em>building</em> is collapsing.</p><p>But the barrier to building <em>the right thing</em>? That&#8217;s getting higher.</p><p>Think about it: When building something took months, you had natural checkpoints. Budget reviews. Sprint retrospectives. Long development cycles that forced you to validate before investing more time.</p><p>Now? You can build three different versions of your product before lunch. Which one do you choose?</p><p><strong>Research is how you know.</strong></p><p>But here&#8217;s the shift: Research isn&#8217;t something you do once upfront anymore. With AI-powered speed, you can run research in continuous cycles. Talk to users, build fast, test, learn, repeat. The tools have become faster, so your learning cycles should also become faster.</p><p>More cycles means more customer conversations, not fewer.</p><div><hr></div><h2>What research actually means (and doesn&#8217;t)</h2><p>What I mean by &#8220;research skills&#8221;:</p><p><strong>Research means:</strong></p><ul><li><p>Understanding the scenario your user is actually in</p></li><li><p>Knowing what success looks like from their perspective</p></li><li><p>Recognizing patterns across multiple user conversations</p></li><li><p>Identifying the difference between what users say and what they do</p></li><li><p>Testing assumptions before they become costly mistakes</p></li><li><p>Measuring task completion time and success rates</p></li><li><p>Observing actual behavior, not just collecting opinions</p></li><li><p>Testing functionality and core workflows</p></li></ul><p></p><p><strong>Research IS NOT:</strong></p><ul><li><p>Six-month ethnographic studies</p></li><li><p>Hiring a research team</p></li><li><p>Perfect methodology</p></li><li><p>Waiting for &#8220;enough&#8221; data before making decisions</p></li><li><p>Asking 5 people their color preferences and treating it as gospel</p></li><li><p>Letting subjective aesthetic opinions override usability data</p></li><li><p>Confusing &#8220;I don&#8217;t like it&#8221; with &#8220;I can&#8217;t use it&#8221;</p></li><li><p>Making decisions based on preference instead of performance</p></li></ul><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yEl8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ba9f7c-026f-4044-a0db-c28f9a1e8cf2_1512x743.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yEl8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ba9f7c-026f-4044-a0db-c28f9a1e8cf2_1512x743.png 424w, https://substackcdn.com/image/fetch/$s_!yEl8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ba9f7c-026f-4044-a0db-c28f9a1e8cf2_1512x743.png 848w, https://substackcdn.com/image/fetch/$s_!yEl8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ba9f7c-026f-4044-a0db-c28f9a1e8cf2_1512x743.png 1272w, https://substackcdn.com/image/fetch/$s_!yEl8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ba9f7c-026f-4044-a0db-c28f9a1e8cf2_1512x743.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yEl8!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ba9f7c-026f-4044-a0db-c28f9a1e8cf2_1512x743.png" width="1200" height="589.2857142857143" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38ba9f7c-026f-4044-a0db-c28f9a1e8cf2_1512x743.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:715,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:139527,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/176639465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ba9f7c-026f-4044-a0db-c28f9a1e8cf2_1512x743.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yEl8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ba9f7c-026f-4044-a0db-c28f9a1e8cf2_1512x743.png 424w, https://substackcdn.com/image/fetch/$s_!yEl8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ba9f7c-026f-4044-a0db-c28f9a1e8cf2_1512x743.png 848w, https://substackcdn.com/image/fetch/$s_!yEl8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ba9f7c-026f-4044-a0db-c28f9a1e8cf2_1512x743.png 1272w, https://substackcdn.com/image/fetch/$s_!yEl8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ba9f7c-026f-4044-a0db-c28f9a1e8cf2_1512x743.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>The &#8220;5 people don&#8217;t like orange&#8221; trap</h2><p>Here&#8217;s a research anti-pattern I see constantly:</p><p>Your team has used blue as the primary brand color for 10 years. You introduce a new, vibrant orange. The research team interviews 5 people. Three people say, &#8220;I don&#8217;t like the orange.&#8221;</p><p>Now you think it is time to revert to blue.</p><p><strong>This is not research. This is an opinion collection. &#128524;</strong></p><p>A better way is to ask:</p><ul><li><p>&#8220;Complete these three tasks using the new interface. How long did it take?&#8221;</p></li><li><p>&#8220;Can you find the primary action button on this screen?&#8221;</p></li><li><p>&#8220;Which version helps you complete your goal faster?&#8221;</p></li></ul><p>The answers might be:</p><ul><li><p>Task completion: 30% faster with orange (higher contrast, better visibility)</p></li><li><p>Button findability: 95% success rate vs 60% with blue</p></li><li><p>Goal completion: Same speed, but fewer errors with orange</p></li></ul><p></p><p>Oh, and we all know that users don&#8217;t like change. That&#8217;s not data, that&#8217;s human nature.<strong> </strong></p><p>What matters is: Can they use it? Does it work better? Do they complete tasks successfully? So, we need to understand what it is like to be our user. Not what we <em>think</em> it&#8217;s like. Not what the AI <em>assumes</em> it&#8217;s like. What it&#8217;s actually like.</p><p></p><p>I really liked the podcast episode on <a href="https://www.lennysnewsletter.com/">Lenny</a>&#8217;s show about &#8220;dogfooding&#8221; your own product, where <strong>Sachin Kansal, Chief Product Officer at Uber, </strong>shares how he uses their own product and then shares the feedback with his team. This isn&#8217;t a formal research study. It&#8217;s how he uses the Uber app, noticing patterns, understanding the context. That&#8217;s research. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Amfb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e4cbbe-b2ea-4c71-9d82-792f96d403ee_1000x313.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Amfb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e4cbbe-b2ea-4c71-9d82-792f96d403ee_1000x313.png 424w, https://substackcdn.com/image/fetch/$s_!Amfb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e4cbbe-b2ea-4c71-9d82-792f96d403ee_1000x313.png 848w, https://substackcdn.com/image/fetch/$s_!Amfb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e4cbbe-b2ea-4c71-9d82-792f96d403ee_1000x313.png 1272w, https://substackcdn.com/image/fetch/$s_!Amfb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e4cbbe-b2ea-4c71-9d82-792f96d403ee_1000x313.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Amfb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e4cbbe-b2ea-4c71-9d82-792f96d403ee_1000x313.png" width="1000" height="313" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/54e4cbbe-b2ea-4c71-9d82-792f96d403ee_1000x313.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:313,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45278,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/176639465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e4cbbe-b2ea-4c71-9d82-792f96d403ee_1000x313.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Amfb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e4cbbe-b2ea-4c71-9d82-792f96d403ee_1000x313.png 424w, https://substackcdn.com/image/fetch/$s_!Amfb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e4cbbe-b2ea-4c71-9d82-792f96d403ee_1000x313.png 848w, https://substackcdn.com/image/fetch/$s_!Amfb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e4cbbe-b2ea-4c71-9d82-792f96d403ee_1000x313.png 1272w, https://substackcdn.com/image/fetch/$s_!Amfb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e4cbbe-b2ea-4c71-9d82-792f96d403ee_1000x313.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Another great example is Nikita Bier, CPO at X. He is constantly in conversation with users on X. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Lynm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e0c85d-ed2e-4495-9e37-be0e9392cffb_1000x313.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Lynm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e0c85d-ed2e-4495-9e37-be0e9392cffb_1000x313.png 424w, https://substackcdn.com/image/fetch/$s_!Lynm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e0c85d-ed2e-4495-9e37-be0e9392cffb_1000x313.png 848w, https://substackcdn.com/image/fetch/$s_!Lynm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e0c85d-ed2e-4495-9e37-be0e9392cffb_1000x313.png 1272w, https://substackcdn.com/image/fetch/$s_!Lynm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e0c85d-ed2e-4495-9e37-be0e9392cffb_1000x313.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Lynm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e0c85d-ed2e-4495-9e37-be0e9392cffb_1000x313.png" width="1000" height="313" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5e0c85d-ed2e-4495-9e37-be0e9392cffb_1000x313.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:313,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49790,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/176639465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e0c85d-ed2e-4495-9e37-be0e9392cffb_1000x313.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Lynm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e0c85d-ed2e-4495-9e37-be0e9392cffb_1000x313.png 424w, https://substackcdn.com/image/fetch/$s_!Lynm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e0c85d-ed2e-4495-9e37-be0e9392cffb_1000x313.png 848w, https://substackcdn.com/image/fetch/$s_!Lynm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e0c85d-ed2e-4495-9e37-be0e9392cffb_1000x313.png 1272w, https://substackcdn.com/image/fetch/$s_!Lynm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e0c85d-ed2e-4495-9e37-be0e9392cffb_1000x313.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Now think about your story</strong></p><p>Research isn&#8217;t just collecting data points. It&#8217;s understanding the human story behind every interaction. When a developer says, &#8220;The documentation is confusing,&#8221; there&#8217;s a story there. Maybe it&#8217;s 11 pm, they&#8217;re on deadline, and they can&#8217;t find the answer they need. That frustration is real. That context matters.</p><p>When you understand the story, you build with empathy. When you know the emotion, you design solutions that actually help.</p><p>And this skill doesn&#8217;t scale with AI. It can&#8217;t be automated. However, we can complete many tasks waaaaay faster due to the numerous AI tools available. </p><div><hr></div><h2>AI tools</h2><p>The tools I use the most for research are: </p><ul><li><p><strong>Dovetail AI: </strong>unify feedback across GTM, CX, and Product</p></li><li><p><strong>Claude: </strong>research, prototypes, analysis</p></li><li><p><strong>Perplexity: </strong>deep research </p></li><li><p><strong>Miro: </strong>has lots of helpful AI features </p></li><li><p><strong>Riverside:</strong> recording interviews and getting transcriptions immediately</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DkHt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2418a6-3132-46cd-9819-a3b239de0076_1512x354.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DkHt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2418a6-3132-46cd-9819-a3b239de0076_1512x354.png 424w, https://substackcdn.com/image/fetch/$s_!DkHt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2418a6-3132-46cd-9819-a3b239de0076_1512x354.png 848w, https://substackcdn.com/image/fetch/$s_!DkHt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2418a6-3132-46cd-9819-a3b239de0076_1512x354.png 1272w, https://substackcdn.com/image/fetch/$s_!DkHt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2418a6-3132-46cd-9819-a3b239de0076_1512x354.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DkHt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2418a6-3132-46cd-9819-a3b239de0076_1512x354.png" width="1456" height="341" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f2418a6-3132-46cd-9819-a3b239de0076_1512x354.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:341,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:43651,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/176639465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2418a6-3132-46cd-9819-a3b239de0076_1512x354.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DkHt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2418a6-3132-46cd-9819-a3b239de0076_1512x354.png 424w, https://substackcdn.com/image/fetch/$s_!DkHt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2418a6-3132-46cd-9819-a3b239de0076_1512x354.png 848w, https://substackcdn.com/image/fetch/$s_!DkHt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2418a6-3132-46cd-9819-a3b239de0076_1512x354.png 1272w, https://substackcdn.com/image/fetch/$s_!DkHt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f2418a6-3132-46cd-9819-a3b239de0076_1512x354.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h2>How AI amplifies research </h2><p><strong>1. Prompts</strong></p><p>Give an AI a vague prompt, and it fills in the gaps with the most statistically likely answer based on its training data. </p><p>Your research defines the prompt. Without it, you&#8217;re designing for &#8220;the average user&#8221; who doesn&#8217;t exist.</p><p></p><p><strong>2. Speed requires better judgment</strong></p><p>When you could only build three iterations in a month, you had time to validate between each one. Now you can build three iterations before your first coffee break.</p><p>This speed is powerful if you know which direction to sprint. Catastrophic if you don&#8217;t.</p><p></p><p><strong>3. Customization demands understanding</strong></p><p>One of the most exciting aspects of AI is its ability to create customized experiences at scale. Personalized interfaces. Adaptive workflows. Context-specific features.</p><p>But personalization requires knowing:</p><ul><li><p>What context actually matters to your users</p></li><li><p>What variations will be meaningful vs. annoying</p></li><li><p>When consistency matters more than customization</p></li></ul><p>Again: Research tells you these things. AI executes them.</p><p></p><p><strong>4. AI accelerates research</strong></p><p>Here&#8217;s what AI does brilliantly:</p><ul><li><p>Synthesize 50 interview transcripts in minutes instead of days</p></li><li><p>Identify patterns across hundreds of customer feedback tickets</p></li><li><p>Analyze usage data and surface anomalies</p></li><li><p>Generate research questions and discussion guides</p></li><li><p>Transcribe and tag qualitative data at scale</p></li></ul><p>However, don&#8217;t expect AI to:</p><ul><li><p>Notice the hesitation in someone&#8217;s voice when they say &#8220;it&#8217;s fine&#8221;</p></li><li><p>Watching the recorded interviews and observing the face, gestures </p></li><li><p>Ask the follow-up question that reveals the real problem</p></li><li><p>Build the trust that makes users share honest feedback</p></li><li><p>Catch the unexpected insight that wasn&#8217;t in your question list</p></li><li><p>Understand the context that numbers alone can&#8217;t capture</p><p></p></li></ul><div><hr></div><h2>The research skills you need right now</h2><p><strong>1. Ask better questions</strong></p><p>Stop asking: &#8220;What features do you want?&#8221;<br>Start asking: &#8220;Walk me through the last time you tried to [do the task].&#8221;</p><p>Stop asking: &#8220;Is this design good?&#8221;<br>Start asking: &#8220;What would you do next? Why?&#8221;</p><p>The quality of your insights is directly proportional to the quality of your questions.</p><p><strong>2. Recognize patterns</strong></p><p>Talk to five users, and you&#8217;ll see patterns. Talk to ten, and those patterns will be obvious. Talk to fifteen, and you&#8217;ll start seeing the exceptions that prove the rule.</p><p>You don&#8217;t need statistical significance. You need pattern recognition.</p><p><strong>3. Test assumptions early</strong></p><p>Your design system assumes designers will read documentation. <em>Have you tested that?</em></p><p>Your component library assumes developers understand semantic HTML. <em>Have you verified that?</em></p><p>Your design tokens assume teams understand how to implement and use them. <em>Do they?</em></p><p>Every assumption is an opportunity to be wrong. &#129760;</p><div><hr></div><h2>The continuous research cycle: not a funnel, a loop</h2><p>Research is a practice. You do it continuously, in tight cycles. I see it in the form of a <strong>shell</strong>, constantly spiraling. You talk to users, build fast with AI, test, learn, and speak to users again. Each conversation informs the next iteration. Each build reveals new questions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BXU3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770e99f9-bd0e-4541-a3e6-8234045354d5_1512x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BXU3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770e99f9-bd0e-4541-a3e6-8234045354d5_1512x670.png 424w, https://substackcdn.com/image/fetch/$s_!BXU3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770e99f9-bd0e-4541-a3e6-8234045354d5_1512x670.png 848w, https://substackcdn.com/image/fetch/$s_!BXU3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770e99f9-bd0e-4541-a3e6-8234045354d5_1512x670.png 1272w, https://substackcdn.com/image/fetch/$s_!BXU3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770e99f9-bd0e-4541-a3e6-8234045354d5_1512x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BXU3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770e99f9-bd0e-4541-a3e6-8234045354d5_1512x670.png" width="1456" height="645" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/770e99f9-bd0e-4541-a3e6-8234045354d5_1512x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:645,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:151048,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/176639465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770e99f9-bd0e-4541-a3e6-8234045354d5_1512x670.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BXU3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770e99f9-bd0e-4541-a3e6-8234045354d5_1512x670.png 424w, https://substackcdn.com/image/fetch/$s_!BXU3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770e99f9-bd0e-4541-a3e6-8234045354d5_1512x670.png 848w, https://substackcdn.com/image/fetch/$s_!BXU3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770e99f9-bd0e-4541-a3e6-8234045354d5_1512x670.png 1272w, https://substackcdn.com/image/fetch/$s_!BXU3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F770e99f9-bd0e-4541-a3e6-8234045354d5_1512x670.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Why do design system teams also need research?</h2><p>If you&#8217;re working on a design system, research skills aren&#8217;t optional; they&#8217;re your <strong>competitive advantage.</strong></p><p>Why? Because design systems are:</p><ul><li><p><strong>Used by teams, not end users:</strong> You need to research how your actual users (designers and developers) work</p></li><li><p><strong>Complex to implement:</strong> Small UX friction in your system gets multiplied across every team using it</p></li><li><p><strong>Hard to measure:</strong> Without research, you&#8217;ll struggle to prove value or identify improvement areas</p><p></p></li></ul><p>Questions you should be researching:</p><ul><li><p>How do teams actually discover components in your library?</p></li><li><p>What stops developers from using your design tokens?</p></li><li><p>Where does documentation fall short?</p></li><li><p>What patterns keep appearing across multiple product teams?</p></li></ul><p>I actually wrote <strong><a href="https://thedesignsystem.guide/design-system-research-interview-questions">a list of questions for you to go through. &#8594;</a></strong></p><p></p><p><strong>Some practical suggestions </strong>(if you are just starting):</p><ul><li><p>Send the survey &#8594; evaluate the answers</p></li><li><p>Interview 3 designers, 3 developers; Observe how they use the design system (or UI kit in Figma)</p></li><li><p>Ask product teams what patterns they&#8217;re building outside the system</p></li><li><p>Test a new component with actual users before adding to the library</p></li></ul><div><hr></div><h2>The bottom line</h2><ul><li><p>&#9989; AI tools are incredible force multipliers when pointed in the right direction</p></li><li><p>&#9989; Small research investments prevent large execution waste</p></li><li><p>&#9989; Research skills make you more valuable in an AI-powered world</p><p></p></li></ul><p>The companies that win won&#8217;t be the ones who build fastest. They&#8217;ll be the ones who<strong> learn fastest.</strong></p><p></p><p>Stay tuned for more and enjoy talking to your users, &#9889;&#65039;<br><em>Romina</em></p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>&#10024; TokenForge (new Figma plugin for Figma Variables)</strong></p><p>I had the opportunity to test and try the latest plugin for exporting variables. Lots of options, easy to use. </p><p><strong>&#128279; <a href="https://www.figma.com/community/plugin/1566133735926608173/tokenforge">Link</a></strong></p><p></p><p><strong>Cursor Agents </strong></p><p>You can now manage cloud agents from your Cursor editor, and access them from anywhere using a significantly improved cursor.com/agents.</p><p><strong>&#128279; <a href="https://cursor.com/blog/cloud-agents">Link</a></strong></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Why your design system team need Claude Skills]]></title><description><![CDATA[Setup guide with useful templates and examples]]></description><link>https://learn.thedesignsystem.guide/p/why-your-design-system-team-need</link><guid isPermaLink="false">https://learn.thedesignsystem.guide/p/why-your-design-system-team-need</guid><dc:creator><![CDATA[Romina Kavcic]]></dc:creator><pubDate>Fri, 31 Oct 2025 08:28:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hfid!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: <a href="https://thedesignsystem.guide/design-tokens-course">Design Tokens Mastery Course</a> / <a href="https://www.youtube.com/@designsystemguide">YouTube</a> / <a href="https://www.linkedin.com/in/rominakavcic/">My Linkedin</a></p><p><em>I&#8217;m not affiliated with or sponsored by any companies mentioned. Everything shared here is based on what I&#8217;ve learned and tested firsthand.</em></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hfid!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hfid!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!hfid!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!hfid!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!hfid!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hfid!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1017023,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/177632613?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hfid!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png 424w, https://substackcdn.com/image/fetch/$s_!hfid!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png 848w, https://substackcdn.com/image/fetch/$s_!hfid!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png 1272w, https://substackcdn.com/image/fetch/$s_!hfid!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24758dfa-e759-4c93-9684-8925c6c393e3_1456x970.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You explain your token architecture to Claude.<br>Next conversation? You explain it again from scratch.</p><p>You ask Claude to sync tokens to Airtable.<br>Ten minutes of back-and-forth explaining your structure. Every. Single. Time.</p><p>Now you don&#8217;t have to repeat yourself anymore, because <strong>Claude introduced Skills. Skills remember the way you work, your calculations, can load context whenever needed, and act like your assistant. </strong></p><p></p><h3>What you&#8217;ll learn in this article:</h3><ul><li><p>Why Claude Skills solves the &#8220;context pollution&#8221; problem that makes AI hallucinate data</p></li><li><p>How Skills differ from Projects and Sub-Agents (and when to use each)</p></li><li><p>Three design system use cases: token validation, accessibility audits, and documentation generation</p></li><li><p>How to combine Skills with MCP servers for external tool access</p></li><li><p>How to build your first design system Skill in minutes</p></li></ul><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IEuw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59ac75f-3aef-400e-9426-10ff0cbc58ae_1512x982.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IEuw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59ac75f-3aef-400e-9426-10ff0cbc58ae_1512x982.png 424w, https://substackcdn.com/image/fetch/$s_!IEuw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59ac75f-3aef-400e-9426-10ff0cbc58ae_1512x982.png 848w, https://substackcdn.com/image/fetch/$s_!IEuw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59ac75f-3aef-400e-9426-10ff0cbc58ae_1512x982.png 1272w, https://substackcdn.com/image/fetch/$s_!IEuw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59ac75f-3aef-400e-9426-10ff0cbc58ae_1512x982.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IEuw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59ac75f-3aef-400e-9426-10ff0cbc58ae_1512x982.png" width="728" height="473" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b59ac75f-3aef-400e-9426-10ff0cbc58ae_1512x982.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:946,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:130778,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/177632613?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59ac75f-3aef-400e-9426-10ff0cbc58ae_1512x982.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IEuw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59ac75f-3aef-400e-9426-10ff0cbc58ae_1512x982.png 424w, https://substackcdn.com/image/fetch/$s_!IEuw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59ac75f-3aef-400e-9426-10ff0cbc58ae_1512x982.png 848w, https://substackcdn.com/image/fetch/$s_!IEuw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59ac75f-3aef-400e-9426-10ff0cbc58ae_1512x982.png 1272w, https://substackcdn.com/image/fetch/$s_!IEuw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59ac75f-3aef-400e-9426-10ff0cbc58ae_1512x982.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>What are Claude Skills? </h2><p>A Skill is a markdown file (or more of them) that teaches Claude how to do something specific, plus optional scripts and reference files. </p><p>You can use them across <strong>Claude apps, Claude Code, and our API. </strong></p><p>Skills are available to Pro, Max, Team, and Enterprise users.</p><p><strong>What makes Skills different:</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0O1b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ec0ded-31d1-4298-94c7-0387f591838e_2880x1145.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0O1b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ec0ded-31d1-4298-94c7-0387f591838e_2880x1145.png 424w, https://substackcdn.com/image/fetch/$s_!0O1b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ec0ded-31d1-4298-94c7-0387f591838e_2880x1145.png 848w, https://substackcdn.com/image/fetch/$s_!0O1b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ec0ded-31d1-4298-94c7-0387f591838e_2880x1145.png 1272w, https://substackcdn.com/image/fetch/$s_!0O1b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ec0ded-31d1-4298-94c7-0387f591838e_2880x1145.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0O1b!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ec0ded-31d1-4298-94c7-0387f591838e_2880x1145.png" width="1200" height="477.1978021978022" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0ec0ded-31d1-4298-94c7-0387f591838e_2880x1145.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:579,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:129798,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/177632613?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ec0ded-31d1-4298-94c7-0387f591838e_2880x1145.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0O1b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ec0ded-31d1-4298-94c7-0387f591838e_2880x1145.png 424w, https://substackcdn.com/image/fetch/$s_!0O1b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ec0ded-31d1-4298-94c7-0387f591838e_2880x1145.png 848w, https://substackcdn.com/image/fetch/$s_!0O1b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ec0ded-31d1-4298-94c7-0387f591838e_2880x1145.png 1272w, https://substackcdn.com/image/fetch/$s_!0O1b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ec0ded-31d1-4298-94c7-0387f591838e_2880x1145.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This matters because of something researchers call &#8220;context pollution.&#8221; When you load too much information into an AI conversation, performance degrades and hallucinations increase.</p><p>Skills solve this by loading context ONLY when needed for the specific task.</p><p></p><p><strong>&#128588; One simple example. </strong>Imagine you ask Claude to audit your component library for accessibility issues. You can&#8217;t rely on the LLM to &#8220;interpret&#8221; what to do. You need deterministic scripts that run the same way every time.</p><p>Skills let you combine:</p><ul><li><p>Claude&#8217;s intelligence (understanding context and user intent)</p></li><li><p>Python/JavaScript scripts (accurate, repeatable calculations)</p></li><li><p>Your domain expertise (design system rules and constraints)</p></li></ul><p></p><h3>Skills vs Projects</h3><p>You might be thinking: &#8220;Can&#8217;t I just use Claude Projects with custom instructions?&#8221;</p><p><strong>Skills are for workflows. Projects are for contexts.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!slb4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78d9f59-5d14-4bae-8648-288023021fab_2880x1293.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!slb4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78d9f59-5d14-4bae-8648-288023021fab_2880x1293.png 424w, https://substackcdn.com/image/fetch/$s_!slb4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78d9f59-5d14-4bae-8648-288023021fab_2880x1293.png 848w, https://substackcdn.com/image/fetch/$s_!slb4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78d9f59-5d14-4bae-8648-288023021fab_2880x1293.png 1272w, https://substackcdn.com/image/fetch/$s_!slb4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78d9f59-5d14-4bae-8648-288023021fab_2880x1293.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!slb4!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78d9f59-5d14-4bae-8648-288023021fab_2880x1293.png" width="1200" height="539.010989010989" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f78d9f59-5d14-4bae-8648-288023021fab_2880x1293.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:654,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:363236,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/177632613?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78d9f59-5d14-4bae-8648-288023021fab_2880x1293.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!slb4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78d9f59-5d14-4bae-8648-288023021fab_2880x1293.png 424w, https://substackcdn.com/image/fetch/$s_!slb4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78d9f59-5d14-4bae-8648-288023021fab_2880x1293.png 848w, https://substackcdn.com/image/fetch/$s_!slb4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78d9f59-5d14-4bae-8648-288023021fab_2880x1293.png 1272w, https://substackcdn.com/image/fetch/$s_!slb4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78d9f59-5d14-4bae-8648-288023021fab_2880x1293.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Use Skills for &#8220;how to audit components, sync tokens, write docs.&#8221;<br>Use Projects for &#8220;what we&#8217;re working on: redesigning checkout, migrating tokens.&#8221;</p><p>They complement each other. A Project might use multiple Skills automatically.</p><div><hr></div><h2>Five design system Skills you can build today</h2><p></p><h3>1. Design token naming helper</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WKos!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba6696a-8b4c-4dc5-b64a-ca4523c6137f_1512x367.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WKos!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba6696a-8b4c-4dc5-b64a-ca4523c6137f_1512x367.png 424w, https://substackcdn.com/image/fetch/$s_!WKos!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba6696a-8b4c-4dc5-b64a-ca4523c6137f_1512x367.png 848w, https://substackcdn.com/image/fetch/$s_!WKos!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba6696a-8b4c-4dc5-b64a-ca4523c6137f_1512x367.png 1272w, https://substackcdn.com/image/fetch/$s_!WKos!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba6696a-8b4c-4dc5-b64a-ca4523c6137f_1512x367.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WKos!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba6696a-8b4c-4dc5-b64a-ca4523c6137f_1512x367.png" width="1456" height="353" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aba6696a-8b4c-4dc5-b64a-ca4523c6137f_1512x367.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:353,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83680,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/177632613?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba6696a-8b4c-4dc5-b64a-ca4523c6137f_1512x367.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!WKos!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba6696a-8b4c-4dc5-b64a-ca4523c6137f_1512x367.png 424w, https://substackcdn.com/image/fetch/$s_!WKos!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba6696a-8b4c-4dc5-b64a-ca4523c6137f_1512x367.png 848w, https://substackcdn.com/image/fetch/$s_!WKos!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba6696a-8b4c-4dc5-b64a-ca4523c6137f_1512x367.png 1272w, https://substackcdn.com/image/fetch/$s_!WKos!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba6696a-8b4c-4dc5-b64a-ca4523c6137f_1512x367.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>The problem:</strong> Naming tokens consistently is hard. Your team debates whether it should be <code>color-accent-primary</code> or <code>primary-accent-color</code>. New tokens don&#8217;t follow existing patterns. Naming becomes inconsistent across your system.</p><p>I already created&nbsp;<strong><a href="https://namedesigntokens.guide/">namedesign tokens.guide</a></strong>, but now I wanted to apply the same knowledge inside Skills as well, so that I can utilize it whenever I use Claude. </p><p><strong>The solution:</strong> This Skill enforces your token naming structure and suggests names based on your established patterns.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!veNU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328cfe92-b014-4798-beb0-443d34fa0356_1512x565.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!veNU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328cfe92-b014-4798-beb0-443d34fa0356_1512x565.png 424w, https://substackcdn.com/image/fetch/$s_!veNU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328cfe92-b014-4798-beb0-443d34fa0356_1512x565.png 848w, https://substackcdn.com/image/fetch/$s_!veNU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328cfe92-b014-4798-beb0-443d34fa0356_1512x565.png 1272w, https://substackcdn.com/image/fetch/$s_!veNU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328cfe92-b014-4798-beb0-443d34fa0356_1512x565.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!veNU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328cfe92-b014-4798-beb0-443d34fa0356_1512x565.png" width="1456" height="544" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/328cfe92-b014-4798-beb0-443d34fa0356_1512x565.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:544,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:123643,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/177632613?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328cfe92-b014-4798-beb0-443d34fa0356_1512x565.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!veNU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328cfe92-b014-4798-beb0-443d34fa0356_1512x565.png 424w, https://substackcdn.com/image/fetch/$s_!veNU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328cfe92-b014-4798-beb0-443d34fa0356_1512x565.png 848w, https://substackcdn.com/image/fetch/$s_!veNU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328cfe92-b014-4798-beb0-443d34fa0356_1512x565.png 1272w, https://substackcdn.com/image/fetch/$s_!veNU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F328cfe92-b014-4798-beb0-443d34fa0356_1512x565.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>SKILL.md structure:</strong></p><pre><code>---
name: token-naming-helper
description: Generate consistent design token names following the component-category-role-state structure
---

# Token Naming Structure

## Naming Pattern

&#10145;&#65039; ADD YOUR OWN STRUCTURE HERE 

{component}-{category}-{role}-{state}

## Required Elements (All Four Required)
- **Component**: UI element (button, input, card, modal, nav)
- **Category**: Property type (background, text, border, icon, shadow, spacing, size)
- **Role**: Variant/emphasis (primary, secondary, weak, strong, error, success, warning, info)
- **State**: Interactive state (default, hover, active, focused, disabled, selected)

## Order Matters
Always follow: component &#8594; category &#8594; role &#8594; state

## Real Examples
{
  &#8220;input-background-primary-default&#8221;: &#8220;#FFFFFF&#8221;,
  &#8220;input-background-primary-focused&#8221;: &#8220;#FAFAFA&#8221;,
  &#8220;input-border-primary-default&#8221;: &#8220;#E0E0E0&#8221;,
  &#8220;input-border-primary-hover&#8221;: &#8220;#BDBDBD&#8221;,
  &#8220;input-border-primary-focused&#8221;: &#8220;#2196F3&#8221;,
  &#8220;input-border-error-focused&#8221;: &#8220;#F44336&#8221;
}</code></pre><p>Decision Tree</p><ol><li><p>What component? &#8594; button, input, card</p></li><li><p>What property? &#8594; background, text, border</p></li><li><p>What variant/role? &#8594; primary, secondary, error</p></li><li><p>What state? &#8594; default, hover, focused</p></li></ol><p></p><p><strong>Result:</strong> &#8220;Name a token for primary button hover background&#8221; returns <code>button-background-primary-hover</code>. &#8220;What should I call the error state for input borders when focused?&#8221; returns <code>input-border-error-focused</code>. Consistent naming, every time.</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DxFo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F972cd78e-b3e2-469b-9744-0ad19c728346_1512x879.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DxFo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F972cd78e-b3e2-469b-9744-0ad19c728346_1512x879.png 424w, https://substackcdn.com/image/fetch/$s_!DxFo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F972cd78e-b3e2-469b-9744-0ad19c728346_1512x879.png 848w, https://substackcdn.com/image/fetch/$s_!DxFo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F972cd78e-b3e2-469b-9744-0ad19c728346_1512x879.png 1272w, https://substackcdn.com/image/fetch/$s_!DxFo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F972cd78e-b3e2-469b-9744-0ad19c728346_1512x879.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DxFo!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F972cd78e-b3e2-469b-9744-0ad19c728346_1512x879.png" width="1200" height="697.2527472527472" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/972cd78e-b3e2-469b-9744-0ad19c728346_1512x879.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:846,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:107107,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/177632613?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F972cd78e-b3e2-469b-9744-0ad19c728346_1512x879.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DxFo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F972cd78e-b3e2-469b-9744-0ad19c728346_1512x879.png 424w, https://substackcdn.com/image/fetch/$s_!DxFo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F972cd78e-b3e2-469b-9744-0ad19c728346_1512x879.png 848w, https://substackcdn.com/image/fetch/$s_!DxFo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F972cd78e-b3e2-469b-9744-0ad19c728346_1512x879.png 1272w, https://substackcdn.com/image/fetch/$s_!DxFo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F972cd78e-b3e2-469b-9744-0ad19c728346_1512x879.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>2. Design token validator</h3><p><strong>The problem:</strong> Manual validation takes 30 minutes every time you update tokens, especially if your tokens are stored in multiple locations.</p><p><strong>What it validates:</strong></p><ul><li><p>All references resolve correctly ({Light.semantic.primary} &#8594; {Core.blue.500} &#8594; <a href="app://obsidian.md/index.html#0969DA">#0969DA</a>)</p></li><li><p>No circular references</p></li><li><p>Naming follows convention (category-concept-variant-state)</p></li><li><p>Semantic tokens exist in both light and dark modes</p></li></ul><p><strong>SKILL.md structure:</strong></p><pre><code>
name: design-token-validator
description: Validate design tokens in Core.json and Modes files for consistency, circular references, and correct resolution to hex values


# Design Token Validation

## Token Structure
- Core.json: Base hex values organized by color families
- Modes/Light.json: Semantic tokens referencing Core
- Modes/Dark.json: Dark mode semantic tokens

## Validation Steps
1. Check JSON syntax is valid
2. Verify all token references resolve to hex values
3. Detect circular references
4. Confirm naming convention: {File.category.concept.variant}
5. Check light/dark parity (same semantic tokens in both modes)

## Scripts
Run: scripts/validate-tokens.js
Returns: List of errors with file:line numbers</code></pre><p><strong>Result:</strong> &#8220;Validate our design tokens&#8221; now takes 10 seconds. Script does mechanical checking. Claude explains what&#8217;s wrong and suggests fixes.</p><p><strong>Critical setup:</strong> To push validated tokens to GitHub, install the GitHub MCP server <strong>BEFORE</strong> adding this Skill.</p><p></p><h3>3. Accessibility audit with deterministic checks</h3><p><strong>The problem:</strong> Claude&#8217;s accessibility reports can appear accurate, but the contrast ratios may be incorrect. </p><p><strong>The solution:</strong> Python scripts calculate actual contrast ratios, touch target sizes, and heading hierarchy. Playwright checks keyboard navigation programmatically. Claude interprets accurate data and provides remediation.</p><pre><code># Calculate actual contrast ratio, no LLM guessing
def calculate_contrast(color1_hex, color2_hex):
    rgb1 = hex_to_rgb(color1_hex)
    rgb2 = hex_to_rgb(color2_hex)
    l1 = relative_luminance(rgb1)
    l2 = relative_luminance(rgb2)
    return (max(l1, l2) + 0.05) / (min(l1, l2) + 0.05)

# Returns: 4.52 (passes WCAG AA for normal text)</code></pre><p><strong>Key sections:</strong></p><pre><code>## Accessibility Requirements
- Keyboard navigation (Tab, Enter, Space, Escape)
- ARIA labels and live regions
- Focus states with 3:1 contrast minimum
- Color contrast WCAG AA 4.5:1

## Theming Checks
- Uses design tokens exclusively (no hardcoded values)
- Light/dark mode support verified
- High contrast mode tested
- Respects prefers-reduced-motion

## Responsive Design
- Mobile (320-767px): Touch targets 44x44px minimum
- Tablet (768-1023px): Layout adapts smoothly
- Desktop (1024px+): Full feature set</code></pre><h3>4. Component documentation generator</h3><p><strong>The problem:</strong> You need to document components. Writing manually is repetitive. Team members write in different styles, making docs feel disjointed.</p><p><strong>The solution:</strong> Generates complete component documentation following your exact structure and writing style. Every doc sounds like it came from the same person. </p><p><strong>SKILL.md structure:</strong></p><pre><code>
name: component-doc-generator
description: Generate standardized component documentation following our design system structure, tone, and writing guidelines


# Component Documentation Structure

## Standard Sections
1. Component Name &amp; Description (one sentence)
2. When to Use (2-3 bullets)
3. When NOT to Use (2-3 bullets - prevents misuse)
4. Add your own 

## Writing Guidelines
Describe here

## Reference Files
- Add examples for 3 complete component docs (Button, Input, Modal)
- Check token-reference.md for available design tokens
- See bad-examples.md for common documentation mistakes to avoid</code></pre><p>Additionally, you can find more inspiration for documentation in this article:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bf11014e-773e-46b2-a79e-a086e0f78327&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Documentation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-17T08:58:02.536Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!9dDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe9c6aa2-4c25-47ea-8c50-3c5d2d786ca1_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-documentation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176234757,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:57,&quot;comment_count&quot;:2,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><h3>5. Brand guidelines enforcer</h3><p><strong>The problem:</strong> Claude generates content or components that don&#8217;t follow your brand rules. You spend time correcting colors, spacing, typography, or tone.</p><p><strong>The solution:</strong> This Skill applies your brand rules automatically to any design or content Claude generates.</p><p><strong>What to include in SKILL.md:</strong></p><ul><li><p>Brand color palette with hex values</p></li><li><p>Typography scale and font families</p></li><li><p>Spacing system (8px grid, 4px compact)</p></li><li><p>Border radius values (0px, 4px, 8px, 16px)</p></li><li><p>Shadow elevations (sm, md, lg)</p></li><li><p>Motion duration and easing curves</p></li><li><p>Logo usage rules (clear space, minimum sizes)</p></li><li><p>Tone of voice guidelines</p></li></ul><p><strong>Result:</strong> Claude applies these automatically when generating components, documentation, or marketing materials. Every output matches your brand.</p><div><hr></div><h2>Why design systems need Skills (not just Projects)</h2><p><strong>The core problem:</strong> Design system work is repetitive by design. You&#8217;re constantly:</p><ul><li><p>Explaining your token naming conventions</p></li><li><p>Describing your component architecture</p></li><li><p>Defining your documentation structure</p></li><li><p>Outlining your accessibility requirements</p></li><li><p>Specifying your brand guidelines</p></li></ul><p><strong>Before Skills:</strong> Copy-paste your guidelines into every conversation. Explain from scratch. Hope Claude interprets correctly.</p><p><strong>After Skills:</strong> Document patterns once in a structured format. Claude automatically recognizes when to use them.</p><p>No more &#8220;Here&#8217;s how our tokens work&#8221; every time.<br>No more copying brand guidelines into every prompt.<br>No more re-explaining your component audit checklist.</p><p><strong>Think of Skills like training a junior employee:</strong></p><ul><li><p>Give them specific instructions (skill.md)</p></li><li><p>Reference materials they can look up when needed (not everything at once)</p></li><li><p>Tools/scripts to do their job accurately (Python for calculations)</p></li><li><p>Clear boundaries on what they should do (no guessing)</p></li></ul><p></p><div><hr></div><h2>Skills + MCP = Actual magic</h2><p>Here&#8217;s where it gets powerful: Skills can call MCP servers to access external tools.</p><p><strong>Essential MCP servers for design systems:</strong></p><ol><li><p><strong>Figma MCP</strong> - Read designs, specs, tokens, components</p></li><li><p><strong>GitHub MCP</strong> - Code review, token sync, PR automation</p></li><li><p><strong>Mintlify MCP</strong> - Documentation lookup in your editor</p></li><li><p><strong>PostHog MCP</strong> - Component analytics and adoption data</p></li><li><p><strong>Slack MCP</strong> - Track design decisions in conversations</p></li></ol><p><strong>Critical order of operations:</strong></p><ol><li><p>Install MCP servers first <strong>&#8252;&#65039;</strong></p></li><li><p>Then create Skills that use them</p></li><li><p>Claude calls MCPs automatically when the Skill needs them</p></li></ol><p>Skills work with MCPs, but MCPs must be available before the Skill can use them.</p><p><strong>Example workflow:</strong></p><ul><li><p>Skill: &#8220;Analyze component adoption&#8221;</p></li><li><p>Uses PostHog MCP to fetch usage data</p></li><li><p>Runs Python script to calculate adoption percentage</p></li><li><p>Uses GitHub MCP to find teams not on latest version</p></li><li><p>Claude interprets results and provides recommendations</p></li></ul><p>However, I will write more about these advanced flows next time. </p><div><hr></div><h2>Let&#8217;s set Skills</h2><p><strong>Before you create Skills, enable them in settings:</strong></p><ol><li><p>Go to <a href="https://claude.ai/settings/features">Settings &#8594; Features</a> in Claude</p></li><li><p>Toggle on &#8220;Skills&#8221; (available for Pro, Max, Team, and Enterprise users)</p></li><li><p>For Team/Enterprise: Admins must enable Skills organization-wide first</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iTQH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8de5169-8013-40f2-a394-945fdc838e2b_1037x554.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iTQH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8de5169-8013-40f2-a394-945fdc838e2b_1037x554.png 424w, https://substackcdn.com/image/fetch/$s_!iTQH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8de5169-8013-40f2-a394-945fdc838e2b_1037x554.png 848w, https://substackcdn.com/image/fetch/$s_!iTQH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8de5169-8013-40f2-a394-945fdc838e2b_1037x554.png 1272w, https://substackcdn.com/image/fetch/$s_!iTQH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8de5169-8013-40f2-a394-945fdc838e2b_1037x554.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iTQH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8de5169-8013-40f2-a394-945fdc838e2b_1037x554.png" width="1037" height="554" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8de5169-8013-40f2-a394-945fdc838e2b_1037x554.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:554,&quot;width&quot;:1037,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:76076,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://learn.thedesignsystem.guide/i/177632613?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8de5169-8013-40f2-a394-945fdc838e2b_1037x554.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!iTQH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8de5169-8013-40f2-a394-945fdc838e2b_1037x554.png 424w, https://substackcdn.com/image/fetch/$s_!iTQH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8de5169-8013-40f2-a394-945fdc838e2b_1037x554.png 848w, https://substackcdn.com/image/fetch/$s_!iTQH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8de5169-8013-40f2-a394-945fdc838e2b_1037x554.png 1272w, https://substackcdn.com/image/fetch/$s_!iTQH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8de5169-8013-40f2-a394-945fdc838e2b_1037x554.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>To add a Skill:</strong></p><ul><li><p>Create your folder structure locally</p></li><li><p>Upload it through the Skills interface in settings</p></li><li><p>Or use the built-in <code>skill-creator</code> Skill for interactive guidance</p><p></p></li></ul><p>A Skill is just a folder structure:</p><pre><code>my-design-skill/
&#9500;&#9472;&#9472; SKILL.md          # Main instructions (required)
&#9500;&#9472;&#9472; references/       # Context files (optional)
&#9474;   &#9500;&#9472;&#9472; brand-guidelines.md
&#9474;   &#9500;&#9472;&#9472; metrics-glossary.md
&#9474;   &#9492;&#9472;&#9472; example-outputs.md
&#9492;&#9472;&#9472; scripts/          # Executable code (optional)
    &#9500;&#9472;&#9472; validate.py
    &#9500;&#9472;&#9472; analyze.js
    &#9492;&#9472;&#9472; transform.py</code></pre><p><strong>The SKILL.md file needs YAML frontmatter:</strong></p><pre><code>---
name: design-token-architecture
description: Sync design tokens between Figma, JSON, and Airtable using our token structure
---

# Design Token Sync Workflow

[Your detailed instructions here...]</code></pre><p><strong>Pro tip:</strong> The <code>description</code> field is how Claude decides whether to load your Skill. Be specific.</p><ul><li><p>&#10060; &#8220;Helps with tokens&#8221;</p></li><li><p>&#9989; &#8220;Sync design tokens between Figma, JSON, and Airtable using our token structure&#8221;</p></li></ul><p>Claude scans all Skill descriptions. If your description matches the task, Claude loads the full Skill content. This is incredibly efficient. You can have hundreds of Skills without bloating context.</p><p>When you have everything ready, it is best to compress ALL the files and upload a <strong>.zip </strong>file to Claude. If you only have a file, you need to name it <strong>SKILL.md </strong></p><div><hr></div><h2>Reality check</h2><h3>Before Skills</h3><p><strong>Me:</strong> &#8220;Can you help me sync our design tokens to Airtable?&#8221;</p><p><strong>Claude:</strong> &#8220;Sure! I&#8217;ll need some details:</p><ul><li><p>Where are your token files located?</p></li><li><p>What format are they in?</p></li><li><p>What&#8217;s your Airtable schema?</p></li><li><p>How should I handle references between tokens?</p></li><li><p>Do you have dark mode tokens?</p></li><li><p>What naming convention do you use?&#8221;</p></li></ul><p>[10 minutes of back-and-forth explaining everything] &#129760;</p><h3>After Skills</h3><p><strong>Me:</strong> &#8220;Sync the design tokens to Airtable&#8221;</p><p><strong>Claude:</strong> [Loads design-token-architecture Skill]<br>&#8220;Syncing tokens using your token architecture...<br>&#9989; Loaded 127 core tokens from Core.json<br>&#9989; Resolved 45 semantic tokens (Light mode)<br>&#9989; Resolved 45 semantic tokens (Dark mode)<br>&#9989; Updated 78 Airtable records, created 12 new<br>&#9989; Complete&#8221;</p><p>Done in 30 seconds. Perfect accuracy. &#128522;</p><div><hr></div><h2>Make Skills for your team </h2><p>Skills aren&#8217;t just personal. They&#8217;re perfect for team standardization.</p><p><strong>For Team/Enterprise plans:</strong></p><ol><li><p>&#129299; Admin enables Skills organization-wide </p></li><li><p>Team members install from your organization&#8217;s Skill library</p></li><li><p>Everyone uses the same design patterns</p></li><li><p>New hires get up to speed instantly &#129782;</p><p></p></li></ol><p></p><p>Let me know how it goes, and enjoy exploring, <br><em>Romina</em></p><p></p><p><em>&#8212; If you enjoyed this post, please tap the Like button below &#128155; This helps me see what you want to read. Thank you.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://learn.thedesignsystem.guide/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Want more actionable insights like this? Subscribe &amp; never miss a post! &#10084;&#65039;</strong></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>More useful setups for your design system:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;9682ab3b-ec34-463f-9156-d9754cf8e720&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Documentation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-17T08:58:02.536Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!9dDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe9c6aa2-4c25-47ea-8c50-3c5d2d786ca1_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-documentation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176234757,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:57,&quot;comment_count&quot;:2,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;6a920fcc-6d36-4638-9f04-9e103390af9c&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Automate Design System Audits and Testing&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-24T05:41:26.837Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!3RG_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89a4e5fc-bd38-48d1-89f0-f956b9281f8e_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/how-to-automate-design-system-audits&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176858532,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:24,&quot;comment_count&quot;:0,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bbbefe7c-2f98-4b17-87d1-6ae0007434fc&quot;,&quot;caption&quot;:&quot;&#128075; Get weekly insights, tools, and templates to help you build and scale design systems. More: Design Tokens Mastery Course / YouTube / My Linkedin&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Ultimate AI Component Generation Framework &quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:1252525,&quot;name&quot;:&quot;Romina Kavcic&quot;,&quot;bio&quot;:&quot;Product + Design Systems + AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f20421bd-ef89-45a7-83bc-74b615d84be6_200x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-03T10:09:26.324Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!a3HB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bea4d7-9c61-4672-bc26-7ff74f3bc772_1456x970.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://learn.thedesignsystem.guide/p/the-ultimate-ai-component-generation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175136945,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:44,&quot;comment_count&quot;:3,&quot;publication_id&quot;:240057,&quot;publication_name&quot;:&quot;The Design System Guide&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Iz0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6d070f0-1ad0-4b70-afd1-f43f4c22f606_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3><strong>&#128142; Community Gems</strong></h3><p></p><p><strong>&#128640; SCALES 4.0.0 is out </strong></p><p>Design Tokens Starter Set | JSON, Variables &amp; Tokens Studio sync</p><p>Huge thanks to <strong><a href="https://www.linkedin.com/in/philipp-jeroma-b1651459/">Philipp Jeroma</a>, </strong>who makes this kit for free! &#129782;</p><p><strong>&#128279; <a href="https://www.figma.com/community/file/1316042479653154791">Link</a></strong></p><p></p><p><strong>&#10024; Figma Schema 2025</strong></p><p>After <strong>Figma&#8217;s </strong>Schema conference this week, one thing is clear -&gt; invest in your design system. They&#8217;ve made it easier, with many new features, like:</p><p>* Native JSON import/export for design tokens<br>* First stable version of the Design Tokens Specification (by DTCG group) <br>* Integrated design linter (checks design) <br>* Contrast checker<br>* AI content/help<br>* Components with context<br>* Slots (finally proper execution, no plugins needed) <br>* Expanded collections (Enterprise only)<br>* New sidebar<br>* Full-screen variables panel <br>* Figma Make kits</p><p><strong>&#128279; <a href="https://www.figma.com/blog/schema-2025-design-systems-recap/">Official news</a></strong></p><p></p><p></p>]]></content:encoded></item></channel></rss>