<?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:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Muzli - Design Inspiration - Medium]]></title>
        <description><![CDATA[All the design inspiration you need.  It&#39;s like crack for designers. And good for you too! #design #ux #ui #inspiration #creativity #art #startup - Medium]]></description>
        <link>https://medium.muz.li?source=rss----5969bf7021a3---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Muzli - Design Inspiration - Medium</title>
            <link>https://medium.muz.li?source=rss----5969bf7021a3---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 19 Oct 2026 16:37:43 GMT</lastBuildDate>
        <atom:link href="https://medium.muz.li/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[AI Changed How I Design. It Didn’t Replace Why I Design.]]></title>
            <link>https://medium.muz.li/ai-changed-how-i-design-it-didnt-replace-why-i-design-fc015408447b?source=rss----5969bf7021a3---4</link>
            <guid isPermaLink="false">https://medium.com/p/fc015408447b</guid>
            <category><![CDATA[ux-designer]]></category>
            <category><![CDATA[designer]]></category>
            <category><![CDATA[claude-design]]></category>
            <category><![CDATA[figma]]></category>
            <category><![CDATA[sketch]]></category>
            <dc:creator><![CDATA[Srinath]]></dc:creator>
            <pubDate>Mon, 19 Oct 2026 07:56:01 GMT</pubDate>
            <atom:updated>2026-10-19T07:56:01.541Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RqwV6_PfncRCFDDJNLefgA.png" /></figure><p>For years, my work as a <strong>Product Designer</strong> followed a familiar pattern. I started with <strong>Sketch</strong>, where we built libraries, reusable components and common patterns so the whole team could work consistently. Then we moved to <strong>Figma</strong> for better collaboration, prototyping and newer capabilities.</p><p>Of course, migrating was not as simple as clicking <strong>“Move everything to Figma.”</strong> Some components had to be rebuilt, libraries needed restructuring, and a few prototypes didn’t behave the way we expected. So once again, I found myself setting up the base layouts, components and design system for the team. Apparently, no matter which tool we move to, I somehow end up building the library. 😅</p><p>After that, Figma became part of our everyday workflow. We created screens, prototypes, interactions and animations, but the real work was never just drawing interfaces. Every feature involved discussions with PMs, multiple UX approaches, technical constraints, edge cases and several rounds of iteration. Sometimes a feature could take weeks or even months before we reached the final flow.</p><p>That is one interesting thing about product design. Users may finally see five clean screens, but they never see the 40 or 50 screens we explored, discussed and deleted to get there.</p><figure><a href="https://me.muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*MC_wJzIpbUT7eg9c.png" /></a></figure><p>Then AI started changing the way we worked.</p><p>Suddenly, design exploration became much faster. With tools like <strong>Claude Design</strong>, we could describe an idea and see multiple UI directions within minutes. Something that previously took hours or days to explore could now happen much faster. Since I’m usually the person trying new tools and checking whether they can fit into our actual workflow, I started experimenting with AI too.</p><p>And then something very familiar happened.</p><p>I started building the design system there as well.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WlO8WotuIah26dOkdDkTuQ.png" /></figure><p>At this point, maybe my career is secretly just me moving from one tool to another and rebuilding the same design system. 😅</p><p>But there is a reason for that. AI can generate almost anything, and that is both its strength and its problem. Our product doesn’t need <strong>“anything.”</strong> It needs something that belongs to our product, follows our patterns and makes sense for our users.</p><p>AI can now create screens very quickly. I can explain a feature, generate different approaches and sometimes even get ideas I may not have considered initially. But that doesn’t mean I simply accept whatever it creates. I still have to decide whether the flow solves the actual problem, whether users will understand it, whether it matches our existing product, and what happens in error states, empty states, permissions, accessibility and edge cases.</p><p>That made me think about one question that comes up often now:</p><p><strong>Can anyone design with AI?</strong></p><p>In one sense, <strong>yes</strong>.</p><p>A PM can describe an idea and visualize it. A developer can quickly explore a possible interaction. Someone who has never used Figma can still generate a good-looking screen with a prompt. And I actually think that is a good thing because design becomes easier to communicate.</p><p>But generating a screen and designing a product are still two different things.</p><p>AI may give you ten beautiful layouts, but <strong>UX knowledge helps you decide which one actually solves the problem.</strong> A screen can look great and still create a bad experience. A button can look perfect but appear at the wrong moment. A flow can look simple while creating more confusion for the user.</p><p><strong>So will AI replace designers?</strong></p><p>My answer is: <strong>maybe, maybe not.</strong></p><p>I have seen designers work with Photoshop, Sketch, Figma and now AI-powered tools. Every new tool changes how we work. The bigger risk is probably not AI replacing designers, but designers refusing to adapt while the workflow changes around them.</p><p>I think the designer’s role will continue to shift. We may spend less time manually creating every screen and more time understanding problems, directing AI, validating ideas, building systems and making product decisions. Execution will become faster, but judgement will become even more important.</p><p>Because faster design does not automatically mean better design.</p><p>Sometimes it just means we can make the wrong decision faster.</p><p>When I look back, the tools I use have changed a lot. Sketch became Figma. Manual exploration became AI-assisted exploration. Work that once took days can sometimes happen in hours.</p><p>But strangely, some things have not changed at all.</p><p>I still end up creating the base. I still build the library. I still think about consistency. I still question whether the flow actually makes sense. I still try to make things easier for the entire team to reuse.</p><p>So maybe the lesson is not to become attached to a particular tool.</p><p><strong>Be attached to learning.</strong></p><p>Tools will keep changing. Workflows will keep changing. Anyone may soon be able to generate an interface with a simple prompt.</p><p>But understanding <strong>what should be built, why it should be built and how it should work for real users</strong> will continue to matter.</p><p>And apparently, whatever tool comes next, I’ll probably end up building the design system there too. 😅</p><h3>💡 Stay inspired every day with Muzli!</h3><p>Follow us for a daily stream of design, creativity, and innovation.<br><a href="https://www.linkedin.com/company/muzli/">LinkedIn</a> | <a href="https://www.instagram.com/usemuzli/">Instagram</a> | <a href="https://x.com/usemuzli">Twitter</a></p><figure><a href="https://muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ly4MHLLO72G6uF4o.png" /></a></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fc015408447b" width="1" height="1" alt=""><hr><p><a href="https://medium.muz.li/ai-changed-how-i-design-it-didnt-replace-why-i-design-fc015408447b">AI Changed How I Design. It Didn’t Replace Why I Design.</a> was originally published in <a href="https://medium.muz.li">Muzli - Design Inspiration</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[From AI Prototype to Better UX: What Designers Should Test First]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.muz.li/from-ai-prototype-to-better-ux-what-designers-should-test-first-4745dcbe4fdc?source=rss----5969bf7021a3---4"><img src="https://cdn-images-1.medium.com/max/2600/0*wIRxUTIjboCFewqv" width="5568"></a></p><p class="medium-feed-snippet">How to uncover usability problems, test real interactions, and improve an AI-generated design before development begins.</p><p class="medium-feed-link"><a href="https://medium.muz.li/from-ai-prototype-to-better-ux-what-designers-should-test-first-4745dcbe4fdc?source=rss----5969bf7021a3---4">Continue reading on Muzli - Design Inspiration »</a></p></div>]]></description>
            <link>https://medium.muz.li/from-ai-prototype-to-better-ux-what-designers-should-test-first-4745dcbe4fdc?source=rss----5969bf7021a3---4</link>
            <guid isPermaLink="false">https://medium.com/p/4745dcbe4fdc</guid>
            <category><![CDATA[ux]]></category>
            <category><![CDATA[ux-design]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[ui]]></category>
            <category><![CDATA[design]]></category>
            <dc:creator><![CDATA[Life Considered]]></dc:creator>
            <pubDate>Mon, 19 Oct 2026 06:51:01 GMT</pubDate>
            <atom:updated>2026-10-19T06:51:01.701Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[How I Hire Product Designers: What 10 Years of Reviewing Portfolios Taught Me About Great…]]></title>
            <link>https://medium.muz.li/how-i-hire-product-designers-what-10-years-of-reviewing-portfolios-taught-me-about-great-1ffa8e06e988?source=rss----5969bf7021a3---4</link>
            <guid isPermaLink="false">https://medium.com/p/1ffa8e06e988</guid>
            <category><![CDATA[ux-design]]></category>
            <category><![CDATA[hiring]]></category>
            <category><![CDATA[product-design]]></category>
            <category><![CDATA[portfolio]]></category>
            <category><![CDATA[design-career]]></category>
            <dc:creator><![CDATA[Mostafa Esmaeili]]></dc:creator>
            <pubDate>Mon, 19 Oct 2026 05:52:22 GMT</pubDate>
            <atom:updated>2026-10-19T05:52:21.501Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>How I Hire Product Designers: What 10 Years of Reviewing Portfolios Taught Me About Great Candidates?</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gl2UGK4_qs9r1iVYWZnIZA.jpeg" /></figure><p><em>I have reviewed hundreds of product design portfolios, run dozens of hiring cycles across traditional banking and crypto products, and made my share of hiring mistakes. Here is what I actually look at, what kills a candidacy in the first five minutes, and the one question that separates candidates worth hiring from candidates worth encouraging to apply elsewhere.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XfnXCJ3UUJQlpr5Ry4Y1xg.png" /></figure><h3>Let me be honest about how this actually starts</h3><p>When I open a portfolio for the first time, I am not reading. I am scanning. In the first 90 seconds I am asking three things almost simultaneously: does this person work in products that are similar to what I am building? Does the quality of their presentation reflect the quality I need on the team? And do I see any evidence of real decision-making, or just final screens?</p><figure><a href="https://me.muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*MC_wJzIpbUT7eg9c.png" /></a></figure><p>Most portfolios fail the third question. Not because the work is bad. Because the case studies are written as a highlight reel of great outcomes, and I have no way to evaluate the thinking that produced them. A beautiful final screen tells me someone was involved in something that looked good. A case study that shows me a wrong turn they took at week two, the stakeholder who pushed back on the direction, and the data that proved them right or wrong — that tells me I am looking at a designer who actually does the work.</p><blockquote><em>“A portfolio of 40 beautiful screens with no explanation of problems, users, or decisions is the single most common reason strong designers do not get interviews. Hiring managers look for decision quality. Strong portfolios expose the structure behind decisions: what options existed, what constraints applied, what trade-offs were accepted.”</em></blockquote><blockquote><em>UX PLANET, WHY GOOD UX PORTFOLIOS NEVER GET INTERVIEWS, 2026</em></blockquote><figure><a href="https://me.muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*MC_wJzIpbUT7eg9c.png" /></a></figure><p>So before I walk you through my full process, the one thing to understand about how I review portfolios is this: I am reading for judgment, not craft. Craft is important and visible in three seconds. Judgment takes work to demonstrate, and most portfolios do not do that work.</p><h3>What I look for in the first 90 seconds</h3><p>The opening of a portfolio does more work than most candidates realise. It sets up the mental frame I use to read everything that follows. When a portfolio opens with a clean hero section that tells me the domain (fintech, crypto, B2B SaaS), the level of ownership (lead designer, IC, director), and the most significant outcome of their career so far, I relax. Someone in control of their own narrative is usually in control of their design process too.</p><p>When a portfolio opens with a generic “I make beautiful and functional experiences” headline, followed by six identical card-format case studies in a perfect grid, I am already slightly skeptical. Not because it looks wrong, but because it tells me the designer treated their portfolio as a presentation template rather than a product. And in my experience, designers who see their own portfolio as a template tend to approach user problems the same way.</p><p><strong>➡️ The five seconds that count most: </strong>Your opening screen needs to answer three questions before the reader scrolls. What kind of designer are you? What kind of problems do you solve? And why should I read on? If the answer to any of those three requires me to scroll, I will probably not scroll.</p><h3>What makes a case study worth reading</h3><p>I am going to be direct here, because I think a lot of advice about portfolio case studies is too polite to be useful. The case study format that every design education program teaches — problem, research, ideation, solution, results — is not a bad framework. It is just so widely used that it has become invisible to hiring managers. When every case study follows the same arc, none of them communicate anything distinctive about the designer who made them.</p><p>What I am actually looking for in a case study is the messy parts. The moment the user research contradicted what the product manager thought they knew. The design direction that was clearly the right choice but that required three rounds of stakeholder negotiation to approve. The feature that was cut from the scope and why that was actually the right decision. The metric that went up and the one that went down as a result of the same change.</p><blockquote><em>“Show me the constraints and the trade-offs. Anyone can show me the final screen. Not everyone can explain why the feature to the left of it was cut from the design.”</em></blockquote><p>The depth I am looking for is not about word count. A 400-word case study that answers those questions is more valuable than a 2,000-word case study that describes a perfectly linear process from research to shipping. Because perfectly linear design processes do not exist. If your case study reads like one, I know the real story is somewhere between the slides.</p><p><strong>➡️ What a case study actually needs:</strong> The problem as the user experienced it, not as the brief defined it. A constraint that shaped the solution in a meaningful way. At least one decision point where you chose between two real options and can explain why. A result that is specific enough to be meaningful, even if it is qualitative. The whole thing should answer:<br><strong>“What changed because this designer was on this project?”</strong></p><h3>The red flags that end a candidacy</h3><p>These are the specific things that stop my review. I am not listing them to be harsh. I am listing them because they are genuinely common and genuinely fixable, and I would rather a good designer know what they are doing than lose an opportunity they deserved to get.</p><h4>🚩 Only showing final screens</h4><p>When a case study is a sequence of beautiful final screens with no process documentation, I cannot evaluate your thinking at all. I can only evaluate the outcome, and outcomes in product design are almost never the work of one designer. Show me the wireframes, the rejected direction, the version that did not make it to production.</p><h4>🚩 Cookie-cutter structure that reads as a template</h4><p>I can identify the most common portfolio website templates in about two seconds. When I see the same visual structure I have seen in sixty other portfolios, it signals that the designer invested less effort in how they present their thinking than in how their work looks. The presentation is itself a design problem. Treat it like one.</p><h4>🚩 Impact metrics that are too round or too vague</h4><p>“Increased engagement by 40%” with no context about what engagement means, what the baseline was, or what timeframe this covers tells me less than you think. I am not asking for an audit trail. I am asking for enough specificity to distinguish a real outcome from a number that sounded good in a debrief.</p><h4>🚩 Research sections with no artifacts</h4><p>Listing “user interviews, usability testing, affinity mapping, competitive analysis” is process vocabulary, not evidence. Show me a photo of the whiteboard, a synthesised insight, a quote from a user session, a pattern you identified. If the research section does not contain any artifacts from the research, I cannot tell whether the research actually happened.</p><h4>🚩 Concept work presented as shipped product</h4><p>I always check whether the work in a portfolio was actually shipped. Concept work and speculative redesigns are not inherently bad, but they need to be labelled as such. When I find out during an interview that the “case study” was a design challenge for a bootcamp application rather than a real shipped feature, it damages trust in everything else in the portfolio.</p><h4>🚩 Portfolio link not findable from LinkedIn</h4><p>Small thing, real consequence. If your portfolio URL is not in your LinkedIn header and Featured section, a significant percentage of hiring managers never see it. The portfolio URL is the product. Putting it where people cannot find it is not a great first signal about your instinct for distribution.</p><h4>🚩 Work that is three or four years old presented as current</h4><p>This matters more than it used to. In 2025 and 2026, the tools, the workflows, and the expectations around AI-assisted design have shifted significantly. A portfolio that has not been updated in three years signals either that the designer has not shipped anything in that time, or that they have not prioritised keeping their professional narrative current. Both are worth asking about.</p><h3>What makes me move someone to the interview stage immediately</h3><h4>✅ A case study that shows what they were wrong about</h4><p>The fastest way to demonstrate genuine design experience is to show me a moment where your initial direction was wrong and you know why. Designers who can articulate what they got wrong and what changed their mind are designers I can trust to learn on my team.</p><h4>✅ Visible thinking about constraints, not just outcomes</h4><p>When a case study says “we wanted to do X, but we had Y constraint, so we did Z instead, and here is why that was actually a better decision,” I am reading work that demonstrates how a designer operates in real conditions. Constraints are the context that make design decisions meaningful.</p><h4>✅ Evidence of working across the full product lifecycle</h4><p>Discovery, definition, execution, and post-launch measurement all in the same case study. Not because every designer should own all of it, but because a designer who has experienced the full cycle thinks differently about each phase. They know which early decision creates the problem they will be fixing in month four.</p><h4>✅ Cross-functional context that shows how they operate</h4><p>A line like “the engineer pushed back on this direction and here is how we resolved it” tells me more about how someone will work on my team than any visual in the portfolio. Design is a team sport. I need designers who know how to navigate that.</p><h4>✅ Domain specificity that matches the problem we are solving</h4><p>When I am hiring for a fintech or crypto product, a portfolio with financial product experience reads differently. Not because I exclude designers who have not worked in finance, but because someone who has already wrestled with the specific constraints of financial UX, trust signaling in payments, regulatory design requirements, or crypto mental models brings a context that shortens the ramp-up significantly.</p><h3>The specific extra requirements when hiring for fintech and crypto</h3><p><em>(WHEN THE ROLE IS FINTECH OR CRYPTO)</em></p><ul><li>➡️ <strong>How do they handle error states in payment flows?</strong> Fintech punishes unclear error states more than most product categories because the emotional stakes of a failed payment are high. I look for case studies where error handling was treated as a design problem, not an engineering footnote.</li><li>➡️ <strong>Do they understand that compliance is a design constraint, not an obstacle?</strong> KYC flows, AML disclosures, consent mechanisms: a designer who sees these as friction to minimise is not the same as a designer who understands how to make a mandatory disclosure feel like a helpful moment. That difference matters in every regulated product.</li><li>➡️ <strong>How do they think about trust signals?</strong> In a payment or crypto product, every micro-interaction either builds or erodes trust. A candidate who can talk about specific design decisions they made to reduce financial anxiety tells me they have thought about this dimension of the product.</li><li>➡️ <strong>Have they worked at the intersection of simplicity and technical complexity?</strong> Crypto UX specifically requires designers who can make technically complex concepts feel navigable without hiding the complexity that users need to understand to stay safe. Abstracting gas fees or seed phrases without appropriate context creates real harm. I look for evidence that a candidate has engaged seriously with this tension.</li><li>➡️ <strong>Do they understand the difference between user trust and business trust?</strong> In fintech, the design has to earn trust from two parties simultaneously: the user and the regulators or business partners. A candidate who has thought about both sides of that is significantly more ready for the role than one who has only thought about the user.</li></ul><h3>My hiring process, step by step</h3><h4>1️⃣ Portfolio review (15 minutes, no exceptions)</h4><p>I cap my initial portfolio review at 15 minutes per candidate. This is not because I am cutting corners. It is because a portfolio that requires more than 15 minutes to make its case is a portfolio that is asking me to do work the designer should have done. If I have not formed a clear impression in that time, the portfolio has failed on its own terms.</p><h4>2️⃣ Intro call (30 minutes, agenda-first)</h4><p>I send candidates a two-question agenda before the intro call: which case study in your portfolio best represents how you work, and what is something that is not in your portfolio that you are proud of? The first question tells me how they prioritise their own work. The second tells me something that polish and presentation cannot hide.</p><h4>3️⃣ Portfolio walkthrough (60 minutes, candidate-led)</h4><p>The candidate walks me through one case study end to end. Not from the slide deck. From memory, in their own words, with me asking questions anywhere I want to go deeper. This is where the portfolio either holds up or falls apart. Candidates who genuinely did the work can take you anywhere in the project. Candidates who assembled a portfolio around work they were peripheral to start running out of answers around the third question.</p><h4>4️⃣ Design challenge or team session (context-dependent)</h4><p>For senior roles, I prefer a paid short challenge over a take-home. For lead roles, I prefer a collaborative working session with the team. The goal is not to test craft. I already have a view on craft from the portfolio. The goal is to see how they work when the brief is ambiguous, when they have to ask questions instead of answer them, and how they respond to feedback mid-process.</p><h4>5️⃣ Reference conversations (always, never optional)</h4><p>I always speak to at least one person who managed the candidate and one person the candidate worked with as a peer. The manager reference tells me about output and delivery. The peer reference tells me about collaboration and what it is actually like to work alongside them. Both are necessary. I ask both the same question: “Is there a type of problem or working dynamic where this person is noticeably less effective?”</p><h3>The one question that reveals almost everything!!</h3><p>Every stage of my hiring process is designed to get to this question eventually, because the answer tells me more about a candidate than everything else combined. I ask it during the portfolio walkthrough, after the candidate has walked me through a case study they are proud of:</p><figure><img alt="Product designer hiring framework by Mostafa Esmaeili showing what design leaders should look for when reviewing product design portfolios." src="https://cdn-images-1.medium.com/max/1024/1*zAja64_kK_Qc3SVkbQQE3w.png" /></figure><p>A candidate who says “honestly, I would not change much, I think we made the right calls” is telling me that their mental model of this project is complete and settled. That is not a design mindset. A candidate who says “we got the core interaction right but I think we underinvested in the error states, and here is specifically what I would do differently” is showing me a designer who stayed engaged with the problem after they shipped it, which is exactly the kind of designer I want on my team.</p><p><strong>➡️ Why this question works: </strong>Growth requires a clear view of the gap between what you did and what you could have done. A designer who cannot articulate that gap about their own work is a designer who is unlikely to get sharper on the next project. The answer to this question is the closest thing I have found to a reliable signal of long-term performance growth, as distinct from current performance quality.</p><h3>What I tell candidates who did not get the role?</h3><p>This section matters to me because I think the hiring process in design has a transparency problem. Candidates invest real time in applications and interviews and often get nothing back. I always give specific feedback to candidates who made it to the interview stage, because it is the right thing to do and because the design community is small enough that the person I turned down today might be the person I collaborate with in three years.</p><p>The most common feedback I give is not about craft. It is about the gap between what the portfolio presents and what the interview reveals. When a candidate can talk about their work at twice the depth during the conversation compared to what the portfolio communicated, the portfolio is failing them. The goal of the portfolio is not to show me your best work. It is to start a conversation about your best thinking, and the best portfolios do that from the first screen.</p><p><strong>💡 One more thing:</strong> I hired someone once specifically because their portfolio had a section labelled “what did not work.” Four case studies of directions they explored that were rejected or failed, with an honest analysis of why. Nobody does that. It was the most interesting thing I had seen in a portfolio in years, and it told me immediately that I was looking at someone who learns from failure rather than hiding it. They turned out to be one of the best designers I have worked with. The portfolio told me exactly who they were.</p><h3>🔵 About Mostafa Esmaeili</h3><p><em>Product Design Director · FinTech, Banking &amp; Crypto UX</em></p><p>I design and lead design for financial products, neobanks, crypto wallets, and everything in between. +10 years in, I still think the most interesting design problems in the world live at the intersection of money, trust, and the people who move both. I write about what I actually do, not what the textbooks say I should.</p><p>*️⃣ I publish <a href="http://mostafa-esmaeili.com/money-design"><strong>MONEY DESIGN</strong></a><strong>, </strong>a newsletter about fintech and crypto UX, for people who build financial products seriously.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*arAsYfw1hDk7y2pfizHm9w.png" /></figure><h3>💡 Stay inspired every day with Muzli!</h3><p>Follow us for a daily stream of design, creativity, and innovation.<br><a href="https://www.linkedin.com/company/muzli/">LinkedIn</a> | <a href="https://www.instagram.com/usemuzli/">Instagram</a> | <a href="https://x.com/usemuzli">Twitter</a></p><figure><a href="https://muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ly4MHLLO72G6uF4o.png" /></a></figure><p><a href="https://creators.spotify.com/pod/profile/money-design/">MONEY DESIGN Podcast</a> · <a href="https://www.linkedin.com/newsletters/money-design-7175127839024082944/">MONEY DESIGN Newsletter</a><br><a href="https://mostafa-esmaeili.com/">Portfolio</a> · <a href="https://mostafaesmaeili.medium.com/">Medium</a> · <a href="https://www.linkedin.com/in/mostafaaesmaeili/">LinkedIn</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1ffa8e06e988" width="1" height="1" alt=""><hr><p><a href="https://medium.muz.li/how-i-hire-product-designers-what-10-years-of-reviewing-portfolios-taught-me-about-great-1ffa8e06e988">How I Hire Product Designers: What 10 Years of Reviewing Portfolios Taught Me About Great…</a> was originally published in <a href="https://medium.muz.li">Muzli - Design Inspiration</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Product design with AI: Building It Was Never the Hard Part]]></title>
            <link>https://medium.muz.li/product-design-with-ai-building-it-was-never-the-hard-part-05159682106d?source=rss----5969bf7021a3---4</link>
            <guid isPermaLink="false">https://medium.com/p/05159682106d</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[product-design]]></category>
            <category><![CDATA[design]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[technology]]></category>
            <dc:creator><![CDATA[Yudit Lynn Lee]]></dc:creator>
            <pubDate>Mon, 19 Oct 2026 05:52:10 GMT</pubDate>
            <atom:updated>2026-10-19T06:43:10.120Z</atom:updated>
            <content:encoded><![CDATA[<blockquote><em>TL;DR: </em>Making things with AI became easy, but building an app that other people can use is a different story. Small details matter more, bugs you can live with might not be okay for others, and you need to know when to stop adding new features. AI builds most features and functions well, but recognising the remaining 20–30% of details and finessing them is the key to making a good product other people can use. This is basic product design thinking, and the more I make with AI, the more I realise how important it is</blockquote><h3>Product design with AI: building it was never the hard part</h3><p>I have been having a lot of fun building my own applications using AI lately. An iOS app, a few small web apps that run locally, a few half-finished things, mostly so I can learn a new way of working.</p><p>And honestly, it is exciting. Building an application is so easy now, and adding features is even easier, especially for someone like me who doesn’t come from a development background.</p><p>One of them is a small design inspiration library I made for myself, somewhere to keep design references and design systems together. I’ll write about the thing itself separately. I built it the way I build most things now: ideate the feature with AI, then build it. Amending and adding features followed the same way.</p><p>But I realised the more I added, the more the usability quietly slipped. It kept gaining features, but they started to feel bolted onto each other.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iaNvMN8HooFGFftMs7Rgkg.jpeg" /><figcaption><em>Image generated with Gemini.</em></figcaption></figure><h3>The part that was missing was small and everywhere</h3><p>The library mainly does one thing: I paste in a link to a website I like, and AI analyses it and adds it to my collection.</p><p>The first version worked. But when I pasted a link, nothing told me it was being processed, so I’d sit there wondering if anything was happening. Or removing a reference gave no clear sign it had gone until I refresh the application.</p><p>Nothing was broken. It was just short of the details that make an experience good, and that is where I had to put the designer hat back on.</p><p>So once a chunk of features was in and working, I’d use it myself, walk each flow slowly, and log every point where I knew something was missing. A confirmation here. A processing state there. Then I’d feed those notes back in as second, smaller sessions.</p><p>I think that part makes the whole difference. AI will do 70–80% of the work, very fast. The last 20–30% is what takes it from working to good, and it often takes 70–80% of my time.</p><figure><a href="https://me.muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*MC_wJzIpbUT7eg9c.png" /></a></figure><h3>The bug I would happily have lived with</h3><p>Then there’s what changes the moment you hand something to someone else.</p><p>When a thing is only for me, I’ll live with a small bug quite happily. For example, in another tool I made for reviewing images, if I select an option, press enter, then go back twice, my answer doesn’t save. I know exactly how to trigger it, a bit like knowing a key combination in an old fighting game, and because I know how to trigger it, it was never a surprise. So I didn’t feel the need to fix it, just for me.</p><p>But I was going to share this one with my colleagues, and they might accidentally trigger that same bug. A surprise like that hurts their experience with the app, and not in a good way. Fortunately, unfortunately, I realised it had to go.</p><p>My own QA has quietly tightened because of that. I walk each journey more slowly than I used to, and in more detail, because someone else will walk it without knowing where the soft spots are. That feels like a real part of the difference between something I built and something I can hand over.</p><h3>Knowing when to stop adding things</h3><p>The other thing I’m still learning is restraint.</p><p>It’s so easy to slap on another feature now. Another button, another toggle, another filter, another dropdown. Not because it’s needed, but because why not, it might be useful one day. I catch myself doing it constantly.</p><p>But if an application exists for a purpose, it should do that one thing well, and a new feature should be there to enhance the tool. Gimmicky ones muddy the water. You drift away from what the thing was for and end up with something that does everything mediocrely.</p><p>I’ve watched a version of this often. People keep adding to something genuinely promising without much thought for how anyone else would use it, until only they can navigate it. If it were handed to me, I don’t think I could use it, not because it can’t do enough, but because it was only ever shaped around one person.</p><p>So some of this is knowing what the goal is, and which features actually serve it. And some of it, I think, is knowing when to stop and release the thing, so the next round of improvements can come from people actually using it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wVoKM2gSYbxQ24p7hvu9Aw.jpeg" /><figcaption><em>Image generated with Gemini.</em></figcaption></figure><h3>Where I’ve landed, for now</h3><p>This comes back to something I wrote about before, that making things got easy and making <strong>good</strong> <strong>things</strong> got harder. Anyone can build an application, and anyone can add features to one. Whether someone else can use it is a separate question, and a much harder one.</p><p>The small details are design work. But deciding what to build, and when to stop, comes before them, so I think this whole thing is really a <strong>product</strong> question before it’s a design one. What is this actually for. What does it need to do. Do I really need this feature, or did I just enjoy how quickly I could build it. Who is using this, and does it make sense to them, not only to me.</p><p>You see a lot of people sharing what they built with AI, and the UI looks nice. Making it look nice honestly isn’t the difficult part. If I put myself in the shoes of a recruiter or a design lead, I don’t think I’d ask whether someone can build an app with AI, because almost anyone can now. I’d want to know whether they’ve built something other people can use, and what they did to make it usable.</p><p>The more I build with AI, the more it comes back to fairly basic product thinking. I’m only looking at it from one seat, though.</p><p><em>Thank you for reading this far. I’d genuinely like to know if this matches what you’ve seen too, or if I’m missing something.</em></p><h3>💡 Stay inspired every day with Muzli!</h3><p>Follow us for a daily stream of design, creativity, and innovation.<br><a href="https://www.linkedin.com/company/muzli/">LinkedIn</a> | <a href="https://www.instagram.com/usemuzli/">Instagram</a> | <a href="https://x.com/usemuzli">Twitter</a></p><figure><a href="https://muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ly4MHLLO72G6uF4o.png" /></a></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=05159682106d" width="1" height="1" alt=""><hr><p><a href="https://medium.muz.li/product-design-with-ai-building-it-was-never-the-hard-part-05159682106d">Product design with AI: Building It Was Never the Hard Part</a> was originally published in <a href="https://medium.muz.li">Muzli - Design Inspiration</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Make AI Generated Interfaces Look Designed]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.muz.li/make-ai-generated-interfaces-look-designed-29dd4c81b110?source=rss----5969bf7021a3---4"><img src="https://cdn-images-1.medium.com/max/1672/1*jEGGB71-QpnMj_P-7V_WBA.png" width="1672"></a></p><p class="medium-feed-snippet">Most AI screens share the same fonts, colors and card grids. A few small rules fix that.</p><p class="medium-feed-link"><a href="https://medium.muz.li/make-ai-generated-interfaces-look-designed-29dd4c81b110?source=rss----5969bf7021a3---4">Continue reading on Muzli - Design Inspiration »</a></p></div>]]></description>
            <link>https://medium.muz.li/make-ai-generated-interfaces-look-designed-29dd4c81b110?source=rss----5969bf7021a3---4</link>
            <guid isPermaLink="false">https://medium.com/p/29dd4c81b110</guid>
            <category><![CDATA[design]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[vibe-coding]]></category>
            <category><![CDATA[ui-design]]></category>
            <category><![CDATA[ux-design]]></category>
            <dc:creator><![CDATA[Nishkarsh Gupta]]></dc:creator>
            <pubDate>Mon, 19 Oct 2026 05:51:59 GMT</pubDate>
            <atom:updated>2026-10-19T05:51:58.400Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[From Interfaces to Protocols: How AI Agents Are Changing the Way They Interact with the Web]]></title>
            <link>https://medium.muz.li/from-interfaces-to-protocols-how-ai-agents-are-changing-the-way-they-interact-with-the-web-50e3d0613944?source=rss----5969bf7021a3---4</link>
            <guid isPermaLink="false">https://medium.com/p/50e3d0613944</guid>
            <category><![CDATA[agentic-ai]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[ux]]></category>
            <category><![CDATA[product-design]]></category>
            <category><![CDATA[ai-agent]]></category>
            <dc:creator><![CDATA[Gizem B.]]></dc:creator>
            <pubDate>Mon, 19 Oct 2026 05:51:46 GMT</pubDate>
            <atom:updated>2026-10-19T05:51:44.763Z</atom:updated>
            <content:encoded><![CDATA[<p><em>How will this shift change product design processes and the areas where product designers have influence?</em></p><p>As product designers, we have traditionally focused on designing experiences for people. We conduct user research, map user journeys, simplify information architecture, and try to create interfaces that are accessible, understandable, and easy to use.</p><p>But that assumption is starting to change. AI systems are moving beyond simply giving us information; agents are beginning to research on our behalf, make reservations, complete forms, and in some cases even carry out real transactions.</p><p>This raises a new question for designers:</p><blockquote><strong>How do we design a product that can be used both by a person and by an agent acting on their behalf?</strong></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qg6XNUa_jTlFWUvZu0n1Ww.png" /></figure><p>In this article, I want to focus a little more on that second user: the agent. What does an agent need in order to use a product? Which capabilities should a system expose to it, where should the boundaries be, and how might approaches such as WebMCP change this relationship?</p><figure><a href="https://me.muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*MC_wJzIpbUT7eg9c.png" /></a></figure><h3>The Way Agents Use the Web Is Changing</h3><p>Agents using the web is not a new idea. Over the past few years, systems such as <a href="https://openai.com/index/introducing-operator/"><strong>OpenAI Operator</strong></a><strong>, </strong><a href="https://www.anthropic.com/news/developing-computer-use"><strong>Anthropic Computer Use</strong></a>, and <a href="https://support.microsoft.com/en-us/microsoft-copilot/browse-with-copilot"><strong>Microsoft Copilot</strong></a> have interacted with websites in much the same way we do: by looking at the screen, finding elements, clicking, scrolling, and filling in forms.</p><p>For example, when OpenAI introduced Operator in 2025, it could analyse screenshots and interact with websites using a virtual mouse and keyboard. A website did not need to be specially rebuilt for an agent; if a person could use the interface, then theoretically the agent could use the same interface too.</p><p>But this approach can be fragile. The agent has to reinterpret what is on the screen at every step. If the interface changes, an unexpected popup appears, or a form behaves differently, the flow can break.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*J_7bx76s_eD8Jr3mBgcd4Q.png" /></figure><h3>A Website Could Offer One Layer to People and Another to Agents</h3><p>Approaches such as <a href="https://developers.cloudflare.com/browser-run/features/webmcp/"><strong>WebMCP</strong></a> introduce a different model.</p><p>Instead of only showing an agent what appears on the screen, a website can directly expose <strong>what the system is capable of doing</strong>.</p><p>For example, on a hotel website, a person might still see a date picker, filters, hotel cards, and a “Book” button.</p><p>For an agent, the same actions could instead be exposed through structured functions such as:</p><p>search_location()<br>check_availability()<br>start_booking()<br>complete_booking()</p><p>In other words, the agent may no longer need to interpret the interface first and then locate the <strong>“Book”</strong> action. The system can expose the capabilities it is allowed to use directly.</p><p>This does not mean the agent gets access to the website’s entire codebase. The site owner defines which capabilities are available to the agent and under which conditions they can be used.</p><blockquote>The difference can be simplified like this:</blockquote><blockquote><strong>Web agent:</strong> “Which action should I find on this screen?”</blockquote><blockquote><strong>Agent-native web:</strong> “Which actions does this system expose for me to use directly?”</blockquote><h3>So What Does a Good Experience for an Agent Look Like?</h3><p>When designing a good experience for people, we think about whether the right action is easy to find, whether the system provides enough feedback, and what happens after an error.</p><p>Agents have similar needs, but those needs do not necessarily have to be represented through a visual interface.</p><p>An agent needs to understand what the system can do, what state it is in, how to continue when an action fails, and when it should stop.</p><p>This is why designing an agent experience may look less like arranging screens and more like <strong>designing capabilities and the boundaries around them</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4W3rYUiJ2nQMSb92lzfAhg.png" /></figure><p>A human journey could roughly be described as:</p><p><strong>Goal → touchpoints → actions → decisions → pain points → outcome</strong></p><p>For an agent, a similar structure might look more like:</p><p><strong>Goal → capabilities → tool calls → decision points → permission / approval → exception → recovery → outcome</strong></p><p>Consider a payment system.</p><p>An agent might be given access to capabilities such as:</p><p>get_balance()<br>compare_payment_options()<br>prepare_payment()<br>execute_payment()<br>cancel_payment()</p><p>But these actions do not carry the same level of risk.</p><p>Checking a balance or comparing payment options may be relatively low-risk, while an action such as execute_payment() creates a direct financial consequence and may require a different level of control.</p><p>The agent could prepare a payment, verify the amount and recipient, and get everything ready but before actually completing the transaction, it might need explicit user approval.</p><p>Previously defined user limits could also shape this behaviour. Lower-value transactions might proceed automatically, while higher-value transactions could pause and return control to the user.</p><blockquote><em>So the design question is no longer simply,</em></blockquote><blockquote><strong>“Can the agent do this?”</strong></blockquote><blockquote><strong>Which actions can the agent perform autonomously?</strong><br><strong>When should human approval be required?</strong><br><strong>If something is unclear, should the agent continue or hand control back to a person?</strong><br><strong>Can an incorrect action be reversed?</strong></blockquote><p>These are not entirely new design problems. Permissions, error handling, and recovery have always been part of digital product design. But as agents begin taking actions on behalf of users, the impact of those decisions becomes much more visible.</p><h3>These Questions Are No Longer Just Theoretical</h3><p>We are already seeing examples of this shift in what different companies are building.</p><ul><li><a href="https://www.mastercard.com/global/en/business/artificial-intelligence/mastercard-agent-connect.html"><strong>Mastercard Agent Connect</strong></a> is designed to help businesses expose their products and services to AI agents in a more controlled way. Businesses can manage which agents and platforms are able to access their services, while supporting agent-powered product discovery and purchasing flows.</li><li>Mastercard is also working on the <a href="https://www.mastercard.com/global/en/news-and-trends/Insights/2026/mastercard-agentic-commerce-trust-white-paper.html"><strong>Agent Pay Trust Framework</strong></a>, which focuses on questions such as who an agent is acting for, what the user has actually authorised, and which limits should apply when the agent makes a transaction.</li><li><a href="https://developer.visa.com/capabilities/trusted-agent-protocol/docs"><strong>Visa Trusted Agent Protocol</strong></a> focuses on helping businesses verify whether an AI agent is trusted and genuinely authorised to act on behalf of a user.</li><li><a href="https://help.openai.com/en/articles/20001423-using-site-tools-in-the-chatgpt-desktop-app"><strong>OpenAI Site Tools</strong></a> allows ChatGPT to interact directly with structured actions exposed by WebMCP-enabled websites instead of relying only on the visual interface.</li><li>Cloudflare bringing WebMCP into <a href="https://developers.cloudflare.com/browser-run/features/webmcp/"><strong>Browser Run</strong></a>, alongside ongoing developments in the broader <a href="https://blog.modelcontextprotocol.io/posts/2026-07-28/"><strong>MCP ecosystem</strong></a> around authorisation, task management, and interactive applications, points in the same direction.</li></ul><h3>The Areas We Touch as Product Designers Are Expanding</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rFS8t1z9tSbl5MuHOixhRg.png" /></figure><p>This shift does not mean product designers suddenly need to write APIs or build agent infrastructure on their own. But the boundaries of design may no longer stop at the interface a user can see.</p><p>When designing how agents interact with products, I think three areas in particular will become increasingly important:</p><p><strong>Understanding APIs and tools:</strong> Being able to understand which capabilities a system exposes to an agent and, at a basic level, how those capabilities work.</p><p><strong>Thinking about permissions and risk boundaries:</strong> Defining which actions an agent can perform autonomously and where user approval should be required.</p><p><strong>Designing states, errors, and recovery:</strong> Thinking through what should happen when something fails, when the agent should retry, and when it should return control to a person.</p><p>Product design may increasingly overlap with service design, API design, AI product development, and system design.</p><p>The designer’s role may not be to write the code, but being part of the team that shapes how the <strong>human-agent-product</strong> relationship should behave is something I find genuinely exciting.</p><p><strong>To sum up,</strong></p><p>As agents begin interacting directly with products, they are also changing who we think of as a <strong>“user”</strong> in product design.</p><p>For years, we have asked:</p><p><strong>“How will the user use this product?”</strong></p><p>Soon, we may need to add another question:</p><p><strong>“How will the user’s agent use this product?”</strong></p><h3>💡 Stay inspired every day with Muzli!</h3><p>Follow us for a daily stream of design, creativity, and innovation.<br><a href="https://www.linkedin.com/company/muzli/">LinkedIn</a> | <a href="https://www.instagram.com/usemuzli/">Instagram</a> | <a href="https://x.com/usemuzli">Twitter</a></p><figure><a href="https://muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ly4MHLLO72G6uF4o.png" /></a></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=50e3d0613944" width="1" height="1" alt=""><hr><p><a href="https://medium.muz.li/from-interfaces-to-protocols-how-ai-agents-are-changing-the-way-they-interact-with-the-web-50e3d0613944">From Interfaces to Protocols: How AI Agents Are Changing the Way They Interact with the Web</a> was originally published in <a href="https://medium.muz.li">Muzli - Design Inspiration</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Auditing Style Consistency in Figma with Cursor]]></title>
            <link>https://medium.muz.li/how-i-use-cursor-to-audit-my-design-system-bdf1b141a635?source=rss----5969bf7021a3---4</link>
            <guid isPermaLink="false">https://medium.com/p/bdf1b141a635</guid>
            <category><![CDATA[figma]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[design-system-operations]]></category>
            <category><![CDATA[cursor]]></category>
            <category><![CDATA[ui-design]]></category>
            <dc:creator><![CDATA[Gizem B.]]></dc:creator>
            <pubDate>Mon, 19 Oct 2026 05:51:33 GMT</pubDate>
            <atom:updated>2026-10-19T05:51:32.029Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PN1htUOOOE6Zoe0e1X5-Gw.png" /></figure><p>Lately, like many others, I’ve started experimenting more with AI tools in my workflow.</p><p>I had heard about <strong>Cursor</strong> before. I knew it could connect to Figma and read design files, but I had never actually tried it.</p><p>So I decided to explore it a bit.</p><p>My starting point was a very familiar problem.</p><p>If you’ve worked on<strong> large products</strong>, <strong>old design files</strong>, or <strong>projects that lived for years</strong> with multiple designers and even different companies involved, you probably know this situation:</p><ul><li><strong>Colors, typography, radius, spacing</strong> are used <strong>outside the design system</strong></li><li>Some foundations were <strong>never clearly defined</strong></li><li><strong>Components get detached</strong></li><li><strong>Fixing all of this manually in Figma takes days</strong></li></ul><p>I’ve experienced this many times.</p><p>So instead of testing<strong> Cursor </strong>on a clean, new project<strong>, I opened an old one it was designed 4 or 5 years ago.</strong></p><figure><a href="https://me.muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*MC_wJzIpbUT7eg9c.png" /></a></figure><h3>The Context</h3><p>The design library has:</p><ul><li>Colors defined as styles</li><li>Typography defined as styles</li><li>Some component patterns</li><li>A neatly structured page</li></ul><p>This was not a scalable design system. It was more like a compact style guide.</p><p>And over time, the UI screens slowly drifted away from it.</p><p>So my goal became very simple:</p><p><strong><em>Do these UI screens still follow the foundations defined in this old design library?</em></strong></p><p>And if not,<em> </em><strong><em>how can I detect that quickly?</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rPqsyIBWPVxwI5i_ZCPDQw.png" /></figure><h3>Preparing the File</h3><p>To make this test easier, I gathered all the UI screens and the style definitions into the same Figma file.</p><p>This way, <strong>Cursor could read everything</strong> from a single source, which <strong>made</strong> <strong>the process much faster and simpler to manage.</strong></p><h3>Connecting Cursor to Figma</h3><p>To allow Cursor to read the Figma file, I created a Personal Access Token from Figma <em>(Settings → Security).</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*oF5FgG7tipvnQLpUdjG1gQ.png" /></figure><p>I enabled:</p><ul><li>file_content:read</li><li>file_metadata:read</li><li>library_assets:read</li><li>library_content:read</li></ul><p>Then in Cursor:</p><ul><li>Opened settings</li><li>Searched for &gt; MCP</li><li>Added the JSON configuration</li><li>Pasted the Figma token</li></ul><p>After saving, I saw:</p><p><strong>Installed MCP Server → Figma</strong></p><p>Which confirmed the connection was successful.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_KAJwH8815iCJs5REmYL-Q.png" /><figcaption>JSON configuration</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cM9rZEXdm9T0cVvfX8Vmww.png" /><figcaption>Successful Connection</figcaption></figure><p>Since the connection to Figma was now confirmed and Cursor could successfully read the file, I moved on to the actual prompts and started the audit process.</p><h3>1. Confirming Cursor Can Read the File Structure</h3><p><em>Prompt 1;</em></p><blockquote>Here is the Figma file I want you to analyze:</blockquote><blockquote>https://www.figma.com/design/….</blockquote><blockquote>Using Figma MCP, load this file in read-only mode.</blockquote><blockquote>1) Return:</blockquote><blockquote>- File name</blockquote><blockquote>- File key / URL</blockquote><blockquote>- Team / project name (if available)</blockquote><blockquote>- Last modified info (if available)</blockquote><blockquote>- All page names</blockquote><blockquote>2) Search the file structure for sections or frames named:</blockquote><blockquote>- “Style Guide”</blockquote><blockquote>- “UI Design”</blockquote><blockquote>If exact matches are not found, list the closest matches such as:</blockquote><blockquote>“Styleguide”, “Design System”, “Styles”, “Screens”, “UI”, etc.</blockquote><blockquote>For each match, return:</blockquote><blockquote>- Page name</blockquote><blockquote>- Section / Frame name</blockquote><blockquote>- Node id</blockquote><blockquote>Do not modify anything. This is discovery only.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6G7Myeb5MGGwNTan7Q3PnQ.png" /><figcaption>Confirmation the connection</figcaption></figure><p>For the first step, I only asked it to <strong>load the Figma file and understand its structure</strong>.</p><p>As shown in the screenshot, Cursor connected to the file through Figma MCP and explored it internally. The line:</p><p><strong><em>Ran </em></strong><strong><em>add_figma_file: figma</em></strong><em><br></em><strong><em>Explored 1 file, 14 searches</em></strong></p><p><strong>confirms that the connection worked</strong> and that Cursor searched the file to locate sections like <strong>Style Guide</strong> and <strong>UI Design</strong>.</p><p>This step was simply to <strong>verify that Cursor could read the file correctly and identify where the design foundations and UI screens</strong> lived before moving to the actual analysis.</p><h3>2. Mapping Where the Style Guide and Screens Live</h3><p><em>Prompt 2;</em></p><blockquote>List the exact screens and components where the implementation does not follow the style guide.Include frame names.Using the full JSON of this Figma file you just retrieved, Search the entire file structure and find frames or sections that match these names:</blockquote><blockquote>- “Style Guide”</blockquote><blockquote>- “UI Design”</blockquote><blockquote>If exact matches are not found, search for close matches like:</blockquote><blockquote>“Styleguide”, “Design System”, “Styles”, “Screens”, “UI”, etc.</blockquote><blockquote>For every match you find, return:</blockquote><blockquote>- Exact name</blockquote><blockquote>- Node id</blockquote><blockquote>- Page name</blockquote><blockquote>- Parent hierarchy (Page &gt; Frame/Section &gt; Child)</blockquote><blockquote>- Type (frame / section / component / group)</blockquote><blockquote>Do not summarize. Traverse the full tree.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cUkvpuU0vrnqWbcJj9hkfA.png" /></figure><p>This second prompt had one goal.</p><p>After the first step, Cursor could open the file, but it didn’t know where the Style Guide and the actual UI screens were.</p><p>Since Figma MCP reads the file as a node structure, not as visual screens, I had to clearly show it which parts represented the Style Guide and which parts were the real UI.</p><p>With this prompt, <strong>Cursor scanned the whole file, found those sections, and returned their exact node IDs and hierarchy.</strong></p><p>From that moment on, the audit became precise. Cursor was no longer comparing random parts of the file. It was comparing the right sections.</p><h3>3. Pinpointing the Exact Style Guide and UI Nodes</h3><p><em>Prompt 3</em></p><blockquote>You already fetched the full JSON representation of this Figma file.</blockquote><blockquote>Now, find the EXACT nodes for:</blockquote><blockquote>1) “Style Guide”</blockquote><blockquote>2) “UI Design”</blockquote><blockquote>Important:</blockquote><blockquote>- Search across the full tree (all pages).</blockquote><blockquote>- Treat “Style Guide” and “UI Design” as sections/frames (not single layers).</blockquote><blockquote>For each one, return ONLY:</blockquote><blockquote>- Page name</blockquote><blockquote>- Node name (exact)</blockquote><blockquote>- Node id</blockquote><blockquote>- Parent chain (Page &gt; … &gt; Node)</blockquote><blockquote>If you cannot find exact matches, return the TOP 10 closest candidates for each target:</blockquote><blockquote>- For Style Guide: names containing “style”, “guide”, “system”, “tokens”</blockquote><blockquote>- For UI Design: names containing “ui”, “screen”, “flow”, “pages”</blockquote><blockquote>Do not output the entire JSON. Do not write code. Just return the node ids and their locations.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*va1-r9aSgsv-w6AWL4Qr2Q.png" /></figure><p><strong>This prompt was about removing any uncertainty.</strong></p><p>In the previous step, Cursor had explored the file and suggested possible matches for the Style Guide and UI sections. But suggestions were not enough.</p><p>Here, <strong>the goal was to confirm the exact nodes.</strong></p><p><strong>By asking for the precise node IDs and their location in the hierarchy,</strong> I made sure that <strong>Cursor was pointing to the real Style Guide and the real UI screens inside the file.</strong></p><p>The result was clear:</p><ul><li><em>Style Guide → node </em><em>5502:11125</em></li><li><em>UI Design → node </em><em>3503:29886</em></li></ul><p>From this point on<strong>, every comparison in the audit was based on these two exact nodes</strong>, not on assumptions or approximate matches.</p><h3><strong>4. Extracting the Real Design Foundations from the File</strong></h3><p><em>Prompt 4</em></p><blockquote>The JSON tree you saved does not include a top-level “styles” catalog.</blockquote><blockquote>Using Figma MCP, fetch the FILE STYLES for this file (paint styles, text styles, effect styles) and return them as JSON, including:</blockquote><blockquote>- style id</blockquote><blockquote>- style name</blockquote><blockquote>- style type</blockquote><blockquote>- resolved values (color hex/rgba, typography, effect params)</blockquote><blockquote>If the MCP has separate calls for:</blockquote><blockquote>- getPaintStyles / getTextStyles / getEffectStyles</blockquote><blockquote>or “getLocalStyles”</blockquote><blockquote>use them and print the results.</blockquote><blockquote>Do not scan nodes yet. First, output the full styles catalog for the file.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*u8UIr-DTJvF7uR3_0mC92A.png" /></figure><p>At this point I realized something important.<br>The node tree alone was not enough.</p><p><strong>Cursor could see where colors and typography were used, but it had no reference for what the Style Guide actually contained.</strong></p><p>So <strong>before scanning the UI</strong>, I asked<strong> Cursor to extract the full styles catalog from the file.</strong></p><p><strong>Paint styles, text styles, and effect styles were pulled out with their resolved values.</strong></p><p>Only after that could <strong>Cursor understand what “allowed” actually meant.</strong></p><h3>5. Running a Strict Style Compliance Audit</h3><p><em>Prompt 5;</em></p><blockquote>Run the full compliance audit (no truncation).</blockquote><blockquote>We have:</blockquote><blockquote>- Style Guide root node id: 5502:11125</blockquote><blockquote>- UI Design root node id: 3503:29886</blockquote><blockquote>Use style_id as primary (style_name may be null).</blockquote><blockquote>STEP 1 — Build ALLOWED style id sets from Style Guide subtree (5502:11125)</blockquote><blockquote>Collect all referenced:</blockquote><blockquote>- paint style ids (fills/strokes)</blockquote><blockquote>- text style ids</blockquote><blockquote>- effect style ids</blockquote><blockquote>Deduplicate them and map each allowed style_id to resolved_values using the styles catalog.</blockquote><blockquote>STEP 2 — Scan the entire UI Design subtree (3503:29886)</blockquote><blockquote>Report ALL violations:</blockquote><blockquote>1) Non-allowed style id (style_id not in allowed set)</blockquote><blockquote>2) Raw values used (no style id for color/text/effect)</blockquote><blockquote>For EACH violation include:</blockquote><blockquote>- violation type + category (Color/Text/Effect)</blockquote><blockquote>- current used (style_id + resolved_values OR raw values)</blockquote><blockquote>- suggested fix (closest allowed style_id by matching resolved_values OR “new style needed”)</blockquote><blockquote>- node name + node id + node type</blockquote><blockquote>- page name + full parent chain</blockquote><blockquote>OUTPUT REQUIREMENTS (IMPORTANT):</blockquote><blockquote>- Do NOT truncate.</blockquote><blockquote>- Write the FULL violation list to a JSON file named:</blockquote><blockquote>figma_style_audit_report.json</blockquote><blockquote>- In the chat, print:</blockquote><blockquote>A) summary counts by category</blockquote><blockquote>B) top 10 frames/screens by violation count (frame name + node id)</blockquote><blockquote>C) the file path where you saved figma_style_audit_report.json</blockquote><blockquote>D) preview first 20 violations (only as preview)</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zpwolefagzL_KZX-eqQBnQ.png" /></figure><p>By this point<strong>, Cursor had the full context of the file: where the Style Guide was, where the real UI screens were, and what styles actually existed</strong>.</p><p>So instead of asking for insights, I asked for a strict compliance check.</p><p><strong>Cursor treated the styles used in the Style Guide as the only allowed set, then scanned all UI screens to find anything that didn’t match.</strong></p><p>It <strong>flagged layers</strong> using <strong>non-allowed styles, raw values, or mismatched properties</strong> and <strong>generated a complete violation</strong> <strong>report</strong> as a <strong>JSON file</strong>, along with a summary of the most problematic screens.</p><p>This was the moment the process turned into a true design system audit.</p><h3>6. Turning the Audit into a Clickable Designer Report</h3><p><em>Prompt 6</em></p><blockquote>Open this JSON file:</blockquote><blockquote>/Users/gizem/figma_style_audit_report.json</blockquote><blockquote>From the full violation list, build a human-readable table with these columns:</blockquote><blockquote>1) Page / Screen name</blockquote><blockquote>2) Node name</blockquote><blockquote>3) Node id</blockquote><blockquote>4) Violation type (Color / Text / Effect)</blockquote><blockquote>5) Current raw value or wrong style id</blockquote><blockquote>6) Suggested Style Guide style id</blockquote><blockquote>7) Direct Figma link in this format:</blockquote><blockquote>https://www.figma.com/file….</blockquote><blockquote>Sort the table by screen (frame) and then by violation type.</blockquote><blockquote>Output as a markdown table.</blockquote><blockquote>Do not summarize. Output the full table.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0iG1zMjMevpBRuy6944RHQ.png" /></figure><p><strong>Up to this point</strong>, <strong>Cursor</strong> had produced a very detailed<strong> JSON audit report</strong>. But JSON is not something you can use directly while working in Figma.</p><p>So I asked Cursor to transform the <strong>raw audit data into a markdown table with direct Figma links.</strong></p><p>Each row in the table became a shortcut to the exact element that breaks the design rules. <strong>Instead of searching through screens, I could simply click and jump straight to the problem.</strong></p><p>This is where the process stopped being a technical analysis and turned into a practical design correction tool.</p><h3><strong>7. Making the Report Easier to Use in Practice</strong></h3><p><em>Prompt 7</em></p><blockquote>Open:</blockquote><blockquote>/Users/gizem/figma_style_audit_designer_report.md</blockquote><blockquote>and also read the source:</blockquote><blockquote>/Users/gizem/figma_style_audit_report.json</blockquote><blockquote>Your preview sample is biased (mostly TEXT). Re-generate the preview as a stratified sample.</blockquote><blockquote>In chat, print exactly:</blockquote><blockquote>- 10 COLOR rows</blockquote><blockquote>- 10 TEXT rows</blockquote><blockquote>- 5 EFFECT rows</blockquote><blockquote>Rules:</blockquote><blockquote>- Ensure the rows are actually from those categories.</blockquote><blockquote>- Include at least:</blockquote><blockquote>- 3 CASE 1 examples (Matches SG value but NOT bound)</blockquote><blockquote>- 3 CASE 3 examples (Uses non-SG style)</blockquote><blockquote>- The remaining can be CASE 2</blockquote><blockquote>If the report does not contain enough CASE 1 or CASE 3, explicitly say how many exist in the full data and show all of them.</blockquote><blockquote>Also add a small summary above the samples:</blockquote><blockquote>- Total counts by Category (Color/Text/Effect)</blockquote><blockquote>- Total counts by Case (Case1/Case2/Case3)</blockquote><blockquote>Do not rewrite the whole report, only produce the corrected preview + summary.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*hjo2unZbUVzCQxwZoe1qBw.png" /></figure><p>At this point, the table was already clickable and practical, but it was still a bit technical to read.</p><p>You could see the node, the value, and the suggested fix but you still had to mentally interpret <em>why</em> it was wrong.</p><p>So I refined the table structure by adding a few extra columns:</p><ul><li><strong>SG Value</strong> (what the Style Guide expects)</li><li><strong>Actual Value</strong> (what is used on the screen)</li><li><strong>Style Binding Status</strong> (how it relates to the style system)</li><li><strong>Why this is a problem</strong> (plain explanation)</li></ul><p>Now, <strong>instead of reading raw audit data</strong>,<strong> the table clearly showed three different types of issues:</strong></p><ol><li><strong>The value is correct, but it’s not connected to a style token</strong></li><li><strong>The element is connected to a style, but that style is not part of the Style Guide</strong></li><li><strong>The value itself does not exist in the Style Guide at all</strong></li></ol><p>With this structure, the report stopped looking like technical output and started reading like a design diagnosis.</p><p><strong>You could glance at a row and immediately understand what went wrong, without decoding style IDs or raw values.</strong></p><p>This made it much clearer how different types of design drift appear across the screens.</p><p><strong>Most importantly, each row in this table included a direct Figma link. When I clicked a link, Figma opened and zoomed straight into the exact element that was breaking the design rules.</strong></p><h3>A Real Example From the Report</h3><p>In the table, one row stood out:</p><pre>button | fill_color | #18C175 | #1BCA7B | Value not in Style Guide</pre><p>These two greens are visually almost the same.<br> But only #18C175 exists in the Style Guide.</p><p>#1BCA7B does not belong to the design system at all.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/835/1*KpeWveEIMhj0WfiSjH-mew.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/838/1*MODfhPzPgz5jAdTrdJkWLA.png" /></figure><p>I clicked the <strong>Open</strong> link in that row.</p><p><strong>Figma opened </strong>and <strong>focused</strong> <strong>directly on the exact button.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8LviJ8mgtDfQZkZmg15seA.png" /></figure><p>And this is where something very important becomes visible.</p><p>On the right panel, under <strong>Colors</strong>, you don’t see a style name.</p><p>You only see:</p><pre>Hex: #1BCA7B</pre><p>That means this color is <strong>not connected to any color style</strong>.</p><p>It is just a <strong>raw hex value.</strong></p><p>So the problem here is not only that the wrong green was used. The problem is that this button color is not connected to the Style Guide at all.</p><h4>Cross-checking the Style Guide</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BJrRS32hfEq4qEUKJNJ0KQ.png" /></figure><p>There is only one green defined there:</p><pre>#18C175</pre><p>It’s <strong>not a detached style</strong>. It’s<strong> simply a wrong hex code that was manually used and never belonged to the design system in the first place</strong>.</p><h4>Why This Example Matters Beyond the Color Itself</h4><p><strong>The color in this example is not something you can easily distinguish by eye.</strong> The b<strong>utton still looks green</strong>, and there is <strong>no obvious visual error </strong>that <strong>breaks the design</strong>.</p><p>But that’s not why I chose this example.</p><p><strong>I chose it because it clearly shows how Cursor works.</strong></p><p><strong>Cursor read the exact hex value defined in the Style Guide</strong>, then <strong>scanned every layer inside the UI screens</strong> and <strong>compared each one against what it should be using</strong>. And <strong>it correctly flagged a mismatch that is almost impossible to notice visually.</strong></p><p>This may be an extreme example. But that’s exactly why it’s powerful.</p><p>Because this is <strong>not only about mistakes that are hard to see.</strong></p><p><strong>It’s about situations</strong> in <strong>large, old files </strong>where <strong>checking hundreds of screens and thousands of layers manually would take days.</strong></p><p>This process showed that this method can be a very practical way to regain control over files that have slowly drifted away from the design system over time.</p><h4><strong>A Quick Note for the Curious: What Is a Node ID and Why I Used It in the Prompts</strong></h4><p>Every element in Figma has a unique technical identity.By converting that Node ID into a Figma URL like this:</p><pre>https://www.figma.com/design/FILEKEY/FILENAME?node-id=111-1111</pre><p>Cursor generated a detailed element level deviation report with NodeID;</p><p>Not only for colors, but also for:</p><ul><li>Radius</li><li>Font family</li><li>Font size</li><li>Shadows</li><li>Spacing</li></ul><h4>A Small but Important Technical Detail</h4><p>Something I noticed while doing this:</p><p>The <strong>Node ID returned by Cursor (via Figma MCP)</strong> is the real internal object ID. The Node ID you see in the browser URL after opening Figma is a <strong>rendered, session-based ID</strong>.</p><p>They don’t match. And that’s normal.</p><p>This is why I first asked Cursor to return <strong>Node IDs</strong>, and only after that used those IDs to construct the Figma links.</p><p>You can see this difference in the browser URL in the screenshots below.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5dddcESIqCBIJm2B-XtZ_g.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YZVd-UJPDtsOa6hzV2MBuA.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*oXVWvk6u3A-Nfmslxzhj9A.png" /></figure><h3>Challenges I Faced and How I Handled Them</h3><ul><li><strong>Figma MCP doesn’t see screens, it sees a node tree</strong><br> I had to explicitly teach Cursor where the <em>Style Guide</em> and <em>UI screens</em> lived by finding their exact node IDs first.</li><li><strong>The JSON export didn’t include a styles catalog</strong><br> Before any audit, I asked Cursor to extract all paint, text, and effect styles from the file so it could understand what “allowed” actually meant.</li><li><strong>Figma links were opening whole sections instead of the exact element</strong><br> I learned to convert the MCP node IDs into proper Figma URLs (: → -) to navigate precisely to the problem layer.</li><li><strong>The file was slow and hard to scan</strong><br> I temporarily removed heavy sections/frames so Cursor could read the structure faster without changing anything else.</li><li><strong>The first reports were too technical to use</strong><br> I refined the table structure to include SG Value, Actual Value, and a plain explanation so the report became readable for a designer, not just a machine.</li></ul><p><em>None of these required changing the method. They were small adjustments that made the audit practical and reliable.</em></p><h3>Summary</h3><p><strong>My goal was to understand</strong> whether the <strong>UI screens in an old project</strong> were still <strong>following the foundations </strong>had been defined years ago as<strong> a style guide.</strong></p><p><strong>Instead of checking screens manually in Figma</strong>, <strong>I connected Cursor</strong> to the <strong>file through Figma MCP</strong> and<strong> let it read the file structure like a node tree.</strong></p><p>Step by step, I:</p><ul><li>Helped <strong>Cursor locate </strong>where<strong> the Style Guide lives</strong></li><li>Helped it <strong>locate </strong>where<strong> the real UI screens live</strong></li><li><strong>Extracted the actual styles defined in the file</strong></li><li>Asked it to treat those styles as the only allowed set</li><li><strong>Scanned every UI layer against that set</strong></li><li><strong>Turned the result into a clickable report</strong> that t<strong>akes me directly to the problematic elements in Figma</strong></li></ul><p>The result was a full element-level audit showing:</p><ul><li><strong>Where raw values were used</strong> instead of styles</li><li><strong>Where wrong styles were used</strong></li><li><strong>Where correct values existed</strong> but were <strong>not connected</strong> to the design system</li></ul><p>The benefit was not just finding mistakes.</p><p>It was being able to see, clearly and quickly, where the design system had drifted over time in a way that would be almost impossible to find easily or detect by eye in a large file.</p><p><strong>What would normally take days of manual inspection turned into a structured, practical audit I could actually work through.</strong></p><h3>What’s Next</h3><p>Now that I can clearly see where and how things drift over time, the next step is going to be more like<strong> improving the foundations</strong> behind it.</p><ul><li>I want to <strong>go deeper into turning style guides into proper, token-based structures.</strong></li><li><strong>Defining semantic layers</strong> instead of relying on raw styles.</li><li>Using Figma Variables in a <strong>more systematic way.</strong></li></ul><p>And this time, I plan to involve <strong><em>Claude</em></strong> in the process as well not for auditing, but for <strong>helping structure, group, and reason about the design foundations themselves.</strong></p><p>This may happen on this project or another one.</p><p>What matters is exploring how these tools can support not just finding problems in old files, but shaping more scalable design systems from the beginning.</p><h3>💡 Stay inspired every day with Muzli!</h3><p>Follow us for a daily stream of design, creativity, and innovation.<br><a href="https://www.linkedin.com/company/muzli/">LinkedIn</a> | <a href="https://www.instagram.com/usemuzli/">Instagram</a> | <a href="https://x.com/usemuzli">Twitter</a></p><figure><a href="https://muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ly4MHLLO72G6uF4o.png" /></a></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bdf1b141a635" width="1" height="1" alt=""><hr><p><a href="https://medium.muz.li/how-i-use-cursor-to-audit-my-design-system-bdf1b141a635">Auditing Style Consistency in Figma with Cursor</a> was originally published in <a href="https://medium.muz.li">Muzli - Design Inspiration</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[When “I Understood You” Isn’t the Same as “I Did the Right Thing”]]></title>
            <link>https://medium.muz.li/when-i-understood-you-isnt-the-same-as-i-did-the-right-thing-634ca6153edc?source=rss----5969bf7021a3---4</link>
            <guid isPermaLink="false">https://medium.com/p/634ca6153edc</guid>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[ux]]></category>
            <category><![CDATA[design]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[conversational-ai-design]]></category>
            <dc:creator><![CDATA[Santhosh Reddy Kanthala]]></dc:creator>
            <pubDate>Mon, 19 Oct 2026 05:51:20 GMT</pubDate>
            <atom:updated>2026-10-19T05:51:19.647Z</atom:updated>
            <content:encoded><![CDATA[<h3>Part 3 of 4 — Designing for Agents That Act: The Shift From Scripted Bots to Agentic Conversations</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZXypI3t6oD1buGDVKtyBJA.png" /><figcaption>Photo by Google DeepMind: <a href="https://www.pexels.com/photo/an-artist-s-illustration-of-artificial-intelligence-ai-this-illustration-depicts-language-models-which-generate-text-it-was-created-by-wes-cockx-as-part-of-the-visualising-ai-project-l-18069693/">https://www.pexels.com/photo/an-artist-s-illustration-of-artificial-intelligence-ai-this-illustration-depicts-language-models-which-generate-text-it-was-created-by-wes-cockx-as-part-of-the-visualising-ai-project-l-18069693/</a></figcaption></figure><p>Six months after the payment-hold incident, Ledgerly’s finance assistant could do something it couldn’t do before: it could actually go execute a multi-step task. Ask it to “reconcile last month’s vendor invoices against the PO log and flag anything over 5% variance,” and it would pull the invoices, cross-reference them, generate a report, and — if nobody stopped it — email that report to the finance distribution list. That’s the real shift this part of the series is about. <a href="https://firstpagesage.com/reports/agentic-ai-adoption-statistics/">Agentic AI uses the same underlying models as a chatbot, but it independently plans, chains decisions, and executes multi-step tasks without ongoing human direction</a>. A regular conversational bot answers a question wrong, and the cost is a bad sentence. An agent acts wrong, and the cost is a bad <em>outcome</em> — money moved, an email sent, a record changed — often before anyone had the chance to notice.</p><h3>The turn-taking model has to change shape</h3><p>Classic conversation design assumes a rhythm: user asks, assistant answers, user asks again. Agentic design breaks that rhythm on purpose. The actual loop looks more like: user requests an outcome, agent proposes a plan, something (a person, a rule, a confidence threshold) decides whether that plan needs confirmation before it runs, the agent executes, and then it reports back what it actually did — not just what it intended to do. Designing that reporting step honestly is its own discipline: an agent that says “I reconciled the invoices” without saying which ones it <em>couldn’t</em> reconcile, or which line items it skipped because the data was ambiguous, is quietly setting up the next Ledgerly-style incident.</p><figure><a href="https://me.muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*MC_wJzIpbUT7eg9c.png" /></a></figure><h3>Reversibility is the single design question that matters most</h3><p>Not every action deserves the same level of friction. Ledgerly’s team ended up sorting every action their agent could take into three tiers: fully reversible (drafting a report, flagging an anomaly — do it automatically, no confirmation needed), reversible with cost (sending an internal email — do it, but log it prominently and make undo genuinely easy), and irreversible or high-stakes (releasing a payment, changing a vendor’s banking details — require explicit confirmation, every single time, no matter how confident the agent is). This isn’t a novel invention on Ledgerly’s part — it’s the same underlying logic every enterprise team converging on agentic design eventually lands on, because the data backs it up: <a href="https://gogloby.com/insights/ai-adoption-statistics/">workflows that convert first into scaled, trusted agentic use are the ones with high volume, structured inputs, measurable outcomes, and short feedback loops</a> — ticket triage and code review lead precisely because a wrong output there is cheap and fast to catch, not because the AI is more reliable in those domains specifically.</p><h3>Where the real-world adoption data already tells the design story</h3><p>The industries furthest along in production agentic deployment aren’t necessarily the most technically sophisticated — they’re the ones that had reversibility and guardrails baked into their processes long before AI showed up. <a href="https://www.digitalapplied.com/blog/ai-agent-adoption-2026-enterprise-data-points">Banking and insurance lead production AI agent adoption at 47%, while healthcare and government trail at 18% and 14% respectively</a>. That gap is a design signal as much as a risk-tolerance one: finance already has audit trails, approval thresholds, and reconciliation processes an agent can be designed to slot into. Healthcare and government, by contrast, often don’t have an equivalent scaffolding to design the agent’s guardrails against — so the agent has nothing safe to plug into.</p><p>The payback data reinforces the same point from a different angle: <a href="https://www.digitalapplied.com/blog/ai-agent-adoption-2026-enterprise-data-points">median time-to-value on agent deployments is 5.1 months, with SDR-style agents paying back in 3.4 months and finance and operations agents taking 8.9 months</a>. The finance/ops lag isn’t a technology gap — it’s the time it actually takes to design the guardrails, confirmation checkpoints, and escalation paths correctly for actions where a mistake costs real money.</p><h3>Why governance failures, not model failures, kill most agentic projects</h3><p><a href="https://unicoconnect.com/blogs/agentic-ai-statistics-2026">Gartner predicts more than 40% of agentic AI projects will be cancelled by the end of 2027</a>, and the reasons cited are governance, observability, and unclear ROI — not model capability. That’s a design failure wearing a technology costume. An agent nobody can observe mid-task, whose actions aren’t logged in a form a human can quickly audit, is an agent leadership will eventually stop trusting regardless of how good the underlying model is. Observability isn’t a backend afterthought here — it’s a conversation design deliverable: what does the agent show the user <em>while</em> it’s working through a multi-step task, and what does it leave behind afterward that a human can review in thirty seconds instead of thirty minutes?</p><h3>What changed for Ledgerly, concretely</h3><p>The reconciliation feature shipped with three things that weren’t optional add-ons but core to its design: a visible plan step (“Here’s what I’m about to do — 47 invoices, cross-referenced against 12 POs — proceed?”) before anything ran, a running log the CFO could open mid-task to see exactly which invoices had been checked so far, and a hard rule that the “email the report” step always required a tap of confirmation, permanently, with no setting to turn that off. The agent got faster at the actual reconciliation over the following months. The confirmation step never went away — because the team had learned, the hard way, that speed and trust are not the same design goal, and optimizing only for the first one is exactly how you end up back in the CFO’s inbox explaining what went wrong.</p><p>Part 4 closes the series out with the question a lot of leaders and designers actually came here for: who does this work, what should you look for when hiring for it, and what does a career in it actually look like as the discipline keeps shifting under everyone’s feet.</p><p><a href="https://medium.com/muzli-design-inspiration/what-the-design-team-actually-does-between-we-need-an-ai-assistant-and-launch-day-f89a3d2ce34e"><em>Previous: Part 2 — Inside the Process: How Conversation Design Actually Happens in Enterprise SaaS</em></a></p><p><em>Next: Part 4 — Building the Team and the Career: Hiring and Growing Conversation Designers for an AI-Native Future</em></p><h3>💡 Stay inspired every day with Muzli!</h3><p>Follow us for a daily stream of design, creativity, and innovation.<br><a href="https://www.linkedin.com/company/muzli/">LinkedIn</a> | <a href="https://www.instagram.com/usemuzli/">Instagram</a> | <a href="https://x.com/usemuzli">Twitter</a></p><figure><a href="https://muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ly4MHLLO72G6uF4o.png" /></a></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=634ca6153edc" width="1" height="1" alt=""><hr><p><a href="https://medium.muz.li/when-i-understood-you-isnt-the-same-as-i-did-the-right-thing-634ca6153edc">When “I Understood You” Isn’t the Same as “I Did the Right Thing”</a> was originally published in <a href="https://medium.muz.li">Muzli - Design Inspiration</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Can You Trust an AI Design Review? 7 Things It Misses and How to Fix Each One]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.muz.li/can-you-trust-an-ai-design-review-7-things-it-misses-and-how-to-fix-each-one-6044fe5bf3a6?source=rss----5969bf7021a3---4"><img src="https://cdn-images-1.medium.com/max/2600/0*AwelESHFurnD7e0x" width="2796"></a></p><p class="medium-feed-snippet">Seven ways AI reviews go wrong, a fix for each, and a three-pass method that turns a flattering review into a useful one.</p><p class="medium-feed-link"><a href="https://medium.muz.li/can-you-trust-an-ai-design-review-7-things-it-misses-and-how-to-fix-each-one-6044fe5bf3a6?source=rss----5969bf7021a3---4">Continue reading on Muzli - Design Inspiration »</a></p></div>]]></description>
            <link>https://medium.muz.li/can-you-trust-an-ai-design-review-7-things-it-misses-and-how-to-fix-each-one-6044fe5bf3a6?source=rss----5969bf7021a3---4</link>
            <guid isPermaLink="false">https://medium.com/p/6044fe5bf3a6</guid>
            <category><![CDATA[design]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[product-design]]></category>
            <category><![CDATA[ux-design]]></category>
            <category><![CDATA[ux]]></category>
            <dc:creator><![CDATA[Life Considered]]></dc:creator>
            <pubDate>Mon, 19 Oct 2026 05:50:30 GMT</pubDate>
            <atom:updated>2026-10-19T05:50:29.501Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Why AI Design All Looks the Same (and the Six Words That Fix It)]]></title>
            <link>https://medium.muz.li/why-ai-design-all-looks-the-same-and-the-six-words-that-fix-it-83b842d7ab4a?source=rss----5969bf7021a3---4</link>
            <guid isPermaLink="false">https://medium.com/p/83b842d7ab4a</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[prompt-engineering]]></category>
            <category><![CDATA[design]]></category>
            <category><![CDATA[ux]]></category>
            <dc:creator><![CDATA[James Shehan]]></dc:creator>
            <pubDate>Mon, 19 Oct 2026 05:44:43 GMT</pubDate>
            <atom:updated>2026-10-19T05:44:41.756Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*L5J0TbS_19LX6LluKtBenQ.jpeg" /><figcaption>Prompt Like a Designer by J. Shehan</figcaption></figure><p><em>Generated interfaces converge on the same safe defaults. Here’s how to brief them like a design lead instead.</em></p><p>Open three AI-generated landing pages side by side and play a quick game: find the differences. Same soft gradient behind the hero. Same rounded cards in a row of three. Same purple-to-blue accent, same centered headline, same pill-shaped button. They aren’t copies of each other. They’re copies of the middle.</p><p>That’s the part people miss when they call it AI slop. Generative tools are very good at producing the most probable answer to a request, and the most probable answer to “a modern SaaS landing page” is the average of every SaaS landing page they’ve seen. Nobody asked for the average. But a short, vague request leaves hundreds of design decisions open, and the tool closes each one with the safest option it knows.</p><p>Designers already have a remedy for this, because we’ve been dealing with vague briefs from clients forever. We turn adjectives into decisions. When a stakeholder says “make it feel premium,” we don’t reach for gold. We ask what should be seen first, how much room it gets, which colors are allowed and why. The same move works on a model.</p><figure><a href="https://me.muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*MC_wJzIpbUT7eg9c.png" /></a></figure><h3>Briefing a model is briefing a junior designer</h3><p>Think about how you’d brief a talented junior designer who has seen everything but has no taste of their own yet. You wouldn’t say “make it clean.” You’d say the headline wins, the supporting copy steps back, there’s a single accent color, and everything hangs off one left edge. You’d tell them what not to do, too, because you know their instinct is to add.</p><p>A model needs that same brief, written down. I use six words as a checklist: Importance, Margins, Palette, Alignment, Contrast and Typography. They spell IMPACT, which makes them easy to remember mid-prompt. Each one covers a category of decision the tool will otherwise make for you, and each one translates into a sentence or two of plain language.</p><h3>Importance: decide what wins</h3><p>Every screen has a job, and the layout should make that job obvious in about a second. On a pricing page, it’s usually the plan you want most people to choose. On an onboarding screen, it’s the single next step. Generated layouts tend to give every element equal volume, so nothing leads.</p><p>State the reading order and back it with a ratio. “The recommended plan card is visually dominant: slightly larger than the other two, with the only filled button on the page. Plan names are secondary. Feature lists are small and quiet.” Ratios and rankings give the model something concrete to execute, where “highlight the best plan” gives it a vibe.</p><h3>Margins: give it room on purpose</h3><p>Models fill space because a full canvas looks like work. Product designers know the opposite is usually true: density is a cost, and whitespace is how you buy clarity. A dashboard crammed edge to edge with widgets feels urgent and hard to scan.</p><p>Ask for space by name, and say where it goes. “Generous padding inside each card. Wide gutters between the three columns. Extra space above each section heading, tighter space between a heading and its content.” That last pairing matters. Grouping by proximity is half of what makes an interface readable, and the model won’t do it unless you describe it.</p><h3>Palette: fewer colors, each with a job</h3><p>Left alone, generative tools love a gradient and a second accent and maybe a third. The result looks lively in a thumbnail and noisy in use. A working product palette is small: a neutral background, a text color, one or two supporting tones, and a single accent reserved for primary actions.</p><p>Give hex values and assign roles. “Background #F7F7F5. Primary text #1C1C1C. Secondary text #6B6B6B. Accent #2F6FED, used only for primary buttons and active states. No gradients and no additional colors.” Assigning the accent a narrow job is what keeps it meaningful. If everything is blue, blue stops meaning “click here.”</p><h3>Alignment: pick an edge and commit</h3><p>Elements that are nearly aligned read as mistakes, even to users who couldn’t name the problem. Generated UIs drift toward centering, which works for a single headline and falls apart for forms, tables and anything with more than two lines of text.</p><p>Make the structure explicit. “Left-align all text to a 12-column grid with a consistent left margin. Form labels sit above their fields, left-aligned with them. Card contents share the same internal left edge.” When you name the grid, you also make later revisions easier, because you can refer back to it.</p><h3>Contrast: put the emphasis in one place</h3><p>Contrast is how importance becomes visible: size, weight, color and space working together. Models tend to apply emphasis everywhere at once, with bold headings, bold labels, colored icons and shadowed cards all competing. When everything is emphasized, nothing is.</p><p>Tell the tool where contrast belongs and where things should go calm. “Only the page title and primary button use high contrast. Section labels are medium weight. Metadata is small and gray, but still meets accessible contrast against the background.” That final clause is worth keeping in every brief. Light gray on white is the most common way generated interfaces quietly fail real users.</p><h3>Typography: one family, clear steps</h3><p>Type is the decision prompts skip most often. Left to guess, a model will happily mix a display face with a system font and a third thing for numbers. Interfaces read best with one family, maybe two, and a clear type scale.</p><p>Name the family if your tool takes it, and describe the scale either way. “Inter throughout. Page title 32px semibold, section headings 20px semibold, body 16px regular, captions 13px. No more than three sizes visible in any one card.” For image-based tools that ignore font names, describe the character instead: a neutral grotesque sans, tight headings, roomy body text.</p><h3>Write the “avoid” line every time</h3><p>The model’s default is to add. Shadows, glows, glassmorphism, decorative blobs, illustrated people waving from the corner. Restraint only happens when you request it, so end every brief with an exclusion list chosen for the job.</p><p>For a product screen, that might be: “Avoid gradients, drop shadows on cards, decorative background shapes, stock illustrations, and more than one accent color.” Four or five well-chosen exclusions do more than a paragraph of positive description. They close the doors the model was most likely to walk through.</p><h3>Revise one variable at a time</h3><p>The six words double as a critique framework once the output comes back. Instead of “it’s not quite right,” you can say the hierarchy is muddy or the palette has crept. Then fix that one thing: “Keep the grid and the palette. Make the recommended plan card the only one with a filled button. Do not change the typography.”</p><p>Changing one variable per round tells you what actually moved the result, and the “do not change” clause stops revisions from drifting into parts that were already working. When the remaining fixes get tiny, stop prompting and finish in your design tool. That last stretch is faster by hand, and it’s where your own judgment shows most.</p><h3>The taste was always the brief</h3><p>None of this is new to designers. Hierarchy, spacing, color roles, grids, emphasis and type scales are the fundamentals we use to critique each other’s work. What’s changed is where those decisions have to live. For years they were expressed through the mouse, one nudge at a time. With generative tools, they have to live in the words you hand over first.</p><p>The models aren’t going to develop taste on their own. They’ll keep returning the most likely answer to whatever you ask. The difference between generic output and work that looks designed is whether you wrote your decisions down before you hit enter.</p><h3>💡 Stay inspired every day with Muzli!</h3><p>Follow us for a daily stream of design, creativity, and innovation.<br><a href="https://www.linkedin.com/company/muzli/">LinkedIn</a> | <a href="https://www.instagram.com/usemuzli/">Instagram</a> | <a href="https://x.com/usemuzli">Twitter</a></p><figure><a href="https://muz.li"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ly4MHLLO72G6uF4o.png" /></a></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=83b842d7ab4a" width="1" height="1" alt=""><hr><p><a href="https://medium.muz.li/why-ai-design-all-looks-the-same-and-the-six-words-that-fix-it-83b842d7ab4a">Why AI Design All Looks the Same (and the Six Words That Fix It)</a> was originally published in <a href="https://medium.muz.li">Muzli - Design Inspiration</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>