<?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[Design AI Stack: Build]]></title><description><![CDATA[Solo builders, founders, indie hackers.]]></description><link>https://www.designaistack.com/s/build</link><image><url>https://substackcdn.com/image/fetch/$s_!iYnd!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7002f52-4c57-4d22-8aaf-2be57750e7dc_1200x1200.png</url><title>Design AI Stack: Build</title><link>https://www.designaistack.com/s/build</link></image><generator>Substack</generator><lastBuildDate>Thu, 30 Apr 2026 03:25:13 GMT</lastBuildDate><atom:link href="https://www.designaistack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Sherizan]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[sherizan@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[sherizan@substack.com]]></itunes:email><itunes:name><![CDATA[Sherizan]]></itunes:name></itunes:owner><itunes:author><![CDATA[Sherizan]]></itunes:author><googleplay:owner><![CDATA[sherizan@substack.com]]></googleplay:owner><googleplay:email><![CDATA[sherizan@substack.com]]></googleplay:email><googleplay:author><![CDATA[Sherizan]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[How I Teach Claude Code My Design Taste So It Never Improvises.]]></title><description><![CDATA[Your Taste Deserves Its Own AI with Claude Code]]></description><link>https://www.designaistack.com/p/how-i-teach-claude-code-my-design</link><guid isPermaLink="false">https://www.designaistack.com/p/how-i-teach-claude-code-my-design</guid><dc:creator><![CDATA[Sherizan]]></dc:creator><pubDate>Tue, 17 Mar 2026 03:11:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!giGp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.jpeg" 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_!giGp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!giGp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.jpeg 424w, https://substackcdn.com/image/fetch/$s_!giGp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.jpeg 848w, https://substackcdn.com/image/fetch/$s_!giGp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!giGp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!giGp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.jpeg" width="1305" height="712" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:712,&quot;width&quot;:1305,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:327842,&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://www.designaistack.com/i/190155042?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.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_!giGp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.jpeg 424w, https://substackcdn.com/image/fetch/$s_!giGp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.jpeg 848w, https://substackcdn.com/image/fetch/$s_!giGp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!giGp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e9cd80-50d2-4e09-acdb-c6629933c04e_1305x712.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 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>Anthropic has provided us with the complete guide how to get the most out of Claude Code. This is how I interpret it for my smaller projects where you don&#8217;t need a full fledge design system.</p>
      <p>
          <a href="https://www.designaistack.com/p/how-i-teach-claude-code-my-design">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Will AI Invent a New Programming Language?]]></title><description><![CDATA[My perspective on the question nobody&#8217;s asking. What if the answer is a design file.]]></description><link>https://www.designaistack.com/p/will-ai-invent-a-new-programming</link><guid isPermaLink="false">https://www.designaistack.com/p/will-ai-invent-a-new-programming</guid><pubDate>Fri, 06 Mar 2026 12:21:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!d6lT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.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_!d6lT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d6lT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.png 424w, https://substackcdn.com/image/fetch/$s_!d6lT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.png 848w, https://substackcdn.com/image/fetch/$s_!d6lT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!d6lT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d6lT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.png" width="1456" height="954" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:954,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:10428533,&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://www.designaistack.com/i/189817465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.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_!d6lT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.png 424w, https://substackcdn.com/image/fetch/$s_!d6lT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.png 848w, https://substackcdn.com/image/fetch/$s_!d6lT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!d6lT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4debe73e-5a5d-4caa-aaa8-71d7c0973f30_2400x1572.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 need to be upfront about something before we start.</p><p>I&#8217;m a designer. I&#8217;ve worked on apps serving over 1.9 billion active users at TikTok, 50 million active users at Grab. My coding knowledge stopped at JavaScript. And I&#8217;m writing an article about programming languages.</p><p>That alone should tell you how much has changed.</p><p>Two years ago, I wouldn&#8217;t have had an opinion on this. Now I&#8217;m deep in Figma MCP, Claude Code, and vibe coding workflows and the question of what language things are built in is suddenly very relevant to my work. Not because I&#8217;m writing code. But because the line between designing and coding is dissolving so fast that the distinction might not matter soon.</p><p>Whether that&#8217;s exciting or terrifying depends on the day.</p><h3>The mess under the hood</h3><p>Here&#8217;s something most people outside big tech don&#8217;t realise. The apps you use every day are not built in one language.</p><p>TikTok? Parts Kotlin and Swift for native UI. A custom cross-platform framework called Lynx that ByteDance built internally and open-sourced in 2025 because nothing on the market could handle their complexity. Grab serving 50 million users across Southeast Asia? Similar patchwork. React Native here, native code there, custom bridges connecting everything.</p><p>This is not an exception. This is the norm.</p><p>A single design system, the one we spend months perfecting in Figma has to translate into multiple codebases, multiple languages, multiple rendering engines. And the translation is lossy. Every time. &#8220;Should this spacing be 16px or 20px?&#8221; is a Slack message that has been sent a billion times across the industry, and it exists because design files and code are fundamentally different representations of the same thing.</p><p>So when people talk about &#8220;design to code&#8221; or &#8220;design in code,&#8221; this is the part they&#8217;re skipping. It&#8217;s not just a handoff problem. It&#8217;s a multi-language, multi-platform infrastructure problem that nobody has cleanly solved.</p><p>Which got me thinking. If AI is rewriting how we build software&#8230; will it also rewrite what we build software <em><strong>with</strong></em>?</p><h3>Every era invents the language it needs</h3><p>Quick history, because it matters for what comes next.</p><p>The web needed a scripting language for browsers. Brendan Eich built JavaScript in 10 days in 1995. Mobile needed languages that could talk to hardware. Apple created Swift. Google backed Kotlin. Facebook looked at all of this and said &#8220;what if we could use JavaScript to build native apps?&#8221; and React was born. Machine learning needed something accessible to researchers who aren&#8217;t systems programmers. Python became the default, not because it&#8217;s fast, but because the ecosystem made it frictionless.</p><p>Every time the paradigm shifted, a new language emerged. Facebook invented React. Vercel invented Next.js. The pattern is consistent.</p><p>So here&#8217;s the question. AI is the biggest paradigm shift since the internet. What language or what <em><strong>thing</strong></em> will it invent next?</p><h3>The &#8220;language doesn&#8217;t matter&#8221; argument</h3><p>The numbers are hard to argue with.</p><p>AI writes roughly 30% of Microsoft&#8217;s code and over a quarter of Google&#8217;s, according to their own CEOs. Y Combinator reported that 25% of startups in their Winter 2025 batch had codebases that were 95% AI-generated. Stack Overflow&#8217;s 2025 Developer Survey found 80% of developers using AI coding tools weekly.</p><p>Andrej Karpathy coined &#8220;vibe coding&#8221; in early 2025 the idea of describing what you want in plain English and letting AI handle the implementation. Collins Dictionary named it Word of the Year. By early 2026, Karpathy himself said vibe coding is already pass&#233;. The new paradigm is &#8220;agentic engineering&#8221; you&#8217;re not writing code at all, you&#8217;re supervising agents that write it for you.</p><p>Jensen Huang, NVIDIA&#8217;s CEO, put it even more bluntly: &#8220;It is our job to create computing technology such that nobody has to program and that the programming language is human.&#8221;</p><p>If AI can translate natural language into Python, Swift, Kotlin, or Javascript equally well, then the programming language becomes an implementation detail. Like assembly language. You don&#8217;t think about assembly when you write Python. Maybe soon, you won&#8217;t think about Python when you describe an app.</p><p>There are still new languages emerging like Mojo, built by Chris Lattner (the creator of Swift), reads like Python but performs like C++, heading to 1.0 in 2026. But the bigger story isn&#8217;t any single new language. It&#8217;s the possibility that language choice itself becomes invisible.</p><h3>OK Sherizan. So what does this mean for designers?</h3><p>This is where I have to be honest about two things that are both true at the same time.</p><h4>1) The &#8220;design is dead&#8221; argument is not wrong.</h4><p>I know designers don&#8217;t want to hear this. I don&#8217;t particularly want to write it. But let&#8217;s look at what&#8217;s actually happening.</p><p>PMs and designers at Meta have publicly said they now show working products instead of UI prototypes. Designers are shipping MVPs through AI coding tools before developers even get briefed. Figma&#8217;s stock dropped roughly 85% from its post-IPO peak. Wall Street is calling it the &#8220;SaaSpocalypse&#8221; a trillion-dollar selloff in software stocks driven by fears that AI is eating the workflows these companies were built on.</p><p>Shadcn happened. A component library so well-designed, well-documented and so easy to prompt with that people started building dashboards, landing pages, and full interfaces directly with shadcn components with no Figma file needed. You describe what you want, AI generates production-ready React with shadcn, Tailwind, and Next.js. It looks good. It works. No designer touched it. I&#8217;m a huge fan of v0 and what Vercel has done for vibecoding.</p><p>Then frontier models got scary good. You can one-shot a full interactive dashboard with Claude Opus 4.6 or Gemini Pro. Not a mockup. Not a prototype. A working component with real interactions, real state management, real functionality. The kind of thing that used to take a designer days in Figma and a developer weeks to implement done in literally minutes by someone who never opened a design tool.</p><p>There are reports that programmer employment in the US fell 27.5% between 2023 and 2025. The squeeze isn&#8217;t just on developers. Entry-level design work, the screen-by-screen production that used to be someone&#8217;s first job is exactly the kind of task AI automates first.</p><p>If you&#8217;re a designer and you&#8217;re not at least a little nervous, you&#8217;re not paying attention.</p><h4>2) Something interesting is happening at the edges.</h4><p>At the same time that people are declaring design dead, a new category of tools is emerging that suggests the opposite.</p><p>Pencil.dev calls itself &#8220;Design Mode for Cursor.&#8221; It&#8217;s a Figma-like canvas that lives inside your IDE. Your design files sit in your Git repo. You design visually, AI generates the underlying React. Or you prompt AI, and it designs visually on the canvas. The direction goes both ways.</p><p>Paper.design renders every element as real HTML and CSS. No conversion step. You design with real flexbox layouts, real CSS properties, real font rendering. Right-click any element &#8594; Copy as React. They raised $4.2M from Accel, and their thesis is interesting: the canvas of the future IS code, you just shouldn&#8217;t have to know that.</p><p>Figma launched &#8220;Code to Canvas&#8221; with Anthropic that generates an interface in Claude Code, say &#8220;Send this to Figma,&#8221; and it lands as fully editable design layers. Plus Figma Make, Code Connect linking components to production code, and MCP integrations letting AI agents read and write to Figma files directly.</p><p>These tools aren&#8217;t treating design as a step before code. They&#8217;re treating design as code. Or code as design. The distinction is breaking down.</p><p>And Figma&#8217;s own State of the Designer 2026 report shows something that complicates the &#8220;design is dead&#8221; narrative: 89% of designers say they&#8217;re working faster with AI. 91% say AI tools actually improve their designs. Designers leaning into AI are 25% more likely to say they&#8217;re satisfied at work.</p><p>So which is it? Is design dying? Or is it evolving into something more powerful?</p><p>I think the honest answer is: both. At the same time. For different people.</p><h3>A &#8220;what-if&#8221; I can&#8217;t stop thinking about</h3><p>I want to be careful here. This is not a prediction. This is a thought experiment. Because I think it&#8217;s worth exploring even if it turns out to be wrong.</p><p>What if the next programming language isn&#8217;t a language at all? What if it&#8217;s a design file?</p><p>A designer <a href="https://medium.com/@iz.iuqo/figma-isnt-a-design-tool-anymore-333b3c626296">izaias</a> described Figma as &#8220;logic wearing a canvas costume.&#8221; And he&#8217;s not wrong. Every design is JSON. Every component is a node. Auto layout is flexbox. Constraints are code. We&#8217;ve been programming all along, we just called it designing.</p><p>Paper.design&#8217;s canvas renders real HTML/CSS. Pencil.dev stores designs as JSON. Figma&#8217;s Code Connect links components to production code. Shadcn gives you a component system that AI can compose into anything.</p><p>So here&#8217;s the <em>what-if</em>. </p><div class="pullquote"><p>What if a design system, not the Figma library we know today, but a next-generation, language-agnostic representation of an interface becomes the thing AI compiles from? You design the interface. You define the interactions. You set the tokens, the spacing, the hierarchy. </p></div><p>And AI handles everything underneath like choosing Swift for iOS, Kotlin for Android, React for web, C++ for the performance layer, building the bridges between all of them automatically.</p><p>That messy multi-language architecture at TikTok and Grab? It disappears. Not because someone invented a universal language. But because the design file became the universal specification, and AI figures out the compilation.</p><p>Design as the last programming language.</p><p>Now, hold on. I can already hear the objections. And they&#8217;re valid.</p><p>This assumes AI gets good enough at the translation. Right now, it isn&#8217;t. Vibe-coded apps have <a href="https://www.coderabbit.ai/blog/state-of-ai-vs-human-code-generation-report">1.7x more major issues</a> than human-written code according to a CodeRabbit analysis. Security vulnerabilities are <a href="https://www.theregister.com/2025/12/17/ai_code_bugs/">2.7x higher</a>. A Lovable analysis found <a href="https://www.semafor.com/article/05/29/2025/the-hottest-new-vibe-coding-startup-lovable-is-a-sitting-duck-for-hackers">170 out of 1,645 apps</a> had data exposure issues. The gap between &#8220;looks right&#8221; and &#8220;works at scale&#8221; is enormous.</p><p>It also assumes design can encode enough information to replace code. Today&#8217;s design files don&#8217;t capture business logic, state management, error handling or the thousand edge cases that make software actually work. A beautiful Figma file tells you nothing about what happens when the API fails at 3am.</p><p>And it assumes the industry will converge on a standard representation. Figma files are proprietary. Paper.design uses its own format. Pencil uses .pen files. We can&#8217;t even agree on design tokens, let alone a universal compilation target.</p><p>So yeah. Maybe this is naive. Maybe design files as programming languages is a fantasy that ignores how software actually works at scale.</p><p>But.</p><p>Two years ago, the idea that a designer could one-shot a working dashboard by describing it to an AI was also a fantasy. And here we are.</p><h3>Where this actually leaves us</h3><p>I don&#8217;t know if design is the last programming language. I don&#8217;t know if programming languages will become invisible. Nobody does. Anyone who tells you they know exactly how this plays out is selling you something.</p><p>What I do know is this.</p><p>The old workflow aka design in Figma, hand off to developers, argue about spacing in Slack, ship something that doesn&#8217;t match the mockup <em>is dying</em>. That part isn&#8217;t controversial.</p><p>What replaces it is up for grabs. Maybe it&#8217;s designers coding directly. Maybe it&#8217;s AI agents that make the design-to-code gap irrelevant. Maybe it&#8217;s new tools like Paper and Pencil that merge the two entirely. Maybe it&#8217;s something we haven&#8217;t seen yet.</p><p>For developers: if programming languages become an implementation detail handled by AI, then the value shifts to systems thinking, architecture, and knowing what to build, not which syntax to build it in. Karpathy&#8217;s &#8220;agentic engineering&#8221; isn&#8217;t just a rebrand. It&#8217;s a fundamentally different job description.</p><p>For designers: if AI can generate any interface from a description, then the differentiator isn&#8217;t your ability to push pixels. It&#8217;s your ability to understand users, define problems, make intentional decisions, and apply taste that AI can&#8217;t replicate. Paper.design&#8217;s founders put it well: AI will help turn design into code, but it&#8217;s the designer&#8217;s role to decide <em><strong>what</strong></em> to build, steer the AI, and make sure it&#8217;s cohesive.</p><p>The people who thrive in this next era won&#8217;t be defined by their tool like Figma, Cursor, Claude, whatever comes next. They&#8217;ll be defined by their judgment.</p><p>And honestly? As someone whose coding stopped at JavaScript but who&#8217;s now deep in Claude Code and Figma MCP workflows, I find that both terrifying and kind of hopeful.</p><p>I just don&#8217;t think we should pretend we know how this ends.</p><div><hr></div><p><em>What&#8217;s your take? Is design evolving or dying? Is the programming language question even the right question? I&#8217;m genuinely working this out in public . Hit reply, I want to hear what you think.</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_!D1Xc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D1Xc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 424w, https://substackcdn.com/image/fetch/$s_!D1Xc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 848w, https://substackcdn.com/image/fetch/$s_!D1Xc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 1272w, https://substackcdn.com/image/fetch/$s_!D1Xc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D1Xc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png" width="1456" height="762" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:762,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!D1Xc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 424w, https://substackcdn.com/image/fetch/$s_!D1Xc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 848w, https://substackcdn.com/image/fetch/$s_!D1Xc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 1272w, https://substackcdn.com/image/fetch/$s_!D1Xc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.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>]]></content:encoded></item><item><title><![CDATA[My Design Was Perfect. My Prompt Wasn't.]]></title><description><![CDATA[I built a Figma plugin that reads your design and builds the right prompt for you, every single time.]]></description><link>https://www.designaistack.com/p/my-design-was-perfect-my-prompt-wasnt</link><guid isPermaLink="false">https://www.designaistack.com/p/my-design-was-perfect-my-prompt-wasnt</guid><dc:creator><![CDATA[Sherizan]]></dc:creator><pubDate>Thu, 26 Feb 2026 14:31:30 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/189158319/182125e7fb089ddec3dc8329c5418c05.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>There&#8217;s a moment every designer and developer knows well.</p><p>You&#8217;ve spent hours getting the component just right inside Figma. The spacing is tight, the tokens are named correctly (mostly), and the layout actually makes sense. You open up your AI coding tool and then you write a prompt. Something like:</p><blockquote><p><em>&#8220;Build this card component in React Native.&#8221;</em></p></blockquote><p>And what comes back is... close. But not right. The padding is off. The component ignores your design tokens. The variant states are missing. So you iterate. You write a better prompt. You get closer. You iterate again.</p><p>What just happened wasn&#8217;t a failure of AI. It was a failure of context. The model didn&#8217;t know what it didn&#8217;t know and neither did you, until you saw what was missing.</p><p>I built DesignAgent because I kept living in that gap.</p><h2>The Real Problem with Prompting from Design</h2><div class="pullquote"><p>When us designers use AI to turn Figma screens into code, the quality of the output lives and dies by the quality of the prompt. But here&#8217;s the thing nobody talks about: most of us designers don&#8217;t know what information a good prompt actually needs, and most developers don&#8217;t have time to decode a Figma file to find out.</p></div><p>There are a few things that silently break every build:</p><ul><li><p>Components without auto-layout that confuse the AI&#8217;s understanding of spacing relationships</p></li><li><p>Design tokens that exist in Figma but never make it into the prompt</p></li><li><p>Platform mismatches: a component built for web being prompted for a React Native context without adjustment</p></li><li><p>Missing variant states, unnamed layers, and absolute positioning that looks fine visually but generates brittle code</p></li></ul><p>The result? Inconsistency. Every prompt is a guess. Every handoff is a negotiation.</p><h2>What DesignAgent Actually Does</h2><p><a href="http://designagent.dev">DesignAgent</a> is a Figma plugin that sits inside your workspace and does something really simple: <strong>it reads your current selection, scores it, and writes the prompt for you.</strong></p><p>Not a generic prompt. Not a template you fill in. A context-specific, developer-ready prompt built from what&#8217;s actually in your design right now, for the platform you&#8217;re actually building on.</p><p>Select a component. Open the plugin. Choose your target platform. The prompt is ready.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YnSw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a25bed-99ba-423d-99a3-d8a03d65a76f_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YnSw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a25bed-99ba-423d-99a3-d8a03d65a76f_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!YnSw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a25bed-99ba-423d-99a3-d8a03d65a76f_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!YnSw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a25bed-99ba-423d-99a3-d8a03d65a76f_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!YnSw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a25bed-99ba-423d-99a3-d8a03d65a76f_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YnSw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a25bed-99ba-423d-99a3-d8a03d65a76f_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b1a25bed-99ba-423d-99a3-d8a03d65a76f_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;:368174,&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://www.designaistack.com/i/189158319?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a25bed-99ba-423d-99a3-d8a03d65a76f_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_!YnSw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a25bed-99ba-423d-99a3-d8a03d65a76f_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!YnSw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a25bed-99ba-423d-99a3-d8a03d65a76f_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!YnSw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a25bed-99ba-423d-99a3-d8a03d65a76f_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!YnSw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a25bed-99ba-423d-99a3-d8a03d65a76f_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><h3>Five platforms, one consistent workflow</h3><p>DesignAgent supports five presets out of the box:</p><ul><li><p><strong>Next.js + Tailwind</strong> &#8212; for web teams building with the modern React stack</p></li><li><p><strong>React Native + NativeWind</strong> &#8212; for mobile teams who want utility-class consistency across platforms</p></li><li><p><strong>Web HTML/CSS</strong> &#8212; for projects that don&#8217;t live inside a framework</p></li><li><p><strong>SwiftUI</strong> &#8212; for iOS builders working natively</p></li><li><p><strong>Jetpack Compose</strong> &#8212; for Android developers handling UI in Kotlin</p></li></ul><p>Switch the preset, and the prompt changes. The structure adapts. The warnings update. The guidance reflects what that specific platform needs from your design.<br><br>It doesn&#8217;t just generate.. it scores.</p><p>Here&#8217;s the part that surprised even me during development: the scoring system became the most valuable feedback loop.</p><p>Before you ever copy a prompt, DesignAgent evaluates your selection across five dimensions: </p><ol><li><p>component structure</p></li><li><p>tokenization</p></li><li><p>layout</p></li><li><p>naming</p></li><li><p>variant coverage </p></li></ol><p>And gives you a score. It surfaces warnings where things will likely break in code. It flags absolute positioning. It tells you when you&#8217;re missing token references that your prompt will assume exist.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zAXH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7863f56f-9020-42e2-99e6-a60af22d0d60_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zAXH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7863f56f-9020-42e2-99e6-a60af22d0d60_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!zAXH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7863f56f-9020-42e2-99e6-a60af22d0d60_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!zAXH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7863f56f-9020-42e2-99e6-a60af22d0d60_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!zAXH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7863f56f-9020-42e2-99e6-a60af22d0d60_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zAXH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7863f56f-9020-42e2-99e6-a60af22d0d60_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7863f56f-9020-42e2-99e6-a60af22d0d60_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;:209780,&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://www.designaistack.com/i/189158319?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7863f56f-9020-42e2-99e6-a60af22d0d60_1920x1080.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_!zAXH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7863f56f-9020-42e2-99e6-a60af22d0d60_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!zAXH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7863f56f-9020-42e2-99e6-a60af22d0d60_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!zAXH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7863f56f-9020-42e2-99e6-a60af22d0d60_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!zAXH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7863f56f-9020-42e2-99e6-a60af22d0d60_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>You don&#8217;t have to guess why the output isn&#8217;t right. The plugin tells you, in plain language, before you ever leave Figma.</p><h2>What&#8217;s Actually Inside a DesignAgent Prompt</h2><p>This is the part I want to spend some time on, because it&#8217;s where the real work happens and it&#8217;s what makes DesignAgent different from any other prompt generator I&#8217;ve seen.</p><p>Most &#8220;prompt generators&#8221; are wrappers. They take what you tell them and rephrase it. DesignAgent is not that. The prompt it builds is a structured engineering document and it contains things you would never think to write yourself.</p><h3>1. It knows what you selected</h3><p>Before a single word of the prompt is written, DesignAgent reads your selection and classifies it. Not just the name and the size, but the <em>intent</em>: is this a screen? A standalone component? A reusable section? A multi-frame flow?</p><p>The classification matters because each of these things needs to be built differently. A screen prompt includes rules for a single output file. A flow prompt includes a sequencing spec &#8212; screen order, transitions, routes &#8212; before any code is written. A component prompt focuses on props and variants. A section prompt includes instructions for how it mounts into a parent screen. The prompt structure changes based on what you actually selected, not what you described.</p><h3>2. It sets Figma as the only source of truth</h3><p>One of the hardest problems in AI-assisted UI development isn&#8217;t generating code. It&#8217;s preventing the AI from making things up. Left to its own devices, an AI coding tool will fill in gaps with reasonable-looking guesses and those guesses are where bugs and inconsistencies are born.</p><p>Every DesignAgent prompt includes a set of hard constraints that the AI must follow. The most important: it may not guess any value that can be retrieved directly from your Figma file. Spacing, typography, color, tokens, component bindings all of it must come from the design. If something is ambiguous or missing, the AI is instructed to surface it as an open TODO with the exact node reference, not to make a decision on your behalf.</p><p>This is the &#8220;no invention&#8221; rule, and it&#8217;s baked into every prompt DesignAgent generates.</p><h3>3. It tells the AI how to read your design in the right order</h3><p>Here&#8217;s something that surprised me in development: the sequence in which an AI queries Figma matters enormously for both accuracy and efficiency. Request too much at once and the context overflows. Request in the wrong order and you miss dependencies between tokens, components, and interactions.</p><p>DesignAgent builds a specific, ordered reading strategy into every prompt. It tells the AI to start shallow just the root and immediate children and only go deeper where the design requires it. Then variables and tokens. Then component mappings. Then visual reference. Each step has a fallback if the previous one returns incomplete data.</p><p>This sequencing is invisible to you as a user. But it&#8217;s what separates a prompt that produces consistent, production-ready code from one that produces something close but structurally off.</p><h3>4. It accounts for your design system</h3><p>If your components have Code Connect mappings a Figma feature that links design components to their code equivalents DesignAgent&#8217;s prompts will instruct the AI to use those mappings. Not as a suggestion. As a requirement.</p><p>The prompt also tracks token coverage: which values in your design are backed by a design token versus which ones are raw hardcoded values. This shows up in the scoring panel, and it also shapes the prompt. The AI is told where tokens exist, where they don&#8217;t, and how to handle each case. The result is code that references your actual design system rather than inventing a parallel set of magic numbers.</p><h3>5. The output is structured, not open-ended</h3><p>Most AI prompts end with something vague like &#8220;build this.&#8221; DesignAgent prompts end with a precise output contract: a file tree, code blocks labeled by filepath, and an open TODOs list for anything the AI couldn&#8217;t resolve from the design. No alternatives. No multiple implementations.</p><p>This matters for teams. When every developer is working from the same structured prompt format, the code that comes back follows the same structure too. It&#8217;s reviewable. It&#8217;s predictable. It fits into your existing codebase rather than arriving as a surprise.</p><h3>Why Consistency Matters More Than You Think</h3><p>The dirty secret of AI-assisted development is that the variance in prompt quality creates variance in output quality (garbage in, garbage out) and that variance compounds across a team.</p><p>When four engineers on the same project are prompting from the same designs but writing their own prompts, you get four different interpretations of the same component. Over time, that becomes technical debt. Inconsistent spacing. Token values hardcoded in some places, referenced in others. Components that look the same in Figma but behave differently in production.</p><p>DesignAgent solves this not by being opinionated about your design but by being precise about what your design already says. The prompt it generates isn&#8217;t my interpretation of your component. It&#8217;s a structured reading of your Figma node, translated into the language your AI coding tool needs to hear.</p><p>Same design, same platform, same prompt. Every time. Whether it&#8217;s you or a teammate who just joined the project.</p><h2>Who This Is For</h2><p>If you&#8217;re a designer who&#8217;s tired of being told &#8220;the code doesn&#8217;t match the design&#8221; then DesignAgent is for you. Not because it fixes the code, but because it equips you with the context to communicate your design accurately to AI tools and to the developers working alongside them.</p><p>If you&#8217;re a developer who spends too much time reverse-engineering Figma files to write a good prompt then DesignAgent is for you. The analysis work is already done. The spec is already extracted. The prompt is already written.</p><p>If you&#8217;re a team that&#8217;s trying to move faster without letting quality slip &#8212; DesignAgent gives you a shared language between design and code that doesn&#8217;t depend on whoever wrote the prompt that day.</p><h2>Where We Are Right Now</h2><p>DesignAgent is <a href="https://www.figma.com/community/plugin/1604428052675393154">currently available in Figma Community</a>. That means the core engine is working: the analysis, scoring, prompt generation and platform presets are all live inside Figma. </p><p>I&#8217;d love to hear what breaks, what surprises you, and what you wish it did differently.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D1Xc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D1Xc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 424w, https://substackcdn.com/image/fetch/$s_!D1Xc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 848w, https://substackcdn.com/image/fetch/$s_!D1Xc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 1272w, https://substackcdn.com/image/fetch/$s_!D1Xc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D1Xc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png" width="1456" height="762" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:762,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!D1Xc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 424w, https://substackcdn.com/image/fetch/$s_!D1Xc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 848w, https://substackcdn.com/image/fetch/$s_!D1Xc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.png 1272w, https://substackcdn.com/image/fetch/$s_!D1Xc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedeb24c8-b0ea-4d09-b5c6-1471ebc23115_3840x2010.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>]]></content:encoded></item><item><title><![CDATA[A Designer’s Guide to Cost-Aware Vibecoding]]></title><description><![CDATA[How I Stopped Paying Claude Opus to Do Figma&#8217;s Job]]></description><link>https://www.designaistack.com/p/stop-paying-claude-opus-to-do-figmas</link><guid isPermaLink="false">https://www.designaistack.com/p/stop-paying-claude-opus-to-do-figmas</guid><dc:creator><![CDATA[Sherizan]]></dc:creator><pubDate>Tue, 17 Feb 2026 09:15:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!p_U3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This post is dedicated to designers who build, <em>without a huge budget</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_!p_U3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p_U3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.png 424w, https://substackcdn.com/image/fetch/$s_!p_U3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.png 848w, https://substackcdn.com/image/fetch/$s_!p_U3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!p_U3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p_U3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2997421,&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://designaistack.com/i/187983445?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.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_!p_U3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.png 424w, https://substackcdn.com/image/fetch/$s_!p_U3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.png 848w, https://substackcdn.com/image/fetch/$s_!p_U3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!p_U3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89d91e5a-8aca-46c0-b7fa-a64949635f24_2160x2160.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 love vibecoding but I need to talk about the part of vibecoding nobody posts screenshots of.</p><p>The bill. &#129534;</p><div class="pullquote"><p><strong>Goal:</strong> keep vibe coding f&#8230;</p></div>
      <p>
          <a href="https://www.designaistack.com/p/stop-paying-claude-opus-to-do-figmas">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How to get “engineering-grade” prototypes in Figma Make using npm packages]]></title><description><![CDATA[One source of truth: design and prototype with the same React design system]]></description><link>https://www.designaistack.com/p/your-figma-make-prototypes-look-cheap</link><guid isPermaLink="false">https://www.designaistack.com/p/your-figma-make-prototypes-look-cheap</guid><dc:creator><![CDATA[Sherizan]]></dc:creator><pubDate>Tue, 10 Feb 2026 16:18:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qo8B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.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_!qo8B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qo8B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.png 424w, https://substackcdn.com/image/fetch/$s_!qo8B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.png 848w, https://substackcdn.com/image/fetch/$s_!qo8B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.png 1272w, https://substackcdn.com/image/fetch/$s_!qo8B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qo8B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.png" width="1456" height="954" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:954,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15564101,&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://designaistack.com/i/187485044?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.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_!qo8B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.png 424w, https://substackcdn.com/image/fetch/$s_!qo8B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.png 848w, https://substackcdn.com/image/fetch/$s_!qo8B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.png 1272w, https://substackcdn.com/image/fetch/$s_!qo8B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9da7c9-0a3a-441a-8b3e-888730f228ad_3600x2358.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>High-quality prototypes in Figma Make come from one decision:</p><blockquote><p><strong>Use the same component library engineers already ship.</strong></p></blockquote><p>Figma Make can now install npm packages, including yours or ANY component library package, so your prototype uses real production components instead of lookalikes.</p><h3>What Figma Make expects (so you do not fight the tool)</h3><p>Your design system package needs to be:</p><ul><li><p>React 18+</p></li><li><p>Published as an npm package (public npm, or your org&#8217;s private Figma npm registry)</p></li><li><p>Make currently supports React codebases for design system packages.</p></li></ul><div><hr></div><h3>Path A: Bring your org design system package into Make (the righteous path)</h3><h4>Step 1: Publish your package (public or private)</h4><p>If your design system is internal, publish it to your org&#8217;s private npm registry in Figma Make.</p><p><strong>Private registry setup (one-time admin step):</strong></p><ol><li><p>Create a new Figma Make file</p></li><li><p>Make settings &#8594; <strong>Figma npm registry</strong></p></li><li><p>Enter your org scope (example: @exampleco)</p></li><li><p>Generate key (org admin required)</p></li><li><p>Copy the snippet into your .npmrc</p></li><li><p>npm publish your package</p></li></ol><p><strong>Then, inside a Make file:</strong></p><ul><li><p>Ask chat: &#8220;install @mycompany/design-system&#8221;</p></li><li><p>Or add it to package.json directly</p></li></ul><blockquote><p>Tip from Figma: after setting up the npm registry, create another new Make file before installing the package.</p></blockquote><h4>Step 2: Teach Make how to use your design system (this is where quality comes from)</h4><p>Make can inspect your package, but it performs much better with explicit guidance files.</p><p>Every Make file has a <em>guidelines/</em> folder.<br>Make reads <em>guidelines/guidelines.md</em> first.</p><p><strong>Recommended Structure</strong></p><pre><code>guidelines/
  guidelines.md
  design-tokens.md</code></pre><p><strong>Guidelines writing rule</strong><br>Use direct, deterministic language. &#8220;Do not&#8230;&#8221; beats &#8220;use sparingly.&#8221;</p><p><strong>Copy-paste: </strong>a strong guidelines/guidelines.md starter</p><pre><code>This Make project uses our production React design system from @mycompany/ui.

Rules:
- Always prefer @mycompany/ui components over plain HTML elements.
- Do not invent new UI patterns or colors.
- If a component exists, use it. If unsure, inspect /node_modules/@mycompany/ui.

Always read first:
- overview-components.md
- all files in design-tokens/

Before writing code:
1) Choose components from @mycompany/ui
2) Read the relevant file in components/ (example: components/button.md)
3) Implement using documented props and variants only</code></pre><p>Unfortunately, you can&#8217;t copy-paste my design-tokens.md as its specifically made for my design system but I&#8217;ll show you how I wrote mine.</p><pre><code># Botim Design Tokens (Make Guidelines)

This project must use Botim tokens consistently.
Do not invent new values.
Do not hardcode arbitrary colors, font sizes, or spacing outside this file.

If you must add a new token:
- Add it here first
- Use the same naming pattern
- Keep values deterministic and reusable

---

## Typography

### Font families
- **Brand / UI:** `Inter`

### Type scale (px)
Use only these sizes.

- `type.display.lg` = `32px` (40px line-height, 700)
- `type.display.md` = `28px` (36px line-height, 700)
- `type.title.lg` = `22px` (28px line-height, 700)
.. and more

### Usage rules
- Screen titles use `type.title.lg` or `type.title.md`
- Primary body text uses `type.body.lg`
- Secondary/metadata uses `type.body.md` or `type.caption`
- Do not use font weights other than 400, 500, 700

---

## Spacing

### Base unit
All spacing is based on **4px**.

### Spacing scale (px)
Use only these values.

- `space.0` = `0px`
- `space.1` = `4px`
- `space.10` = `40px`
.. and more

### Layout rules (mobile)
- Screen horizontal padding: `space.4` (16px)
- Section vertical spacing: `space.6` (24px)
- Card padding: `space.4` (16px)
- Gap between stacked items: `space.3` (12px) or `space.4` (16px)
- Button height target: 48px using padding + line-height, not random height values

---

## Color

### Neutral
- `color.bg` = `#FFFFFF`
- `color.surface` = `#F7F8FA`
- `color.border` = `#E5E9F0`
.. and more

### Brand
- `color.brand.primary` = `#2F6BFF`
- `color.brand.primaryHover` = `#2557D6`
- `color.brand.primaryPressed` = `#1E47B3`
.. and more

### Semantic
- `color.success` = `#16A34A`
- `color.successBg` = `#EAF7EF`
- `color.info` = `#2563EB`
.. and more

### Usage rules
- Default page background: `color.bg`
- Cards/containers: `color.surface`
- Borders: `color.border` (do not invent lighter/darker borders)
- Primary CTA: background `color.brand.primary`, text `color.brand.onPrimary`
- Destructive CTA: background `color.danger`, text `color.text.inverse`
- Links: `color.info`
- Error messages: text `color.danger`, background `color.dangerBg`

---

## Make enforcement rules

- Always reference tokens by name in code (or via your design system theme).
- Do not introduce new hex codes in components.
- Do not introduce spacing values outside the spacing scale.
- Do not introduce font sizes outside the type scale.</code></pre><p>I know it&#8217;s pretty long, but that&#8217;s how I want it to be, detailed and deterministic so the quality of the output is accurate.</p><h3>Putting it to the test</h3><p>As you can see from my example below, the prototype on the left is using the new npm registry that fetches my production-quality code components that my devs use, while on the right is using our Figma design screen with design system file attached (the current or maybe now its the <em>traditional</em> way).</p><p>From a UI and visual perspective, the version on the left is <strong>MILES BETTER</strong> as it adheres to the layout, spacing is being picked up by the guidelines.md whereas the &#8220;traditional&#8221; way of building from Figma design files, the divider breaks, the spacing is not inherited, it looks like that cheap prototype that does not look like it deserves to be published and shared.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E8EQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f64b7a8-c69c-4174-86ed-719f6bb6297c_3600x2358.png" data-component-name="Image2ToDOM"><div class="image2-inset image2-full-screen"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E8EQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f64b7a8-c69c-4174-86ed-719f6bb6297c_3600x2358.png 424w, https://substackcdn.com/image/fetch/$s_!E8EQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f64b7a8-c69c-4174-86ed-719f6bb6297c_3600x2358.png 848w, https://substackcdn.com/image/fetch/$s_!E8EQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f64b7a8-c69c-4174-86ed-719f6bb6297c_3600x2358.png 1272w, https://substackcdn.com/image/fetch/$s_!E8EQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f64b7a8-c69c-4174-86ed-719f6bb6297c_3600x2358.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E8EQ!,w_5760,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f64b7a8-c69c-4174-86ed-719f6bb6297c_3600x2358.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f64b7a8-c69c-4174-86ed-719f6bb6297c_3600x2358.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;full&quot;,&quot;height&quot;:954,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2200402,&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://designaistack.com/i/187485044?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f64b7a8-c69c-4174-86ed-719f6bb6297c_3600x2358.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-fullscreen" alt="" srcset="https://substackcdn.com/image/fetch/$s_!E8EQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f64b7a8-c69c-4174-86ed-719f6bb6297c_3600x2358.png 424w, https://substackcdn.com/image/fetch/$s_!E8EQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f64b7a8-c69c-4174-86ed-719f6bb6297c_3600x2358.png 848w, https://substackcdn.com/image/fetch/$s_!E8EQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f64b7a8-c69c-4174-86ed-719f6bb6297c_3600x2358.png 1272w, https://substackcdn.com/image/fetch/$s_!E8EQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f64b7a8-c69c-4174-86ed-719f6bb6297c_3600x2358.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>But here&#8217;s the best part.. </h3><p>The prototype on the left also inherits all the component props and all the state changes so you get the actual code components that your devs are using in production!</p><p>Check out this demo video where you can see how it automatically:</p><ul><li><p>inherits the input field active state with the &#8220;clear values&#8221; X icon.</p></li><li><p>the buttons have the exact implementation of the pressed and hover states.</p></li></ul><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;8bfaff4f-744a-4a9a-bddc-5279a2dccd36&quot;,&quot;duration&quot;:null}"></div><h4>Final step: Turn it into a template for the whole org</h4><p>After installing packages and adding guidelines, publish the Make file as a template so everyone starts from the same baseline.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U8e5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732d3116-991a-4205-89f4-a3ae6e28b869_2400x1572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U8e5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732d3116-991a-4205-89f4-a3ae6e28b869_2400x1572.png 424w, https://substackcdn.com/image/fetch/$s_!U8e5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732d3116-991a-4205-89f4-a3ae6e28b869_2400x1572.png 848w, https://substackcdn.com/image/fetch/$s_!U8e5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732d3116-991a-4205-89f4-a3ae6e28b869_2400x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!U8e5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732d3116-991a-4205-89f4-a3ae6e28b869_2400x1572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U8e5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732d3116-991a-4205-89f4-a3ae6e28b869_2400x1572.png" width="1456" height="954" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/732d3116-991a-4205-89f4-a3ae6e28b869_2400x1572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:954,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3090566,&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://designaistack.com/i/187485044?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732d3116-991a-4205-89f4-a3ae6e28b869_2400x1572.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_!U8e5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732d3116-991a-4205-89f4-a3ae6e28b869_2400x1572.png 424w, https://substackcdn.com/image/fetch/$s_!U8e5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732d3116-991a-4205-89f4-a3ae6e28b869_2400x1572.png 848w, https://substackcdn.com/image/fetch/$s_!U8e5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732d3116-991a-4205-89f4-a3ae6e28b869_2400x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!U8e5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F732d3116-991a-4205-89f4-a3ae6e28b869_2400x1572.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><h3>Path B: No internal design system yet? Use an existing one (the fun path)</h3><p>Maybe you need to move fast as a solo founder or just a team with no designers, this one&#8217;s for you!</p>
      <p>
          <a href="https://www.designaistack.com/p/your-figma-make-prototypes-look-cheap">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Don't sleep on Cursor's Plan Mode]]></title><description><![CDATA[Refactoring an app as a designer (without knowing engineering)]]></description><link>https://www.designaistack.com/p/this-is-how-i-use-cursors-plan-mode</link><guid isPermaLink="false">https://www.designaistack.com/p/this-is-how-i-use-cursors-plan-mode</guid><dc:creator><![CDATA[Sherizan]]></dc:creator><pubDate>Fri, 16 Jan 2026 07:36:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rTwH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.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_!rTwH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rTwH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.png 424w, https://substackcdn.com/image/fetch/$s_!rTwH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.png 848w, https://substackcdn.com/image/fetch/$s_!rTwH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!rTwH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rTwH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.png" width="1456" height="973" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:973,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1180184,&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://designaistack.com/i/184741770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.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_!rTwH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.png 424w, https://substackcdn.com/image/fetch/$s_!rTwH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.png 848w, https://substackcdn.com/image/fetch/$s_!rTwH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!rTwH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ec8712-8f4e-4e3d-a66b-7672db8eced3_1874x1252.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><h4>I vibecoded an app. It worked. Then it didn&#8217;t.</h4><p>About a year ago, I launched <strong><a href="http://nasma.ai">Nasma</a></strong>, a daily habit app.<br>Not after months of planning. Not with a big team.</p><p>I tried Cursor for the first time in Jan 2025, wanted to see if I could actually build a native iOS app, and&#8230; two weeks later it was live.</p><p>I posted it on LinkedIn.<br>People downloaded it.<br>Feature requests rolled in.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3bFB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e9fe7e8-53cf-45c1-9585-080d977c76e0_2400x1572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3bFB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e9fe7e8-53cf-45c1-9585-080d977c76e0_2400x1572.png 424w, https://substackcdn.com/image/fetch/$s_!3bFB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e9fe7e8-53cf-45c1-9585-080d977c76e0_2400x1572.png 848w, https://substackcdn.com/image/fetch/$s_!3bFB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e9fe7e8-53cf-45c1-9585-080d977c76e0_2400x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!3bFB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e9fe7e8-53cf-45c1-9585-080d977c76e0_2400x1572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3bFB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e9fe7e8-53cf-45c1-9585-080d977c76e0_2400x1572.png" width="1456" height="954" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e9fe7e8-53cf-45c1-9585-080d977c76e0_2400x1572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:954,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3189110,&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://designaistack.com/i/184741770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e9fe7e8-53cf-45c1-9585-080d977c76e0_2400x1572.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_!3bFB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e9fe7e8-53cf-45c1-9585-080d977c76e0_2400x1572.png 424w, https://substackcdn.com/image/fetch/$s_!3bFB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e9fe7e8-53cf-45c1-9585-080d977c76e0_2400x1572.png 848w, https://substackcdn.com/image/fetch/$s_!3bFB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e9fe7e8-53cf-45c1-9585-080d977c76e0_2400x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!3bFB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e9fe7e8-53cf-45c1-9585-080d977c76e0_2400x1572.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><p>So I did what every vibecoder does:</p><ul><li><p>ship fast</p></li><li><p>add features</p></li><li><p>keep momentum</p></li></ul><p>Today:</p><ul><li><p><strong>thousands of active users</strong></p></li><li><p>users mainly from the <strong>US, UK, India, Indonesia</strong></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_!dve_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9745e5c9-9cd5-4314-8bec-b06713b69a97_2880x2048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dve_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9745e5c9-9cd5-4314-8bec-b06713b69a97_2880x2048.png 424w, https://substackcdn.com/image/fetch/$s_!dve_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9745e5c9-9cd5-4314-8bec-b06713b69a97_2880x2048.png 848w, https://substackcdn.com/image/fetch/$s_!dve_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9745e5c9-9cd5-4314-8bec-b06713b69a97_2880x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!dve_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9745e5c9-9cd5-4314-8bec-b06713b69a97_2880x2048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dve_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9745e5c9-9cd5-4314-8bec-b06713b69a97_2880x2048.png" width="1456" height="1035" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9745e5c9-9cd5-4314-8bec-b06713b69a97_2880x2048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1035,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4013468,&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://designaistack.com/i/184741770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9745e5c9-9cd5-4314-8bec-b06713b69a97_2880x2048.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_!dve_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9745e5c9-9cd5-4314-8bec-b06713b69a97_2880x2048.png 424w, https://substackcdn.com/image/fetch/$s_!dve_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9745e5c9-9cd5-4314-8bec-b06713b69a97_2880x2048.png 848w, https://substackcdn.com/image/fetch/$s_!dve_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9745e5c9-9cd5-4314-8bec-b06713b69a97_2880x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!dve_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9745e5c9-9cd5-4314-8bec-b06713b69a97_2880x2048.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>Except retention was bad.</p><p>After <strong>Day 14</strong>, only <strong>~5%</strong> of users came back.</p><p>That&#8217;s when I stopped shipping and started <em>thinking</em>.</p><div><hr></div><h3>The mistake I made (classic vibecoder move)</h3><p>I assumed:</p><blockquote><p>&#8220;If something feels slow or messy, I just need to refactor everything.&#8221;</p></blockquote><p>Wrong.</p><p>What I actually needed was <strong>clarity before code</strong>.</p><p>That&#8217;s where <strong>Cursor&#8217;s Plan Mode</strong> quietly became the most useful feature I wasn&#8217;t using properly. (Well it also didn&#8217;t exist back in Jan)</p><div><hr></div><h3>How I <em>actually</em> use Plan Mode (not the marketing version)</h3><p>I don&#8217;t use Plan Mode to &#8220;build&#8221;.</p><p>I use it to:</p>
      <p>
          <a href="https://www.designaistack.com/p/this-is-how-i-use-cursors-plan-mode">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Meet Superdesigner, My Design OS in Cursor  — Part II]]></title><description><![CDATA[And no, its not another UI generation tool.]]></description><link>https://www.designaistack.com/p/meet-superdesigner-my-design-os-in</link><guid isPermaLink="false">https://www.designaistack.com/p/meet-superdesigner-my-design-os-in</guid><dc:creator><![CDATA[Sherizan]]></dc:creator><pubDate>Thu, 08 Jan 2026 14:10:28 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/183904497/c33bc8a9d951cc2ae103f768b709ff28.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>PRDs live in Confluence.<br>Research lives in Google Docs.<br>Designs live in Figma.<br>Analytics live in dashboards.<br>Feedback lives in email/messaging threads.</p><p>And the designer?<br>Manually stitching meaning together before every review.</p><p>This article is about what happens when you <strong>stop stitching</strong>.</p><h3>The idea behind Superdesigner</h3><p>Superdesigner is not a design tool.</p><p>It&#8217;s not a UI generator.<br>It&#8217;s not a Figma replacement.<br>It&#8217;s not another place to write docs.</p><p>Superdesigner is a <strong>reasoning layer</strong> that runs inside Cursor.</p><p>It connects to where real work already lives like Confluence, Notion, Figma, analytics and helps AI reason <em>across</em> them.</p><h3>&#8220;But Sherizan, I can paste all this into ChatGPT&#8221;</h3><p>I hear this a lot.</p><p>And yes you <em>can</em> paste:</p><ul><li><p>your PRD</p></li><li><p>some research</p></li><li><p>screenshots</p></li><li><p>analytics summaries</p></li></ul><p>Into ChatGPT and get feedback.</p><p>But that&#8217;s not the same thing.</p><h3>The real difference is not intelligence. It&#8217;s grounded, live context</h3><p>ChatGPT sees <strong>what you upload or paste</strong>.</p><p>Superdesigner sees:</p><ul><li><p>the actual PRD in Confluence</p></li><li><p>the latest research in Notion</p></li><li><p>the real Figma file</p></li><li><p>the real analytics funnel</p></li></ul><p>Not a summary.<br>Not a screenshot.<br>The source of truth.</p><p>And when scope changes?</p><p>You edit the PRD where it already lives, re-run the review and new gaps surface.</p><p>No copy-paste.<br>No drift.<br>No stale context.</p><h3>How Superdesigner actually works (honestly)</h3><p>One important clarification.</p><p>Superdesigner does <strong>not</strong> magically think on its own.</p><p>What it does is very deliberate.</p><p>It generates a <strong>structured, opinionated design-review prompt</strong> grounded in your real project context and passes that prompt to the Cursor AI agent.</p><p>You never write prompts.<br>You never tune roles.<br>You never say &#8220;act as a senior designer.&#8221;</p><p>You just run the workflow.</p><p>That consistency is the product.</p><h3>A real project walkthrough</h3><p>In my video, I run Superdesigner on a real project.</p><p>Here&#8217;s the actual flow.</p><h4>1. Connect the sources of truth</h4><ul><li><p>PRD &#8594; Confluence (downloaded as Markdown)</p></li><li><p>Research &#8594; Google Docs (downloaded as Markdown)</p></li><li><p>Designs &#8594; Figma (via MCP)</p></li><li><p>Analytics &#8594; Amplitude (not in demo, via MCP)</p></li></ul><p>Superdesigner pulls snapshots of these into context so Cursor can reason across them.</p><h4>2. Run the review</h4><pre><code><code>npm run review</code></code></pre><p>Superdesigner:</p><ul><li><p>generates a design-review prompt</p></li><li><p>hands it to Cursor&#8217;s AI agent</p></li><li><p>produces a <code>design-review.md</code></p></li></ul><p>No prompting.<br>No guessing.<br>Same structure every time.</p><h4>3. Read the output (this is the magic)</h4><p>The generated <code>design-review.md</code> is not UI.</p><p>It&#8217;s a <strong>design review</strong> that calls out:</p><ul><li><p>missing states (empty, error, recovery)</p></li><li><p>gaps between PRD and flows</p></li><li><p>risky assumptions</p></li><li><p>things that will come up in review</p></li><li><p>things that should come up but usually don&#8217;t</p></li></ul><p>This is what you read:</p><ul><li><p>before design review</p></li><li><p>before handoff</p></li><li><p>before launch</p></li></ul><p>This file is the product.</p><h3>Why Cursor matters</h3><p>Cursor isn&#8217;t just an editor.</p><p>It&#8217;s an <strong>agent runtime</strong>.</p><p>Because Superdesigner runs inside Cursor:</p><ul><li><p>it understands the full project context</p></li><li><p>it can re-run reviews as things change</p></li><li><p>it can chain tools together via MCP</p></li></ul><p>This is where things get interesting.</p><h3>MCP is where this becomes powerful</h3><h4>Figma MCP</h4><p>Superdesigner can:</p><ul><li><p>read Figma file structure</p></li><li><p>understand flow coverage</p></li><li><p>write <strong>high-confidence comments back to Figma</strong></p></li></ul><p>Not visual critique.<br>Not opinions.</p><p>Comments like:</p><ul><li><p>&#8220;The PRD mentions a retry state here &#8212; I don&#8217;t see one.&#8221;</p></li><li><p>&#8220;What happens if the user fails eligibility?&#8221;</p></li></ul><p>AI that speaks <strong>inside the workflow</strong>, not next to it.</p><h4>Analytics MCP (e.g. Amplitude)</h4><p>Now add reality.</p><p>Superdesigner can reason like this:</p><ul><li><p>&#8220;This step is unclear in design&#8221;</p></li><li><p><em>and</em> analytics shows drop-off here</p></li></ul><p>This isn&#8217;t design advice anymore.<br>It&#8217;s <strong>evidence-backed design reasoning</strong>.</p><h3>Why this is not a Figma plugin</h3><p>Plugins are great for:</p><ul><li><p>generating UI</p></li><li><p>manipulating canvas</p></li><li><p>speeding up execution</p></li></ul><p>Superdesigner is about:</p><ul><li><p>thinking</p></li><li><p>seeing blind spots</p></li><li><p>preventing design regret</p></li></ul><p>It doesn&#8217;t replace Figma.<br>It makes you better <em>before</em> you open it.</p><h3>Solving the blank canvas problem (what&#8217;s next)</h3><p>One of the hardest moments in design is the start.</p><p>No screens.<br>No flows.<br>Just a rough PRD and some research.</p><p>Superdesigner will evolve to support this cold start:</p><ul><li><p>connect to fundamental research</p></li><li><p>read a rough PRD</p></li><li><p>generate:</p><ul><li><p>user flows</p></li><li><p>state outlines</p></li><li><p>screen structure (not UI)</p></li></ul></li></ul><p>From there, plugins and tools (e.g. Figma outline generators like CTTF-style workflows) can push that structure back into Figma.</p><p>Designers don&#8217;t start from a blank canvas.<br>They start from clarity.</p><h3>What Superdesigner is (and isn&#8217;t)</h3><p>It <strong>is</strong>:</p><ul><li><p>a second brain for designers</p></li><li><p>a repeatable design review system</p></li><li><p>a reasoning layer across tools</p></li></ul><p>It <strong>is not</strong>:</p><ul><li><p>a UI generator</p></li><li><p>a design replacement</p></li><li><p>another dashboard</p></li></ul><h3>Why I&#8217;m building this in public</h3><p>Because I&#8217;m already using it.</p><p>Before reviews.<br>Before handoff.<br>Before launch.</p><p>And every time, it catches something small that would&#8217;ve turned into a big conversation later.</p><p>That&#8217;s the value.</p><blockquote><p>If you have a design review this week, run this once before it.</p></blockquote><p>You can clone it entirely free and customise it however you want at <strong><a href="http://superdesigner.ai">superdesigner.ai</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_!fuCG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f88c36-646a-4a7b-a124-50ef2499502f_3840x2010.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fuCG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f88c36-646a-4a7b-a124-50ef2499502f_3840x2010.png 424w, https://substackcdn.com/image/fetch/$s_!fuCG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f88c36-646a-4a7b-a124-50ef2499502f_3840x2010.png 848w, https://substackcdn.com/image/fetch/$s_!fuCG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f88c36-646a-4a7b-a124-50ef2499502f_3840x2010.png 1272w, https://substackcdn.com/image/fetch/$s_!fuCG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f88c36-646a-4a7b-a124-50ef2499502f_3840x2010.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fuCG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f88c36-646a-4a7b-a124-50ef2499502f_3840x2010.png" width="1456" height="762" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8f88c36-646a-4a7b-a124-50ef2499502f_3840x2010.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:762,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7501625,&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://designaistack.com/i/183904497?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f88c36-646a-4a7b-a124-50ef2499502f_3840x2010.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_!fuCG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f88c36-646a-4a7b-a124-50ef2499502f_3840x2010.png 424w, https://substackcdn.com/image/fetch/$s_!fuCG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f88c36-646a-4a7b-a124-50ef2499502f_3840x2010.png 848w, https://substackcdn.com/image/fetch/$s_!fuCG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f88c36-646a-4a7b-a124-50ef2499502f_3840x2010.png 1272w, https://substackcdn.com/image/fetch/$s_!fuCG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f88c36-646a-4a7b-a124-50ef2499502f_3840x2010.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>]]></content:encoded></item><item><title><![CDATA[Cursor Is My Design OS Now]]></title><description><![CDATA[When PRDs, Figma, and analytics start talking to each other]]></description><link>https://www.designaistack.com/p/how-i-turned-cursor-into-a-design</link><guid isPermaLink="false">https://www.designaistack.com/p/how-i-turned-cursor-into-a-design</guid><dc:creator><![CDATA[Sherizan]]></dc:creator><pubDate>Wed, 07 Jan 2026 01:42:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RSOj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.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_!RSOj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RSOj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.png 424w, https://substackcdn.com/image/fetch/$s_!RSOj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.png 848w, https://substackcdn.com/image/fetch/$s_!RSOj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!RSOj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RSOj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.png" width="1456" height="1040" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1040,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4814406,&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://designaistack.com/i/183739604?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.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_!RSOj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.png 424w, https://substackcdn.com/image/fetch/$s_!RSOj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.png 848w, https://substackcdn.com/image/fetch/$s_!RSOj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!RSOj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccd80381-84e5-4afa-9e18-c109eca2bd3f_1680x1200.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>If you&#8217;ve reviewed enough designs, you know the moment. The screens are polished. The flows look reasonable. The prototype &#8220;works.&#8221; And yet.. during review.. small things begin to surface. An edge case no one considered. A missing empty state. A flow that technically connects but doesn&#8217;t quite make sense when you say it out loud. A requirement that everyone thought they understood but didn&#8217;t.</p><p>The sprint slows down. Conversations stretch. Designers pissed.</p><p>This doesn&#8217;t happen because we aren&#8217;t careful. It happens because design review today is built on a fragile assumption: that looking at screens is enough to understand intent.</p><p>It isn&#8217;t.</p><h2>The real failure mode of design review</h2><p>In most teams, design work is fragmented by default.</p><p>Product requirements live in documents or PDFs. Research lives in decks. Designs live in Figma. Feedback lives in comments. Analytics lives somewhere else entirely. And most of the time, decisions were made in meetings that you didn&#8217;t attend.</p><p>When review time comes, we open Figma and try to reconstruct the story in our heads. We rely what we remembered happen. We rely on trust that nothing important was lost along the way.</p><p>I wasn&#8217;t reviewing intent. I was reviewing screenshots.</p><h2>Why AI hasn&#8217;t meaningfully helped (yet)</h2><p>Over the past year, we&#8217;ve seen an explosion of &#8220;AI for designers&#8221; tools. Most of them promise some variation of speed: faster screens, faster layouts, faster execution.</p><p>But review isn&#8217;t about speed. It&#8217;s about completeness.</p><p>The hardest part of design review isn&#8217;t drawing the UI. It&#8217;s answering quieter questions:<br>Did we design all the states? Did we account for failure? Does this flow actually satisfy the original intent? Did research insights make it into the final decisions?</p><p>AI struggles here because it&#8217;s usually given only the output aka the screens and without the inputs that shaped them. Without access to intent, AI can only guess.</p><p>Context isn&#8217;t a nice-to-have for review. It&#8217;s the entire job.</p><h2>A different approach</h2><p>Instead of building another web app or Figma plugin, I tried something simpler.</p><p>I turned Cursor into my design review workspace.</p><p>Cursor already has everything review needs: files, folders, long-form context, and agents that can reason across documents. More importantly, it&#8217;s already where I think when I&#8217;m trying to understand a system.</p><p>So I built <strong><a href="http://superdesigner.ai">Superdesigner.ai</a> </strong>as a lightweight, local workflow.</p><p>Not a product that generates UI. Not a tool that critiques visual style. But a system that reviews design intent by reading the same artifacts my colleagues rely on just more consistently and on-demand.</p><h2>What Superdesigner actually does</h2><p>Here&#8217;s a demo of how it works:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;dc6c49a5-bb7d-4096-b1b0-8eb866cd4360&quot;,&quot;duration&quot;:null}"></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.designaistack.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">Design AI Stack is a reader-supported publication. To receive new posts and support my work, consider subscribing por favor.</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>At its core, Superdesigner reads three things: the PRD, the research, and the Figma link.</p><p>From that, it produces a structured design review. It reconstructs the intended user flow. It generates a checklist of expected screens. It highlights missing states like empty, loading, error, recovery. It surfaces edge cases described in the PRD that never made it into design.</p><p>It generates calm, specific comments that can be posted directly into Figma, grounded in intent rather than opinion.</p><p>And finally, the icing on the cake. It creates a Figma Make prompt to generate a new prototype with the proposed solutions baked in. Almost Black Mirror-ish. </p><p>It doesn&#8217;t judge aesthetics. It doesn&#8217;t argue taste. It answers a simpler question: <em>is this design complete relative to what we said we were building?</em></p><h2>The shift this enables</h2><p>Design review shouldn&#8217;t start in Figma.</p><p>It should start with intent.</p><p>When intent is explicit and traceable, visual critique becomes easier and more productive. Conversations move from &#8220;I feel like something&#8217;s missing&#8221; to &#8220;this requirement hasn&#8217;t been addressed yet.&#8221;</p><p>Superdesigner doesn&#8217;t replace designers. It reduces design regret, the kind that shows up late, costs time, and erodes trust.</p><h2>Why this works inside Cursor</h2><p>Cursor isn&#8217;t just an editor. It&#8217;s a thinking environment.</p><p>By keeping PRDs, research, review prompts, and outputs in one place, designers stay in flow. There are no dashboards to manage, no accounts to create, no abstraction layers to learn. Just files and agents doing their job.</p><p>That constraint is intentional. Review works best when it&#8217;s quiet, focused, and grounded.</p><h2>How I&#8217;m sharing this</h2><p>I&#8217;m open-sourcing Superdesigner AI as a template repository.</p><p>You clone it, star it, run it locally, and test it on a real project. I recommend starting small like one PRD, one flow, one review. Judge the feedback. Test different models. </p><p>See what it catches. More importantly, see what it misses.</p><p>That feedback is the point.</p><p>Got a design review or critique this week? Run this once and you&#8217;re set!</p><p>&#128073; <a href="https://github.com/sherizan/superdesigner-ai">https://github.com/sherizan/superdesigner-ai</a></p><h2>Who this is for</h2><p>This is for designers who care about craft, design managers reviewing multiple projects, founding designers balancing strategy and execution, and teams shipping fast with AI in the loop.</p><p>If you&#8217;ve ever looked at a design and thought, <em>this seems fine, but something feels off</em>, this tool is built for that moment.</p><h2>What&#8217;s next</h2><p>I&#8217;ll follow this up with a live YouTube build, deeper workflows that connect analytics (Amplitude MCP) before it generates the final design report (now that&#8217;s some Black Mirror stuff right there), and thoughts on how we can evolve this into a practice for modern design teams.</p><p>For now, try it. Break it. Tell me what it gets wrong.</p><p>That&#8217;s how this becomes useful.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8vFj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd21b3e-d5e9-469b-97fb-f00c66414d9d_3840x2010.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8vFj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd21b3e-d5e9-469b-97fb-f00c66414d9d_3840x2010.png 424w, https://substackcdn.com/image/fetch/$s_!8vFj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd21b3e-d5e9-469b-97fb-f00c66414d9d_3840x2010.png 848w, https://substackcdn.com/image/fetch/$s_!8vFj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd21b3e-d5e9-469b-97fb-f00c66414d9d_3840x2010.png 1272w, https://substackcdn.com/image/fetch/$s_!8vFj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd21b3e-d5e9-469b-97fb-f00c66414d9d_3840x2010.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8vFj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd21b3e-d5e9-469b-97fb-f00c66414d9d_3840x2010.png" width="1456" height="762" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8fd21b3e-d5e9-469b-97fb-f00c66414d9d_3840x2010.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:762,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7501625,&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://designaistack.com/i/183739604?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd21b3e-d5e9-469b-97fb-f00c66414d9d_3840x2010.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_!8vFj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd21b3e-d5e9-469b-97fb-f00c66414d9d_3840x2010.png 424w, https://substackcdn.com/image/fetch/$s_!8vFj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd21b3e-d5e9-469b-97fb-f00c66414d9d_3840x2010.png 848w, https://substackcdn.com/image/fetch/$s_!8vFj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd21b3e-d5e9-469b-97fb-f00c66414d9d_3840x2010.png 1272w, https://substackcdn.com/image/fetch/$s_!8vFj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd21b3e-d5e9-469b-97fb-f00c66414d9d_3840x2010.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 class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://www.designaistack.com/p/how-i-turned-cursor-into-a-design?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Design AI Stack! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.designaistack.com/p/how-i-turned-cursor-into-a-design?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.designaistack.com/p/how-i-turned-cursor-into-a-design?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p>]]></content:encoded></item><item><title><![CDATA[How I Used Gemini and Reddit to Find My Next Build]]></title><description><![CDATA[Using Gemini Deep Research to uncover real user pain points and Cursor to build the solution]]></description><link>https://www.designaistack.com/p/how-i-used-gemini-and-reddit-to-find</link><guid isPermaLink="false">https://www.designaistack.com/p/how-i-used-gemini-and-reddit-to-find</guid><dc:creator><![CDATA[Sherizan]]></dc:creator><pubDate>Wed, 31 Dec 2025 10:47:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8AD3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.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_!8AD3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8AD3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.png 424w, https://substackcdn.com/image/fetch/$s_!8AD3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.png 848w, https://substackcdn.com/image/fetch/$s_!8AD3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.png 1272w, https://substackcdn.com/image/fetch/$s_!8AD3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8AD3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.png" width="840" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:840,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:316317,&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://designaistack.com/i/178925121?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.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_!8AD3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.png 424w, https://substackcdn.com/image/fetch/$s_!8AD3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.png 848w, https://substackcdn.com/image/fetch/$s_!8AD3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.png 1272w, https://substackcdn.com/image/fetch/$s_!8AD3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c4d4004-4dea-49d0-9481-5478ef117f64_840x600.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&#8217;ve been genuinely impressed with Google Gemini lately.</p><p>I&#8217;ve been testing their Deep Research feature for a while, and it&#8217;s surprisingly good at understanding context not just keywords. It doesn&#8217;t just scrape the web.. it actually knows where to look.</p><p>Including Reddit.</p><p>And if you want to understand what designers actually complain about, Reddit is where the unfiltered truth lives.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3MD4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71fddf85-93fa-4d18-9e6c-27e64dbee51f_1874x1252.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3MD4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71fddf85-93fa-4d18-9e6c-27e64dbee51f_1874x1252.png 424w, https://substackcdn.com/image/fetch/$s_!3MD4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71fddf85-93fa-4d18-9e6c-27e64dbee51f_1874x1252.png 848w, https://substackcdn.com/image/fetch/$s_!3MD4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71fddf85-93fa-4d18-9e6c-27e64dbee51f_1874x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!3MD4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71fddf85-93fa-4d18-9e6c-27e64dbee51f_1874x1252.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3MD4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71fddf85-93fa-4d18-9e6c-27e64dbee51f_1874x1252.png" width="1456" height="973" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71fddf85-93fa-4d18-9e6c-27e64dbee51f_1874x1252.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:973,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:204583,&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://designaistack.com/i/178925121?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71fddf85-93fa-4d18-9e6c-27e64dbee51f_1874x1252.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_!3MD4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71fddf85-93fa-4d18-9e6c-27e64dbee51f_1874x1252.png 424w, https://substackcdn.com/image/fetch/$s_!3MD4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71fddf85-93fa-4d18-9e6c-27e64dbee51f_1874x1252.png 848w, https://substackcdn.com/image/fetch/$s_!3MD4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71fddf85-93fa-4d18-9e6c-27e64dbee51f_1874x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!3MD4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71fddf85-93fa-4d18-9e6c-27e64dbee51f_1874x1252.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><h3>The Goal</h3><p>I had two goals going into this:</p><ol><li><p>Learn how to build a<strong> Figma plugin</strong></p></li><li><p>Figure out <strong>real pain points Figma users are facing today</strong></p></li></ol><p>Not vibes.<br>Not Twitter hot takes.<br>Real frustrations, repeated by real users.</p><p>So I decided to put Gemini to work.</p><h3>The Prompt I Gave Gemini</h3><p>Here&#8217;s the exact prompt I used:</p>
      <p>
          <a href="https://www.designaistack.com/p/how-i-used-gemini-and-reddit-to-find">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Static Prototypes Are Lying to You]]></title><description><![CDATA[A practical, start-to-finish breakdown of my AI-powered workflow: Figma MCP &#8594; Cursor &#8594; Production-ready UI.]]></description><link>https://www.designaistack.com/p/skip-prototyping-build-react-native</link><guid isPermaLink="false">https://www.designaistack.com/p/skip-prototyping-build-react-native</guid><dc:creator><![CDATA[Sherizan]]></dc:creator><pubDate>Tue, 16 Dec 2025 09:59:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hUKT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We&#8217;re officially in the era where design systems can build apps not designers, not engineers, but the actual system itself.</p><p>And the trio that unlocked it for me is:</p><p>Design Tokens &#8594; Figma MCP &#8594; Cursor.</p><p>This workflow completely removed the &#8220;prototype first&#8221; mindset and replaced it with something faster:</p><p>Design &#8594; Prompt &#8594; Build &#8594; Test.</p><p>No static flows.No endless handoff meetings. And zero guesswork for how something should feel on mobile.</p><p>Let&#8217;s break down exactly how I do it. </p><h3>1. Start With a Clean Figma File</h3><p>Here&#8217;s what we are going to build today:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hUKT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hUKT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.png 424w, https://substackcdn.com/image/fetch/$s_!hUKT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.png 848w, https://substackcdn.com/image/fetch/$s_!hUKT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.png 1272w, https://substackcdn.com/image/fetch/$s_!hUKT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hUKT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.png" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.png&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;:614055,&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://designaistack.com/i/181231886?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.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_!hUKT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.png 424w, https://substackcdn.com/image/fetch/$s_!hUKT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.png 848w, https://substackcdn.com/image/fetch/$s_!hUKT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.png 1272w, https://substackcdn.com/image/fetch/$s_!hUKT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F417249c2-7716-4fdf-b772-b05997f0a2e4_3268x2450.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 prepared two screens (one default state &amp; one end state).</p><p>Here&#8217;s the baseline checklist I follow:</p><ul><li><p>Auto Layout everywhere</p></li><li><p>All colors, spacing, radii, typography = tokens</p></li><li><p>Real variants, not duplicates</p></li><li><p>Logical naming: Button / Primary / Large</p></li><li><p>No ghost frames</p></li><li><p>No random 17px text sizes that &#8220;felt right at the time&#8221;</p></li></ul><p>Because whatever is in Figma&#8230; becomes your code.</p><h3>2. Activate Figma MCP (Your Design System Becomes an API)</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!53Am!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c82f26-8702-4c4c-a728-c1e1afc65b2e_3840x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!53Am!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c82f26-8702-4c4c-a728-c1e1afc65b2e_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!53Am!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c82f26-8702-4c4c-a728-c1e1afc65b2e_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!53Am!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c82f26-8702-4c4c-a728-c1e1afc65b2e_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!53Am!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c82f26-8702-4c4c-a728-c1e1afc65b2e_3840x2160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!53Am!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c82f26-8702-4c4c-a728-c1e1afc65b2e_3840x2160.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69c82f26-8702-4c4c-a728-c1e1afc65b2e_3840x2160.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;:4314853,&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://designaistack.com/i/181231886?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c82f26-8702-4c4c-a728-c1e1afc65b2e_3840x2160.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_!53Am!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c82f26-8702-4c4c-a728-c1e1afc65b2e_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!53Am!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c82f26-8702-4c4c-a728-c1e1afc65b2e_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!53Am!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c82f26-8702-4c4c-a728-c1e1afc65b2e_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!53Am!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69c82f26-8702-4c4c-a728-c1e1afc65b2e_3840x2160.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 is where things get interesting.</p><p>Figma MCP turns your file into something AI tools can query:</p><ul><li><p>Tokens</p></li><li><p>Components</p></li><li><p>Variants</p></li><li><p>Layer structure</p></li><li><p>Metadata</p></li></ul><p>Cursor can literally ask Figma:</p><blockquote><p>&#8220;Give me the real Button component with real spacing, real radius, and the Light/Dark tokens.&#8221;</p></blockquote><p>It&#8217;s API-level access to your design system.</p><p>This is the moment your design file stops being &#8220;a handoff document&#8221; and starts becoming infrastructure.</p><h3>3. Cursor Generates a Full Design System Folder</h3><p>Before any UI is built, Cursor does something magical:</p><p>It creates a full folder like this:</p><pre><code>design-system/
  tokens.json</code></pre><p>Clean, typed, structured.</p><p>This is the part that feels like cheating:</p><p>Your design system is now real JSON.<br>Not manually written.<br>Not reinvented.</p><p>Generated straight from Figma through MCP.</p><p>And Cursor will reference these tokens for every screen you build.</p><p>That&#8217;s where Cursor Rules come in.</p><p>Create a new rule under .cursor/rules</p><pre><code># Theme Rules

You are building a React Native Expo app.

- Always use tokens from `design-system/tokens.json` for colors, spacing, radius, typography.
- Never hardcode hex colors or random spacing if a token exists.</code></pre><h3>4. Skip Prototyping &#8212; Go Straight to Building in Cursor</h3><p>This is where the workflow becomes addictive.</p><p>Traditionally, you&#8217;d spend days:</p><ul><li><p>mapping flows,</p></li><li><p>designing static screens,</p></li><li><p>prototyping interactions,</p></li><li><p>presenting it all,</p></li><li><p>revising,</p></li><li><p>re-presenting&#8230;</p></li></ul><p><em><strong>But with MCP + Cursor: the build IS the prototype.</strong></em></p><p>You can actually feel the UI on mobile instead of imagining it.</p><p>For example:</p><p>In my recent speed run, I built:</p><ul><li><p>Profile &#8594; QR Code navigation</p></li><li><p>Plus &#8594; Close animated button</p></li><li><p>5 mini icons fading in sequentially</p></li><li><p>Real touch interactions</p></li><li><p>True mobile motion</p></li><li><p>Zero manual code from me</p></li></ul><p>Cursor built everything from my prompts + tokens</p><p>The results look and behave better than any Figma prototype because&#8230; they&#8217;re not prototypes.</p><p>They&#8217;re real mobile interactions.</p><h3>5. The Prompt That Drives Everything</h3><p>Because MCP exposes your design system, your prompts don&#8217;t need to be verbose. They just need to be structured.</p><p>Here&#8217;s my prompt:</p>
      <p>
          <a href="https://www.designaistack.com/p/skip-prototyping-build-react-native">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How I Built A Website Without Figma.]]></title><description><![CDATA[Watch now | How AI workflows are replacing the traditional design &#8594; build pipeline]]></description><link>https://www.designaistack.com/p/how-to-build-a-landing-page-without</link><guid isPermaLink="false">https://www.designaistack.com/p/how-to-build-a-landing-page-without</guid><dc:creator><![CDATA[Sherizan]]></dc:creator><pubDate>Tue, 02 Dec 2025 07:39:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/36d75eb8-2796-4830-bbfe-4d56dc337d45_840x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Watch the final results on my channel: <a href="https://youtu.be/UoRoIjEa9PA?si=G1Q_rUhdSkN00RRy">YT @sherizan</a></strong></p><div><hr></div><p>There was a time when every new idea started in Figma. </p><p>Open a frame. <br>Drop a layout grid. <br>Throw rectangles everywhere. <br>Try a font. <br>Undo. Redo. Undo again.</p><p>This week, I tried something different. I started with ChatGPT first then moving to Midjourney, a UI web library and putting it together with Cursor.</p><p>No Figma. No traditional design file.</p><p>Just prompts, components, and a browser tab.</p><p>The workflow felt natural. Faster. Lighter. Closer to how we think than how we design.</p><p>Here&#8217;s the full breakdown of how the website came together.</p><div id="youtube2-UoRoIjEa9PA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;UoRoIjEa9PA&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/UoRoIjEa9PA?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>1. Planning with ChatGPT</strong></p><p>Instead of wireframing, I started with a conversation.</p><p>&#8220;What&#8217;s the simplest way to build a clean landing page for my idea?&#8221;</p><p>Within seconds, I had:</p><ul><li><p>A rough site structure</p></li><li><p>A narrative flow</p></li><li><p>Suggested sections</p></li><li><p>A content outline</p></li><li><p>A quick list of supporting assets</p></li></ul><p>This is where designers forget the real shift: AI is not replacing creativity, it&#8217;s removing the friction between the idea and the first draft.</p><p>Skipping Figma at this stage made everything faster. No frames. No rulers. No component hunting.</p><p>Just intent.</p><p><strong>2. Generating the hero visuals with Midjourney</strong></p><p>Next step: the aesthetic.</p><p>I asked Midjourney for a photorealistic vibe that matches the product.</p><p>Something that would make sense as a hero background. </p><p>Here&#8217;s the prompt:</p>
      <p>
          <a href="https://www.designaistack.com/p/how-to-build-a-landing-page-without">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[You Don’t Need PRDs. Prototyping IS the PRD.]]></title><description><![CDATA[Here&#8217;s what you need to make PRD > Prototype work]]></description><link>https://www.designaistack.com/p/designers-dont-need-prds-anymore</link><guid isPermaLink="false">https://www.designaistack.com/p/designers-dont-need-prds-anymore</guid><dc:creator><![CDATA[Sherizan]]></dc:creator><pubDate>Sun, 30 Nov 2025 06:25:05 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/91dd8be3-dee0-41fa-8447-a92bad58063f_840x600.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_!eF6H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a34e08-6dd5-4ec2-a336-a63063c675dc_2782x1506.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eF6H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a34e08-6dd5-4ec2-a336-a63063c675dc_2782x1506.png 424w, https://substackcdn.com/image/fetch/$s_!eF6H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a34e08-6dd5-4ec2-a336-a63063c675dc_2782x1506.png 848w, https://substackcdn.com/image/fetch/$s_!eF6H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a34e08-6dd5-4ec2-a336-a63063c675dc_2782x1506.png 1272w, https://substackcdn.com/image/fetch/$s_!eF6H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a34e08-6dd5-4ec2-a336-a63063c675dc_2782x1506.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eF6H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a34e08-6dd5-4ec2-a336-a63063c675dc_2782x1506.png" width="1456" height="788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28a34e08-6dd5-4ec2-a336-a63063c675dc_2782x1506.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:788,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1045408,&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://sherizan.substack.com/i/179733665?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a34e08-6dd5-4ec2-a336-a63063c675dc_2782x1506.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_!eF6H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a34e08-6dd5-4ec2-a336-a63063c675dc_2782x1506.png 424w, https://substackcdn.com/image/fetch/$s_!eF6H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a34e08-6dd5-4ec2-a336-a63063c675dc_2782x1506.png 848w, https://substackcdn.com/image/fetch/$s_!eF6H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a34e08-6dd5-4ec2-a336-a63063c675dc_2782x1506.png 1272w, https://substackcdn.com/image/fetch/$s_!eF6H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28a34e08-6dd5-4ec2-a336-a63063c675dc_2782x1506.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>Note</strong>: This reflection is mainly about how I prompt when I am prototyping or exploring ideas as a designer. It is not meant for full stack apps, BMAD methods, or agentic workflows. This is just what worked for me when I wanted to move fast, get something on screen, and iterate without overthinking architecture.</p><p>When I decided to build my Make prototype, I did the most natural thing any designer-turned-builder would do. I reached for a PRD. I wrote one that looked suspiciously similar to what PMs hand over in big teams, the kind filled with motivations, user stories, goals, expected outcomes, and a slightly dramatic paragraph about why this work matters. It felt right. Familiar. Safe.</p><p>Then I dropped it into Make (even with Gemini 3 Pro).</p><p>Make did not agree.</p><p>It read my PRD like a loose set of vibes and decided to assemble something completely different, the digital equivalent of a crooked IKEA shelf someone forced together at 3AM. At one point it built screens I never asked for, skipped things I did ask for, and even invented a &#8220;coach dashboard&#8221; that came out of nowhere. It was impressive in a slightly concerning way.</p><p>It was pure HALL&#220;CIN energy. A piece of furniture that technically stands, if you squint.</p><p>That was the moment I accepted the obvious truth. The PRD was not helping. It was too narrative. Too broad. Too philosophical. It was trying to describe the world instead of what needed to exist in the next 30 minutes.</p><p>So I deleted the whole thing.</p><p>I started over with the smallest possible description I could get away with. Something so simple it almost felt like cheating. This is exactly what I wrote:</p><pre><code>Product description:
A Content Writer web app that helps you write customer responses, marketing copy for social media using botim's Tone of Voice.

Core feature:
- Show AI chat with 3 shortcut prompts
- Left panel navigation to show history of chats
- Header with botim logo

Requirements:
- Do not explain code
- Use latest Gemini 3 Pro model
- Keep it minimal, one page only for now</code></pre><p>That was it.</p><p>And suddenly everything made sense.</p><p>Make behaved like a completely different person. It built exactly what I pictured, no more and no less. The hallucinations disappeared. The phantom features stopped. The imaginary architecture decisions went silent. I finally got the small thing I actually wanted, the version I could iterate on instead of the version I had to escape from.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;4c9ebe69-5ecf-4910-8f99-b84c923664ae&quot;,&quot;duration&quot;:null}"></div><p>Looking back, I am not sure why I expected a PRD to be a good starting point. It is something I am used to reading as a designer, not something I ever build from directly. A PRD is meant for alignment, justification, and context, not construction. I do not build Figma screens from PRDs either. I always start with one screen, one action, one thing the user sees. So why was I trying to make AI start from a complete narrative?</p><p>It makes more sense now. I work better when I collapse the problem into one step. Apparently AI works the same way.</p><p>There is something oddly comforting about that. Instead of trying to architect the universe in one prompt, I just let myself build the tiny version first and worry about the rest once something exists. It is the closest thing to flow I have had while building.</p><p>And honestly, the moment I stopped trying to make AI understand my entire thought process, everything became calmer. Simpler. Less dramatic.</p><p>No more HALL&#220;CIN shelves.</p><p>Just a small working app.</p><p>And a small win to build from.</p><p>If this is the new way I make things, I am fine with it.</p>]]></content:encoded></item></channel></rss>