<?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 AI-powered Designer]]></title><description><![CDATA[The AI-powered Designer]]></description><link>https://theaipowereddesigner.com</link><image><url>https://substackcdn.com/image/fetch/$s_!stdQ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F220d52f2-c481-4ea6-93fc-9e0569a4f84b_256x256.png</url><title>The AI-powered Designer</title><link>https://theaipowereddesigner.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 11 Sep 2026 20:45:01 GMT</lastBuildDate><atom:link href="https://theaipowereddesigner.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Iglika Mateeva-Drincheva]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[iglika@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[iglika@substack.com]]></itunes:email><itunes:name><![CDATA[Iglika Mateeva-Drincheva]]></itunes:name></itunes:owner><itunes:author><![CDATA[Iglika Mateeva-Drincheva]]></itunes:author><googleplay:owner><![CDATA[iglika@substack.com]]></googleplay:owner><googleplay:email><![CDATA[iglika@substack.com]]></googleplay:email><googleplay:author><![CDATA[Iglika Mateeva-Drincheva]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Started rebuilding my design portfolio and turned it into a repeatable AI-readable Claude skill ]]></title><description><![CDATA[I sat down to vibe code one new page for my portfolio and spent the next 3 days building a design system kit instead.]]></description><link>https://theaipowereddesigner.com/p/framer-to-figma-design-system</link><guid isPermaLink="false">https://theaipowereddesigner.com/p/framer-to-figma-design-system</guid><dc:creator><![CDATA[Iglika Mateeva-Drincheva]]></dc:creator><pubDate>Fri, 11 Sep 2026 12:05:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uXfh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This week I sat down to vibe code a new page for my portfolio website with AI. Then I realized I had to do the thing I was avoiding for weeks- <strong>build a proper AI-readable design system that lives in both Figma and code.</strong></p><h3><strong>The problem</strong></h3><p>Beginning of this year I moved my website from <a href="http://www.webflow.com">Webflow</a> to <a href="https://framer.com/">Framer.</a> I learned Framer in a few weeks and rebuilt <em>everything</em>, but only in Framer. </p><p>However, while I was going between my new design in Figma and implementation in Framer, I never rebuilt the matching design system in Figma (honestly, I was too lazy! lol ). </p><p>Fast forward to today: I regularly vibe code new ideas but my own brand design system is scattered: </p><ul><li><p>I have a version that lives in Framer</p></li><li><p>a super old version on Figma (0 variables)</p></li><li><p>a version that lives in Claude Design</p></li><li><p>a version that lives on Lovable &#8230;</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_!dyUf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6dc1a2-f67b-4a12-977c-c85c70b5aba5_2484x1142.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dyUf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6dc1a2-f67b-4a12-977c-c85c70b5aba5_2484x1142.png 424w, https://substackcdn.com/image/fetch/$s_!dyUf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6dc1a2-f67b-4a12-977c-c85c70b5aba5_2484x1142.png 848w, https://substackcdn.com/image/fetch/$s_!dyUf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6dc1a2-f67b-4a12-977c-c85c70b5aba5_2484x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!dyUf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6dc1a2-f67b-4a12-977c-c85c70b5aba5_2484x1142.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dyUf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6dc1a2-f67b-4a12-977c-c85c70b5aba5_2484x1142.png" width="1456" height="669" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c6dc1a2-f67b-4a12-977c-c85c70b5aba5_2484x1142.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:669,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:224864,&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://theaipowereddesigner.com/i/214552240?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6dc1a2-f67b-4a12-977c-c85c70b5aba5_2484x1142.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_!dyUf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6dc1a2-f67b-4a12-977c-c85c70b5aba5_2484x1142.png 424w, https://substackcdn.com/image/fetch/$s_!dyUf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6dc1a2-f67b-4a12-977c-c85c70b5aba5_2484x1142.png 848w, https://substackcdn.com/image/fetch/$s_!dyUf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6dc1a2-f67b-4a12-977c-c85c70b5aba5_2484x1142.png 1272w, https://substackcdn.com/image/fetch/$s_!dyUf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6dc1a2-f67b-4a12-977c-c85c70b5aba5_2484x1142.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 aria-hidden="true" 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><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><figcaption class="image-caption">How my design system looked like in Figma</figcaption></figure></div><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_!-Qqp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3f5e59-19e3-428b-b60e-eebaa561880c_2456x1672.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-Qqp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3f5e59-19e3-428b-b60e-eebaa561880c_2456x1672.png 424w, https://substackcdn.com/image/fetch/$s_!-Qqp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3f5e59-19e3-428b-b60e-eebaa561880c_2456x1672.png 848w, https://substackcdn.com/image/fetch/$s_!-Qqp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3f5e59-19e3-428b-b60e-eebaa561880c_2456x1672.png 1272w, https://substackcdn.com/image/fetch/$s_!-Qqp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3f5e59-19e3-428b-b60e-eebaa561880c_2456x1672.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-Qqp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3f5e59-19e3-428b-b60e-eebaa561880c_2456x1672.png" width="1456" height="991" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f3f5e59-19e3-428b-b60e-eebaa561880c_2456x1672.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:991,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:318311,&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://theaipowereddesigner.com/i/214552240?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3f5e59-19e3-428b-b60e-eebaa561880c_2456x1672.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_!-Qqp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3f5e59-19e3-428b-b60e-eebaa561880c_2456x1672.png 424w, https://substackcdn.com/image/fetch/$s_!-Qqp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3f5e59-19e3-428b-b60e-eebaa561880c_2456x1672.png 848w, https://substackcdn.com/image/fetch/$s_!-Qqp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3f5e59-19e3-428b-b60e-eebaa561880c_2456x1672.png 1272w, https://substackcdn.com/image/fetch/$s_!-Qqp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3f5e59-19e3-428b-b60e-eebaa561880c_2456x1672.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 aria-hidden="true" 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><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><figcaption class="image-caption">The current live website with 30+ Components</figcaption></figure></div><p></p><p>So&#8230; I decided to do what every designer would do: Spend 3 days of my life avoiding to re-build my new portfolio page and instead build an AI-readable design system kit that lives in Figma but is also tied to a Claude Skill &#128516;</p><p>More on that, soon.</p><h2><strong>Here&#8217;s my actual process of re-creating my design system from Framer into Figma </strong></h2><p><strong>The plan:</strong> pull every value out of Framer, check how far my Figma file had drifted, rebuild a clean system in Figma with semantic tokens, then rebuild my components on top.</p><h4><strong>1. Audit of my current design system in Figma</strong></h4><p>I connected Claude Code to Figma through the Figma MCP and had it audit my old design system file: my tokens, where they drifted from Framer, and where they broke best practices. </p><p>The verdict: the color structure was so heavy that fixing it would take longer than starting over&#8594; so I decided to create a new file instead.</p><p></p><h4><strong>2. Import  new color scaled from Framer and turning them into variables with Claude + Figma MCP</strong></h4><p>I took screenshots of my colors in Framer and had Claude turn them into Figma variables. It worked well, just slowly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mKGF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe905f827-da76-4cf5-aeb9-f08fbe0bbdb5_2936x1858.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mKGF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe905f827-da76-4cf5-aeb9-f08fbe0bbdb5_2936x1858.png 424w, https://substackcdn.com/image/fetch/$s_!mKGF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe905f827-da76-4cf5-aeb9-f08fbe0bbdb5_2936x1858.png 848w, https://substackcdn.com/image/fetch/$s_!mKGF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe905f827-da76-4cf5-aeb9-f08fbe0bbdb5_2936x1858.png 1272w, https://substackcdn.com/image/fetch/$s_!mKGF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe905f827-da76-4cf5-aeb9-f08fbe0bbdb5_2936x1858.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mKGF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe905f827-da76-4cf5-aeb9-f08fbe0bbdb5_2936x1858.png" width="1456" height="921" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e905f827-da76-4cf5-aeb9-f08fbe0bbdb5_2936x1858.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:921,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:639271,&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://theaipowereddesigner.com/i/214552240?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe905f827-da76-4cf5-aeb9-f08fbe0bbdb5_2936x1858.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_!mKGF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe905f827-da76-4cf5-aeb9-f08fbe0bbdb5_2936x1858.png 424w, https://substackcdn.com/image/fetch/$s_!mKGF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe905f827-da76-4cf5-aeb9-f08fbe0bbdb5_2936x1858.png 848w, https://substackcdn.com/image/fetch/$s_!mKGF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe905f827-da76-4cf5-aeb9-f08fbe0bbdb5_2936x1858.png 1272w, https://substackcdn.com/image/fetch/$s_!mKGF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe905f827-da76-4cf5-aeb9-f08fbe0bbdb5_2936x1858.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 aria-hidden="true" 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><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><h4><strong>3. Add typography and the rest of the primitives</strong></h4><p>Once the above worked, I moved on to Moving the existing system from Framer into Figma. I used Framer&#8217;s AI Agent to help draft the specs and export them into .json files so Claude could read them better AND faster. </p><p>( I am sure there are plugins out there to export your Framer values and components into Figma, but I just didn&#8217;t want to pay for that)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z4yG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368bdbd8-73d5-497d-803f-c2825a8cf97a_952x568.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z4yG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368bdbd8-73d5-497d-803f-c2825a8cf97a_952x568.png 424w, https://substackcdn.com/image/fetch/$s_!z4yG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368bdbd8-73d5-497d-803f-c2825a8cf97a_952x568.png 848w, https://substackcdn.com/image/fetch/$s_!z4yG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368bdbd8-73d5-497d-803f-c2825a8cf97a_952x568.png 1272w, https://substackcdn.com/image/fetch/$s_!z4yG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368bdbd8-73d5-497d-803f-c2825a8cf97a_952x568.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z4yG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368bdbd8-73d5-497d-803f-c2825a8cf97a_952x568.png" width="952" height="568" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/368bdbd8-73d5-497d-803f-c2825a8cf97a_952x568.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:568,&quot;width&quot;:952,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:80458,&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://theaipowereddesigner.com/i/214552240?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368bdbd8-73d5-497d-803f-c2825a8cf97a_952x568.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_!z4yG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368bdbd8-73d5-497d-803f-c2825a8cf97a_952x568.png 424w, https://substackcdn.com/image/fetch/$s_!z4yG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368bdbd8-73d5-497d-803f-c2825a8cf97a_952x568.png 848w, https://substackcdn.com/image/fetch/$s_!z4yG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368bdbd8-73d5-497d-803f-c2825a8cf97a_952x568.png 1272w, https://substackcdn.com/image/fetch/$s_!z4yG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368bdbd8-73d5-497d-803f-c2825a8cf97a_952x568.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 aria-hidden="true" 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><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>That was done fast and then I move to the more painful part</p><h4><strong>4. Re-creating the components 1 by 1.</strong></h4><p>(In case you are wondering I have only migrated 4 components only)</p><p></p><p><strong>The Buttons</strong></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_!ioUE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9d8523e-d8af-4e44-955b-9524798b86fe_2270x1128.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ioUE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9d8523e-d8af-4e44-955b-9524798b86fe_2270x1128.png 424w, https://substackcdn.com/image/fetch/$s_!ioUE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9d8523e-d8af-4e44-955b-9524798b86fe_2270x1128.png 848w, https://substackcdn.com/image/fetch/$s_!ioUE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9d8523e-d8af-4e44-955b-9524798b86fe_2270x1128.png 1272w, https://substackcdn.com/image/fetch/$s_!ioUE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9d8523e-d8af-4e44-955b-9524798b86fe_2270x1128.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ioUE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9d8523e-d8af-4e44-955b-9524798b86fe_2270x1128.png" width="1456" height="724" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9d8523e-d8af-4e44-955b-9524798b86fe_2270x1128.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:724,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:350213,&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://theaipowereddesigner.com/i/214552240?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9d8523e-d8af-4e44-955b-9524798b86fe_2270x1128.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_!ioUE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9d8523e-d8af-4e44-955b-9524798b86fe_2270x1128.png 424w, https://substackcdn.com/image/fetch/$s_!ioUE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9d8523e-d8af-4e44-955b-9524798b86fe_2270x1128.png 848w, https://substackcdn.com/image/fetch/$s_!ioUE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9d8523e-d8af-4e44-955b-9524798b86fe_2270x1128.png 1272w, https://substackcdn.com/image/fetch/$s_!ioUE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9d8523e-d8af-4e44-955b-9524798b86fe_2270x1128.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 aria-hidden="true" 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><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><blockquote><p><strong>Pro tip:</strong> Framer has its own agent. Ask it to export a component&#8217;s details into a file, then hand that file to your LLM</p></blockquote><p></p><p><strong>The Navigation</strong></p><p>That one was quite tricky because I didn&#8217;t only have to export the colors and the layout, but I also had to export <em>the interactions.</em></p><p> I exported the data from Framer again as a JSON file, and then I pointed Claude to the live website. After 30 minutes of tweaking, I achieved the desired result.</p><p>The footer was easier: no animations, a clear structure, about 30 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_!uXfh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uXfh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.png 424w, https://substackcdn.com/image/fetch/$s_!uXfh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.png 848w, https://substackcdn.com/image/fetch/$s_!uXfh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.png 1272w, https://substackcdn.com/image/fetch/$s_!uXfh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uXfh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.png" width="1456" height="890" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.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;:708375,&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://theaipowereddesigner.com/i/214552240?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.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_!uXfh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.png 424w, https://substackcdn.com/image/fetch/$s_!uXfh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.png 848w, https://substackcdn.com/image/fetch/$s_!uXfh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.png 1272w, https://substackcdn.com/image/fetch/$s_!uXfh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00e08e84-784d-4113-8e8f-171216c6b894_2940x1798.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 aria-hidden="true" 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><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>The final result</h3><p>I finally created most of the variables, added some basic components and had Claude audit everything to <em>make sure all elements are using the semantic values, not the primary ones.</em></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_!BoJZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb621b19-45d3-4904-929d-7ce59a012731_2750x1606.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BoJZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb621b19-45d3-4904-929d-7ce59a012731_2750x1606.png 424w, https://substackcdn.com/image/fetch/$s_!BoJZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb621b19-45d3-4904-929d-7ce59a012731_2750x1606.png 848w, https://substackcdn.com/image/fetch/$s_!BoJZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb621b19-45d3-4904-929d-7ce59a012731_2750x1606.png 1272w, https://substackcdn.com/image/fetch/$s_!BoJZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb621b19-45d3-4904-929d-7ce59a012731_2750x1606.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BoJZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb621b19-45d3-4904-929d-7ce59a012731_2750x1606.png" width="1456" height="850" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db621b19-45d3-4904-929d-7ce59a012731_2750x1606.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:850,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:310944,&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://theaipowereddesigner.com/i/214552240?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb621b19-45d3-4904-929d-7ce59a012731_2750x1606.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_!BoJZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb621b19-45d3-4904-929d-7ce59a012731_2750x1606.png 424w, https://substackcdn.com/image/fetch/$s_!BoJZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb621b19-45d3-4904-929d-7ce59a012731_2750x1606.png 848w, https://substackcdn.com/image/fetch/$s_!BoJZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb621b19-45d3-4904-929d-7ce59a012731_2750x1606.png 1272w, https://substackcdn.com/image/fetch/$s_!BoJZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb621b19-45d3-4904-929d-7ce59a012731_2750x1606.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 aria-hidden="true" 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><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><h3>Creating a Claude Skill that helps me match the values in Figma into token.css etc. </h3><p></p><p>After the basic work was done, I moved on to creating the tokens, naming rules etc. for all of it with the help of Claude and Codex and thus connecting my new design system to actual rules any LLM can read and apply.</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_!D1gy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dda35aa-5608-4a58-bd7a-dc20f51496a6_2410x954.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D1gy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dda35aa-5608-4a58-bd7a-dc20f51496a6_2410x954.png 424w, https://substackcdn.com/image/fetch/$s_!D1gy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dda35aa-5608-4a58-bd7a-dc20f51496a6_2410x954.png 848w, https://substackcdn.com/image/fetch/$s_!D1gy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dda35aa-5608-4a58-bd7a-dc20f51496a6_2410x954.png 1272w, https://substackcdn.com/image/fetch/$s_!D1gy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dda35aa-5608-4a58-bd7a-dc20f51496a6_2410x954.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D1gy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dda35aa-5608-4a58-bd7a-dc20f51496a6_2410x954.png" width="1456" height="576" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2dda35aa-5608-4a58-bd7a-dc20f51496a6_2410x954.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:576,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:221336,&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://theaipowereddesigner.com/i/214552240?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dda35aa-5608-4a58-bd7a-dc20f51496a6_2410x954.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_!D1gy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dda35aa-5608-4a58-bd7a-dc20f51496a6_2410x954.png 424w, https://substackcdn.com/image/fetch/$s_!D1gy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dda35aa-5608-4a58-bd7a-dc20f51496a6_2410x954.png 848w, https://substackcdn.com/image/fetch/$s_!D1gy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dda35aa-5608-4a58-bd7a-dc20f51496a6_2410x954.png 1272w, https://substackcdn.com/image/fetch/$s_!D1gy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dda35aa-5608-4a58-bd7a-dc20f51496a6_2410x954.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 aria-hidden="true" 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><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><h2><strong>Sudden realisation </strong></h2><p><strong>If your design system only has values, AI will invent the rules.</strong></p><p>An idea popped into my head: what if a Skill could generate all of this for me? A Figma file with variables, plus <code>variables.css</code>, a tokens JSON, and rules bound to the Figma design. It would speed up my next vibe-coding builds and let me keep designing in Figma. (I&#8217;m not a big fan of designing with LLMs first.)</p><p><strong>So I spent the next two days building it. More on that in the next issue:)</strong></p><p>Curious to hear does your design system live right now? Figma, code, or your head? Hit reply and tell me.</p><p>P.S. Can't wait for the next issue? The first version of my AI-readable design system kit is already on GitHub, and it's free: a Figma file, CSS tokens, naming rules and a Claude Skill that adapts it all to your brand. <a href="https://github.com/Iglika/ai-readable-design-system-kit">Get the kit on GitHub -&gt; </a></p><div><hr></div><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaipowereddesigner.com/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">Thanks for reading! In the next issue I&#8217;ll show you how the Claude Skill behind my design system kit works. Subscribe for free so it lands in your inbox.</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[How to start vibe coding in Lovable as a designer (and what I learned teaching it to 42 people)]]></title><description><![CDATA[Starter prompts for beginners, and a 5-step designer workflow covering PRDs, primitive tokens, semantic tokens, and Lovable's shadcn theming layer]]></description><link>https://theaipowereddesigner.com/p/how-to-start-vibe-coding-in-lovable</link><guid isPermaLink="false">https://theaipowereddesigner.com/p/how-to-start-vibe-coding-in-lovable</guid><dc:creator><![CDATA[Iglika Mateeva-Drincheva]]></dc:creator><pubDate>Tue, 24 Feb 2026 08:46:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Af8V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last Saturday, 42 people showed up to <a href="https://luma.com/agle4gmb">my workshop in Berlin.</a></p><p>Most of the people who came had never opened Lovable before. Some had never built anything digital in their lives. A few told me they came because they were "curious about AI",  which is the 2026 version of saying they <em>didn't really know what they were getting into.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaipowereddesigner.com/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">Thanks for reading The AI-powered Designer! Subscribe for free to receive new posts and support my work.</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>Two hours later, one team had built a working tool that scans your LinkedIn profile and returns personalised optimisation tips. Another team had prototyped a post-death documentation manager &#8212; a place to store your bank accounts, passwords, and important files so your family doesn&#8217;t have to piece your life together while grieving.</p><p>Functional. Live. Built in 30 minutes by people who had never touched the tool before.</p><p>I&#8217;ve been a product designer for 8 years. And I&#8217;ll be honest with you: watching that happen in real time made me stop and think.</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_!Af8V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Af8V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Af8V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Af8V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Af8V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Af8V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2658707,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://theaipowereddesigner.com/i/188909384?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.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_!Af8V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Af8V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Af8V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Af8V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09dd2e2f-ca0f-4284-bad8-31ba668e7fa7_4032x3024.jpeg 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 aria-hidden="true" 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><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><h2>The part that surprised me</h2><p>I came in expecting the <em>ideas</em> to be the bottleneck.</p><p>They weren&#8217;t.</p><p>The ideas were remarkable! The after-death documentation tool wasn&#8217;t just technically sound &#8212; it was thoughtful, emotionally considered, and solving a real problem that most SaaS founders would have dismissed as &#8220;too niche.&#8221; It came from a non-designer in their first 30 minutes with a vibe coding tool.</p><p>The actual bottleneck was something different. Most groups hit a wall after the first two or three prompts. The initial &#8220;build me an app that does X&#8221; prompt worked almost every time &#8212; Lovable is genuinely good at that first leap. But then came the moment where they had to make a decision: <em>what next?</em></p><p>And that&#8217;s where it got interesting.</p><h2>What non-designers don&#8217;t know they don&#8217;t know</h2><p><strong>When a designer looks at an early prototype, they immediately see a list of things that are missing or wrong.</strong> Not because we&#8217;re critical by nature  but because we&#8217;ve spent years internalising what makes an experience feel trustworthy, clear, and complete.</p><p><strong>What happens when someone without that training looks at the same screen? They see a working thing. And a working thing feels finished.</strong></p><p>Nobody in the room instinctively asked: <em>where does the user go if this step fails? What does an empty state look like? Is it clear what this button actually does?</em> Not because they weren&#8217;t smart  but because those questions aren&#8217;t obvious until you&#8217;ve been burned by ignoring them a hundred times.</p><p><a href="https://linai.lovable.app/auth">The LinkedIn optimisation tool </a>worked. But the first version had no loading state, no error handling for a private profile, and no explanation of <em>why</em> a suggestion was being made. Just a list of tips with no context. Users would have trusted it less as a result, even if they couldn&#8217;t articulate why.</p><p><em>That gap between &#8220;it works&#8221; and &#8220;it works well&#8221; is entirely a design problem. And it&#8217;s invisible to people who haven&#8217;t been trained to see it.</em></p><h2>What this means for you</h2><p>There&#8217;s a version of this story that&#8217;s scary for designers: <em>look how fast non-designers can build now.</em> I&#8217;ve seen that take a lot lately.</p><p>I don&#8217;t think that&#8217;s the right read.</p><p>What I actually saw in that room is that the barrier to <em>starting</em> has collapsed. Anyone with a good idea and 30 minutes can now produce something real. That&#8217;s genuinely exciting  and <strong>it means the world is about to be full of half-finished, technically functional products that feel confusing, untrustworthy, or just slightly off in ways users can&#8217;t name</strong>.</p><p><strong>The ability to identify and fix </strong><em><strong>exactly that</strong></em><strong> is a designer&#8217;s skill.</strong> And it&#8217;s becoming more valuable, not less, because now there are exponentially more things that need it.</p><p>The question isn&#8217;t whether non-designers can build anymore. They clearly can. The question is who&#8217;s going to make sure what they build is actually good.</p><h2>So, how to actually start vibe coding in Lovable as a designer</h2><p><a href="https://iglikamd.notion.site/Lovable-Starter-Prompts-30cea2843e0680f4ad51fa0c2d9ab659">Here are the exact starter prompts</a> I gave to help complete beginners get something on screen fast. Those are great if you are not technical ( and not a designer)</p><p>However, If I was teaching Product Designers how to vibe code with Lovable, this would be my recommendation.</p><h3>Advanced prompts for vibe coding in Lovable as a Designer</h3><p><em>Note: these prompts assume you have no design system yet in place and you need to build one first. </em></p><p><strong>Step 1 Generate your PRD first</strong></p><p>Before you open Lovable, go to Claude or ChatGPT or any other LLM really, and generate a Product Requirements Document. Define the user, the core jobs to be done, the key flows, and the edge cases. Paste this into Lovable&#8217;s Knowledge file before your first prompt. Every decision that follows will be grounded in it.</p><pre><code><code>Act as a senior product manager. Help me write a concise PRD for the 
following app idea: [describe your app].

Include:
- Problem statement (1 paragraph)
- Target user (1&#8211;2 sentences)
- Core user flows (max 3, written as "user can...")  
- Edge cases and empty states to consider
- What success looks like

Keep it under one page. I will use this as a reference 
throughout the build.</code></code></pre><p><strong>Step 2 Generate primitive tokens</strong></p><p>Once you have the first version of your PRD (refine until you are happy with v1) you should move on to bringing your design system (if you have one) or just create a new design system so that your Lovable builds are on brand.</p><p>If you have none, I  would start with the Primitive tokens: </p><pre><code><code>Generate a primitive design token set for a [describe your app, 
e.g. "B2B SaaS dashboard with a professional, trustworthy tone"].

Include:
- Color primitives: a neutral scale (50&#8211;900), a primary brand 
  color scale (50&#8211;900), and a semantic set for success, warning, 
  and error (light, default, dark)
- Typography scale: font size tokens from xs (12px) to 4xl (36px), 
  with corresponding line heights
- Spacing scale: 4px base unit, tokens from space-1 (4px) 
  to space-16 (64px)

Format as a JSON token file I can paste into Lovable's 
Knowledge file.</code></code></pre><p><strong>Step 3  Map semantic tokens on top</strong></p><pre><code><code>Using the primitive tokens above, generate a semantic token layer.

Map the primitives to the following roles:
- Background: background-default, background-subtle, 
  background-inverse
- Text: text-primary, text-secondary, text-disabled, text-inverse
- Border: border-default, border-strong, border-focus
- Actions: action-primary, action-primary-hover, 
  action-destructive
- Status: status-success, status-warning, status-error

For each semantic token, reference the primitive token 
it maps to (e.g. "text-primary": "{color-neutral-900}").
Output as a JSON token file.</code></code></pre><p><strong>Step 4  Wire your tokens into Lovable&#8217;s theming system</strong></p><p>This is the step most designers miss. Lovable runs on Tailwind + shadcn/ui under the hood, which means it has its own theming layer baked in , CSS variables defined in <code>globals.css</code> in HSL format. If you just paste your token file into the Knowledge file, Lovable will read it but won't automatically apply it to shadcn components. You need one more prompt to wire everything in properly.</p><pre><code><code>Update this project's globals.css to override the default 
shadcn CSS variables with my design tokens.

Use HSL format. Map as follows:
- --background: [your background-default in HSL]
- --foreground: [your text-primary in HSL]
- --primary: [your action-primary in HSL]
- --primary-foreground: [text on primary buttons in HSL]
- --muted: [your background-subtle in HSL]
- --muted-foreground: [your text-secondary in HSL]
- --border: [your border-default in HSL]
- --destructive: [your status-error in HSL]

Apply to both :root (light mode) and .dark (dark mode) 
if applicable. Do not change any component structure &#8212; 
only update the CSS variables.</code></code></pre><p>Once this runs, every shadcn component in your project &#8212; buttons, inputs, cards, dialogs &#8212; will use your tokens automatically. No chasing individual components.</p><p></p><p><strong>Step 5  Feed everything into Lovable, then build</strong></p><p>Open Lovable. Create a new project. Before your first feature prompt, paste your PRD, primitive tokens, and semantic tokens into the Knowledge file. Then add this setup prompt:</p><pre><code><code>I have added a PRD and a design token system to the Knowledge file.
Before building anything:
1. Read the PRD and confirm you understand the core user flows
2. Confirm the CSS variables have been applied in globals.css
3. Use only semantic token names in all components 
   (e.g. var(--text-primary), not raw hex values)

Confirm when ready, then wait for my first feature prompt.</code></code></pre><p>The output looks different. Not because you used better tools, but because the AI is building inside a system.</p><div><hr></div><p>P.S:</p><p><em>I run beginner-friendly AI tools workshops in Berlin. If you want to join the next one and get the full prompt library, follow me on <a href="https://www.linkedin.com/in/iglikamd/">LinkedIn</a> :)</em></p><p></p><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaipowereddesigner.com/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">Thanks for reading The AI-powered Designer! Subscribe for free to receive new posts and support my work.</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>]]></content:encoded></item></channel></rss>