<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>AI on Smashing Magazine — For Web Designers And Developers</title><link>https://www.smashingmagazine.com/category/ai/index.xml</link><description>Recent content in AI on Smashing Magazine — For Web Designers And Developers</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Tue, 12 May 2026 16:41:36 +0000</lastBuildDate><item><author>Casey Hudetz and Eric Olive</author><title>The “Bug-Free” Workforce: How AI Efficiency Is Subtly Disrupting The Interactions That Build Strong Teams</title><link>https://www.smashingmagazine.com/2026/04/bug-free-workforce-ai-disrupting-teams/</link><pubDate>Mon, 27 Apr 2026 10:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/04/bug-free-workforce-ai-disrupting-teams/</guid><description>AI tools are eliminating the need to “bug” colleagues for help, but the informal interactions they replace are the very scaffolding that builds team trust, belonging, and innovation. Casey Hudetz and Eric Olive explore the research and potential impacts behind that risk and offer practical strategies for maintaining human connection while leveraging AI’s strengths.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/04/bug-free-workforce-ai-disrupting-teams/" />
              <title>The “Bug-Free” Workforce: How AI Efficiency Is Subtly Disrupting The Interactions That Build Strong Teams</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>The “Bug-Free” Workforce: How AI Efficiency Is Subtly Disrupting The Interactions That Build Strong Teams</h1>
                  
                    
                    <address>Casey Hudetz and Eric Olive</address>
                  
                  <time datetime="2026-04-27T10:00:00&#43;00:00" class="op-published">2026-04-27T10:00:00+00:00</time>
                  <time datetime="2026-04-27T10:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>Through many discussions with industry colleagues, we’ve started hearing a phrase more often when swapping stories about AI adoption:</p>

<blockquote>“Now I don’t have to <strong>bug</strong> [someone].”</blockquote>

<p>Product designers don’t need to bug researchers anymore &mdash; retrieval-augment generation (RAG) tools surface insights instantly. Product Managers don’t need to <em>bug</em> designers for mockups &mdash; AI generates acceptable options. Engineers don’t need to <em>bug</em> accessibility teams &mdash; automated scanners flag issues in real-time.</p>

<p>It’s framed as liberation, and in many ways, it is. There’s genuine relief in being unblocked, in not having to wait, in solving problems independently.</p>

<p>With AI, we’re building a “bug-free workforce”.</p>

<p>But what if the bugs that AI is automating away, such as the quick questions, the small talk, the organic connections, are actually an important part of the scaffolding that builds and sustains healthy teams?</p>

<h2 id="the-vanishing-scaffolding">The Vanishing Scaffolding</h2>

<p>Consider what actually disappears when we turn to AI assistance before engaging with a colleague directly. For instance:</p>

<ul>
<li>The 2-minute Slack exchange that turns into a 20-minute whiteboarding session.</li>
<li>The “quick question” that reveals a fundamental misalignment.</li>
<li>The accessibility review that becomes mentorship.</li>
</ul>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/bug-free-workforce/1-ai-driven-efficiency-weaken-team-cohesion.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/1-ai-driven-efficiency-weaken-team-cohesion.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/bug-free-workforce/1-ai-driven-efficiency-weaken-team-cohesion.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/bug-free-workforce/1-ai-driven-efficiency-weaken-team-cohesion.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/bug-free-workforce/1-ai-driven-efficiency-weaken-team-cohesion.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/bug-free-workforce/1-ai-driven-efficiency-weaken-team-cohesion.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/1-ai-driven-efficiency-weaken-team-cohesion.jpg"
			
			sizes="100vw"
			alt="Two diagrams comparing teamwork: a dense, interconnected human network vs a centralized AI-driven network that is efficient but isolates individuals"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      AI-driven efficiency can weaken team cohesion. (<a href='https://files.smashing.media/articles/bug-free-workforce/1-ai-driven-efficiency-weaken-team-cohesion.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Although these interactions are primarily intended to exchange information and unblock individuals’ tasks, many are the building blocks for the intangible but crucial sense of belonging and connection in the workplace.</p>

<blockquote>The inefficiencies of interpersonal communication and daily interaction build the larger organism known as work culture. When AI disrupts these interactions, what is lost?</blockquote>

<h2 id="what-the-research-actually-shows">What The Research Actually Shows</h2>

<p>There is ample psychological research to support our hypothesis: If the trust built through organic and informal connections is threatened, teams will be negatively impacted. Let’s examine a few:</p>

<p>In 2012, <a href="https://hbr.org/2012/04/the-new-science-of-building-great-teams">MIT’s Human Dynamics Lab (Pentland, 2012)</a> discovered that the best predictor of team productivity wasn’t formal meetings but “energy” from informal communication: the hallway conversations, coffee chats, and quick questions. Teams with the most informal interaction had <strong>35% more successful outcomes</strong>. With AI, what energy is <em>not</em> generated, leading to fewer successful outcomes?</p>

<p>In 2015, <a href="https://www.nytimes.com/2016/02/28/magazine/what-google-learned-from-its-quest-to-build-the-perfect-team.html?unlocked_article_code=1.W1A.sA1C.ptegMsaJ_EY0&amp;smid=url-share">Google’s Project Aristotle</a> studied over 180 teams to find out why some thrived, and others underperformed. They found that psychological safety, the shared belief among team members that the environment is safe for interpersonal risk-taking, built through frequent, low-stakes interactions, was the <strong>number one predictor of high performance</strong>. Not intelligence. Not resources. Trust built through <strong>micro-moments</strong>. The exact micro-moments we see vanishing when we overuse AI.</p>

<p>In 2025, researchers from Harvard, Columbia, and Yeshiva University published <a href="https://direct.mit.edu/rest/article/107/4/951/115633/Super-Mario-Meets-AI-Experimental-Effects-of">a study focused on the impact of AI on performance and team coordination</a>. The authors concluded that AI-driven automation decreased overall team performance and increased coordination failures. These effects were especially large in the short-term and in low- and medium-skilled teams. Automation also decreased team trust.</p>

<h2 id="why-this-matters">Why This Matters</h2>

<p>When AI disrupts the team’s energy and psychological safety, a sense of disconnection sets in, which, in turn, hurts the company’s bottom line.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/bug-free-workforce/2-ai-disrupts-team-energy.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/2-ai-disrupts-team-energy.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/bug-free-workforce/2-ai-disrupts-team-energy.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/bug-free-workforce/2-ai-disrupts-team-energy.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/bug-free-workforce/2-ai-disrupts-team-energy.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/bug-free-workforce/2-ai-disrupts-team-energy.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/2-ai-disrupts-team-energy.jpg"
			
			sizes="100vw"
			alt="Central worker connected to an AI system, with weaker, fading links to other people"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Adding AI to the team increases efficiency, but also risks displacing the human-to-human connections that establish psychological safety. (<a href='https://files.smashing.media/articles/bug-free-workforce/2-ai-disrupts-team-energy.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="disconnected-employees-leave">Disconnected Employees Leave</h3>

<p>People don’t stay at companies because of the work. They stay because of the people. And if connections to colleagues decrease due to AI’s presence, how might that expedite one’s departure?</p>

<p>Consider this question in dollar terms. McKinsey’s <a href="https://www.mckinsey.com/capabilities/people-and-organizational-performance/our-insights/the-organization-blog/the-great-attrition-the-power-of-adaptability">Great Attrition research</a> found that not feeling a sense of belonging was one of the most frequently cited reasons employees left. When informal micro-interactions disappear, belonging erodes, and people walk.</p>

<blockquote>“Employee disengagement and attrition could cost a median-size S&P 500 company between $228 million and $355 million a year in lost productivity.”<br /><br />&mdash; <a href='https://www.mckinsey.com/capabilities/people-and-organizational-performance/our-insights/some-employees-are-destroying-value-others-are-building-it-do-you-know-the-difference'>McKinsey</a></blockquote>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/bug-free-workforce/3-cost-employee-disengagement.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="497"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/3-cost-employee-disengagement.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/bug-free-workforce/3-cost-employee-disengagement.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/bug-free-workforce/3-cost-employee-disengagement.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/bug-free-workforce/3-cost-employee-disengagement.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/bug-free-workforce/3-cost-employee-disengagement.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/3-cost-employee-disengagement.png"
			
			sizes="100vw"
			alt="Chart showing employee disengagement and attrition costs rising from $228M to $355M annually in a higher-attrition scenario"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The hidden but real cost of employee disengagement and attrition from <a href='https://www.mckinsey.com/capabilities/people-and-organizational-performance/our-insights/some-employees-are-destroying-value-others-are-building-it-do-you-know-the-difference'>McKinsey</a>. (<a href='https://files.smashing.media/articles/bug-free-workforce/3-cost-employee-disengagement.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Leaders must ask themselves if the potential gains from AI rollouts and promised productivity gains outweigh the costs of a disengaged and attrition-prone workforce. The evidence suggests otherwise.</p>

<h3 id="disconnected-teams-are-less-innovative">Disconnected Teams Are Less Innovative</h3>

<p>Korean researchers in 2024 <a href="https://compass.onlinelibrary.wiley.com/doi/10.1111/soc4.13214">analyzed innovation in the private sector</a> and concluded that weak ties &mdash; the bridging conversations with people you interact with occasionally &mdash; sustained innovative performance in companies characterized by active technological innovation.</p>

<p>Simply put, breakthroughs do not necessarily emerge from your core team but from interactions with the people you would have “bugged” in the past. Eliminating these interactions in favor of AI could not only negatively impact team health, but it could also hurt the business through decreased depth and breadth of innovation in design, coding, content, and beyond.</p>

<blockquote>AI’s seduction is that it feels like pure gain until the team realizes they’ve become strangers who happen to work on the same project.</blockquote>

<p>If a shared sense of purpose and belonging disappears, employers have a workforce less engaged and less innovative, with a higher chance of attrition.</p>

<p>If AI helps us need each other less, how can a company hope to nurture a connected, supported, and effective workforce?</p>

<p>The answer requires a balanced and multi-pronged approach. Use AI tools for dull, repetitive, and high-volume tasks while reserving the human brain for higher-level problem solving. Design physical workspaces and online team interactions that will maintain or increase human connection.</p>

<h2 id="maintaining-the-best-of-both">Maintaining The Best Of Both</h2>

<p>In short, leverage the best of AI tools and human abilities.</p>

<h3 id="1-use-ai-to-eliminate-the-toil">1. Use AI To Eliminate The Toil</h3>

<p>In the March 2026 article “<a href="https://hbr.org/2026/03/when-using-ai-leads-to-brain-fry">When Using AI Leads to ‘Brain Fry’</a>,” the authors outline their study of 1,488 full-time U.S.-based workers to understand the impact of AI use on professionals. The result was a concept they call “AI Brain Fry,” a form of acute mental fatigue and cognitive exhaustion resulting from excessive use, interaction, or oversight of AI tools beyond an individual’s cognitive capacity.</p>

<p>Further, the study reveals that the cognitive strain created by intensive AI use carries business costs, including decision fatigue and error-prone work. Perhaps the most troubling finding is that 34% of workers who reported experiencing brain fry intended to quit their jobs. The loss of institutional knowledge caused by turnover is well documented.</p>

<p>One conclusion is that AI is not inherently bad or cognitively taxing. Rather, as with any tool, what matters is how it’s used.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aFocusing%20our%20energy%20on%20identifying%20the%20repetitive,%20unenjoyable%20parts%20of%20our%20jobs%20%28or%20%e2%80%9ctoil%e2%80%9d%29%20and%20using%20AI%20to%20remove%20them%20is%20a%20way%20to%20improve%20cognitive%20and%20team%20health.%0a&url=https://smashingmagazine.com%2f2026%2f04%2fbug-free-workforce-ai-disrupting-teams%2f">
      
Focusing our energy on identifying the repetitive, unenjoyable parts of our jobs (or “toil”) and using AI to remove them is a way to improve cognitive and team health.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>Indeed, the Harvard Business Review authors explain that participants in their study who used AI to eliminate toil only had 15% lower rates of burnout but also reported <em>“a higher degree of social connection with peers…because they had more time to spend ‘off keyboard.’”</em> In this toil-elimination scenario, AI did not  disrupt team connections; it removed what we consider busy work that prevented the team from solving problems with colleagues.</p>

<h3 id="2-institutionalize-productive-friction">2. Institutionalize Productive Friction</h3>

<p>Steve Jobs famously designed the Pixar studios so employees would have to bump into each other. <em>“Steve realized that when people run into each other, when they make eye contact, things happen,”</em> <a href="https://officesnapshots.com/2012/07/16/pixar-headquarters-and-the-legacy-of-steve-jobs/">reflected Brad Bird</a>, the director of <em>The Incredibles</em> and <em>Ratatouille</em> movies. John Lasseter, responsible for some of Pixar’s most beloved films, shared that he’d <em>“never seen a building that promoted collaboration and creativity as well as this one.”</em> Jobs understood that serendipitous collision drives creative work, and Pixar’s oeuvre reveals the genius.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/bug-free-workforce/4-pixar-studio-floor-plans.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/4-pixar-studio-floor-plans.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/bug-free-workforce/4-pixar-studio-floor-plans.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/bug-free-workforce/4-pixar-studio-floor-plans.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/bug-free-workforce/4-pixar-studio-floor-plans.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/bug-free-workforce/4-pixar-studio-floor-plans.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/4-pixar-studio-floor-plans.png"
			
			sizes="100vw"
			alt="Pixar Studio’s floor plans, which facilitate face-to-face interaction"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Pixar Studio’s floor plans facilitated face-to-face interaction. (<a href='https://files.smashing.media/articles/bug-free-workforce/4-pixar-studio-floor-plans.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>What is the equivalent of creating this type of organizational design in the age of AI?</p>

<ul>
<li><strong>Build AI tools that connect the team.</strong><br />
We’ve found that when building internal agents, it’s best to attach the names of the original creators to the work and to direct seekers to these creators. This way, any seeker not only finds the answer but is connected to others with more institutional knowledge to help.</li>
<li><strong>Publicly spotlight successful team uses of AI.</strong><br />
By finding examples of how teams have used AI to work more effectively and efficiently <em>together</em> and highlighting them in public forums and townhalls, it helps establish the narrative that AI can be something that brings us together rather than pushes us apart.</li>
<li><strong>Establish rotation programs.</strong><br />
If AI means product managers can prototype, have them shadow designers anyway. Having a more holistic understanding of each other’s craft through direct dialogues benefits both sides beyond simple AI outputs.</li>
<li><strong>Hold panel discussions on the evolution of work.</strong><br />
Gather cross-functional partners to regularly discuss and debate how our work is currently changing or could in the near future. It keeps <em>intentional</em> change top of mind and in the open.</li>
</ul>

<h3 id="3-build-team-cohesion-through-ai-inspired-laughter">3. Build Team Cohesion Through AI-inspired Laughter</h3>

<p>Positive humor in the workplace has been <a href="https://www.humorseriously.com/">studied extensively</a> as a way for teams to bond. We see how AI can improve team connections through a good, absurd laugh.</p>

<ul>
<li><strong>Bad UX Vibecoding Competitions</strong><br />
Give your team a silly prompt (“Design the worst volume control”) and 30 minutes to vibe-code a horrible solution. The process of building these outputs helps the team: learn new AI tools, get the creative juices flowing, and, most importantly, laugh together.</li>
</ul>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/bug-free-workforce/5-results-vibe-coding-activity.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="628"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/5-results-vibe-coding-activity.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/bug-free-workforce/5-results-vibe-coding-activity.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/bug-free-workforce/5-results-vibe-coding-activity.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/bug-free-workforce/5-results-vibe-coding-activity.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/bug-free-workforce/5-results-vibe-coding-activity.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/5-results-vibe-coding-activity.png"
			
			sizes="100vw"
			alt="The results of a silly vibe-coding activity the team used to learn and stay connected"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The results of a silly vibe-coding activity our team used to learn and stay connected (built with Google Gemini). (<a href='https://files.smashing.media/articles/bug-free-workforce/5-results-vibe-coding-activity.png'>Large preview</a>)
    </figcaption>
  
</figure>

<ul>
<li><strong>Hyper-specific AI Creations</strong><br />
Would a certain image make people smile in this workshop? Is there a funny idea at work that would be even weirder as an AI-generated song? Using them for absurd work moments is a fun way to get people laughing.</li>
</ul>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/bug-free-workforce/6-ai-spin-cliche.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="436"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/6-ai-spin-cliche.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/bug-free-workforce/6-ai-spin-cliche.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/bug-free-workforce/6-ai-spin-cliche.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/bug-free-workforce/6-ai-spin-cliche.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/bug-free-workforce/6-ai-spin-cliche.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/6-ai-spin-cliche.png"
			
			sizes="100vw"
			alt="AI-created spin on a cliche: you can lead a horse to water, but you can&#39;t make it prompt"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Use AI to create a spin on a cliche for a laugh or icebreaker for a workshop or team meeting (made with Google Gemini). (<a href='https://files.smashing.media/articles/bug-free-workforce/6-ai-spin-cliche.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Eliminating toil, institutionalizing productive friction, and building team cohesion through humor show the power of integrating the best of the human brain and AI algorithms.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/bug-free-workforce/7-combination-ai-human-driven-activity.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="450"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/7-combination-ai-human-driven-activity.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/bug-free-workforce/7-combination-ai-human-driven-activity.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/bug-free-workforce/7-combination-ai-human-driven-activity.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/bug-free-workforce/7-combination-ai-human-driven-activity.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/bug-free-workforce/7-combination-ai-human-driven-activity.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/bug-free-workforce/7-combination-ai-human-driven-activity.jpg"
			
			sizes="100vw"
			alt="Three diagrams comparing teamwork: a dense, interconnected human network vs a centralized AI-driven network that is efficient but isolates individuals vs an interconnected human network with AI in the middle."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The right combination of AI and human-driven activity increases efficiency while training human connection. (<a href='https://files.smashing.media/articles/bug-free-workforce/7-combination-ai-human-driven-activity.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aThe%20question%20isn%e2%80%99t%20whether%20to%20use%20AI.%20Contemporary%20workers%20have%20less%20and%20less%20choice.%20The%20question%20is:%20what%20kind%20of%20team%20do%20you%20want%20to%20become%20when%20AI%20is%20the%20newest%20teammate?%0a&url=https://smashingmagazine.com%2f2026%2f04%2fbug-free-workforce-ai-disrupting-teams%2f">
      
The question isn’t whether to use AI. Contemporary workers have less and less choice. The question is: what kind of team do you want to become when AI is the newest teammate?

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<h2 id="conclusion">Conclusion</h2>

<p>Leaders who introduce artificial intelligence with an equal amount of <em>emotional intelligence</em> will enable their teams to thrive by leveraging the power of AI while also shielding their teams from the inherent risks associated with the disruptive natures of these new tools.</p>

<p>When the unexpected hits &mdash; the crisis, the pivot, the moment that requires trust you can’t manufacture overnight &mdash; it will be the teams with cultures intact that will thrive.</p>

<h3 id="references">References</h3>

<ul>
<li><a href="https://www.amazon.com/Stages-Psychological-Safety-Inclusion-Innovation/dp/0369356551?adgrpid=180038482722&amp;hvpone=&amp;hvptwo=&amp;hvadid=748008426882&amp;hvpos=&amp;hvnetw=g&amp;hvrand=18293123324910416997&amp;hvqmt=&amp;hvdev=c&amp;hvdvcmdl=&amp;hvlocint=&amp;hvlocphy=9018945&amp;hvtargid=dsa-2414841787086&amp;hydadcr=&amp;mcid=&amp;hvocijid=18293123324910416997--&amp;hvexpln=m-dsad&amp;tag=googhydr-20&amp;hvsb=Money_d&amp;hvcampaign=dsadesk">The 4 Stages of Psychological Safety: Defining the Path to Inclusion and Innovation</a>, Clark, T. R. (2020), Berrett-Koehler Publishers</li>
<li><a href="https://www.nytimes.com/2016/02/28/magazine/what-google-learned-from-its-quest-to-build-the-perfect-team.html">What Google Learned From Its Quest to Build the Perfect Team</a>, Duhigg, C. (2016), The New York Times Magazine</li>
<li><a href="https://www.hbs.edu/faculty/Pages/item.aspx?num=2959">Psychological Safety and Learning Behavior in Work Teams</a>, Edmondson, A. C. (1999), Administrative Science Quarterly, 44(2)</li>
<li><a href="https://compass.onlinelibrary.wiley.com/doi/10.1111/soc4.13214">The Strength of a Weak Tie in the Innovative Performance of Firms: A Case of Korean High-tech Manufacturing Small and Medium-sized Enterprises</a>, Hong, Jinki; Lee; Raehyung; Ohm, Jay Y.;, Lee, Duk Hee (2024), Sociology Compass Volume 18, Issue 5</li>
<li><a href="https://www.tandfonline.com/doi/abs/10.1080/08956308.2021.1863111">How Psychological Safety Impacts R&amp;D Project Teams</a>, Liu, Yuwen; Keller, R.T. (2021), Research-Technology Management Volume 64, Issue 2</li>
<li><a href="https://www.tandfonline.com/doi/full/10.1080/08956308.2023.2164439">Creating Psychological Safety in the Workplace</a>, McCausland, Tammy (2023), Research-Technology Management Volume 66, Issue 2</li>
<li><a href="https://www.mckinsey.com/capabilities/people-and-organizational-performance/our-insights/some-employees-are-destroying-value-others-are-building-it-do-you-know-the-difference">Some Employees Are Destroying Value. Others Are Building It. Do You Know the Difference?</a>, De Smet, Aaron; Mugayar-Baldocchi, Marino; Reich, Angelika; Schaninger, Bill (September 11, 2023), McKinsey Quarterly</li>
<li><a href="https://hbr.org/2012/04/the-new-science-of-building-great-teams">The New Science of Building Great Teams</a>, Pentland, A. (2012), Harvard Business Review</li>
<li><a href="https://direct.mit.edu/rest/article/107/4/951/115633/Super-Mario-Meets-AI-Experimental-Effects-of">Super Mario Meets AI: Experimental Effects of Automation and Skills on Team Performance and Coordination</a>, Dell’Acqua, Fabrizio; Kogut, Bruce; Perkowski, Patryk (2025), The Review of Economics and Statistics 107 (4)</li>
<li><a href="https://www.humorseriously.com/">Humor Is Serious Business: Why Humor Is A Secret Weapon In Business And Life</a>, Aaker, J; Bagdonas, Naomi (2021)</li>
</ul>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Victor Yocco</author><title>Identifying Necessary Transparency Moments In Agentic AI (Part 1)</title><link>https://www.smashingmagazine.com/2026/04/identifying-necessary-transparency-moments-agentic-ai-part1/</link><pubDate>Tue, 07 Apr 2026 10:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/04/identifying-necessary-transparency-moments-agentic-ai-part1/</guid><description>Designing for agentic AI requires attention to both the system’s behavior and the transparency of its actions. Between the black box and the data dump lies a more thoughtful approach. Victor Yocco explores how to map decision points and reveal the right moments to build trust through clarity, not noise.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/04/identifying-necessary-transparency-moments-agentic-ai-part1/" />
              <title>Identifying Necessary Transparency Moments In Agentic AI (Part 1)</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Identifying Necessary Transparency Moments In Agentic AI (Part 1)</h1>
                  
                    
                    <address>Victor Yocco</address>
                  
                  <time datetime="2026-04-07T10:00:00&#43;00:00" class="op-published">2026-04-07T10:00:00+00:00</time>
                  <time datetime="2026-04-07T10:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>Designing for autonomous agents presents a unique frustration. We hand a complex task to an AI, it vanishes for 30 seconds (or 30 minutes), and then it returns with a result. We stare at the screen. Did it work? Did it hallucinate? Did it check the compliance database or skip that step?</p>

<p>We typically respond to this anxiety with one of two extremes. We either keep the system a <strong>Black Box</strong>, hiding everything to maintain simplicity, or we panic and provide a <strong>Data Dump</strong>, streaming every log line and API call to the user.</p>

<p>Neither approach directly addresses the nuance needed to provide users with the ideal level of transparency.</p>

<p>The <em>Black Box</em> leaves users feeling powerless. The <em>Data Dump</em> creates notification blindness, destroying the efficiency the agent promised to provide. Users ignore the constant stream of information until something breaks, at which point they lack the context to fix it.</p>

<p>We need an organized way to find the balance. In my previous article, “<a href="https://www.smashingmagazine.com/2026/02/designing-agentic-ai-practical-ux-patterns/">Designing For Agentic AI</a>”, we looked at interface elements that build trust, like showing the AI’s intended action beforehand (Intent Previews) and giving users control over how much the AI does on its own (Autonomy Dials). But knowing which elements to use is only part of the challenge. The harder question for designers is knowing when to use them.</p>

<p>How do you know which specific moment in a 30-second workflow requires an Intent Preview and which can be handled with a simple log entry?</p>

<p>This article provides a method to answer that question. We will walk through the <strong>Decision Node Audit</strong>. This process gets designers and engineers in the same room to map backend logic to the user interface. You will learn how to pinpoint the exact moments a user needs an update on what the AI is doing. We will also cover an <strong>Impact/Risk matrix</strong> that will help to prioritize which decision nodes to display and any associated design pattern to pair with that decision.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="transparency-moments-a-case-study-example">Transparency Moments: A Case Study Example</h2>

<p>Consider Meridian (not real name), an insurance company that uses an agentic AI to process initial accident claims. The user uploads photos of vehicle damage and the police report. The agent then disappears for a minute before returning with a risk assessment and a proposed payout range.</p>

<p>Initially, Meridian’s interface simply showed Calculating Claim Status. Users grew frustrated. They had submitted several detailed documents and felt uncertain about whether the AI had even reviewed the police report, which contained mitigating circumstances. The Black Box created distrust.</p>

<p>To fix this, the design team conducted a Decision Node Audit. They found that the AI performed three distinct, probability-based steps, with numerous smaller steps embedded:</p>

<ul>
<li><strong>Image Analysis</strong><br />
The agent compared the damage photos against a database of typical car crash scenarios to estimate the repair cost. This involved a confidence score.</li>
<li><strong>Textual Review</strong><br />
It scanned the police report for keywords that affect liability (e.g., fault, weather conditions, sobriety). This involved a probability assessment of legal standing.</li>
<li><strong>Policy Cross Reference</strong><br />
It matched the claim details against the user’s specific policy terms, searching for exceptions or coverage limits. This also involved probabilistic matching.</li>
</ul>

<p>The team turned these steps into transparency moments. The interface sequence was updated to:</p>

<ul>
<li><strong>Assessing Damage Photos</strong>: Comparing against 500 vehicle impact profiles.</li>
<li><strong>Reviewing Police Report</strong>: Analyzing liability keywords and legal precedent.</li>
<li><strong>Verifying Policy Coverage</strong>: Checking for specific exclusions in your plan.</li>
</ul>

<p>The system still took the same amount of time, but the explicit communication about the agent’s internal workings restored user confidence. Users understood that the AI was performing the complex task it was designed for, and they knew exactly where to focus their attention if the final assessment seemed inaccurate. This design choice transformed a moment of anxiety into a moment of connection with the user.</p>

<h3 id="applying-the-impact-risk-matrix-what-we-chose-to-hide">Applying the Impact/Risk Matrix: What We Chose to Hide</h3>

<p>Most AI experiences have no shortage of events and decision nodes that could potentially be displayed during processing. One of the most critical outcomes of the audit was to decide what to keep invisible. In the Meridian example, the backend logs generated 50+ events per claim. We could have defaulted to displaying each event as they were processed as part of the UI. Instead, we applied the risk matrix to prune them:</p>

<ul>
<li><em>Log Event:</em> Pinging Server West-2 for redundancy check.

<ul>
<li><em>Filter Verdict:</em> <strong>Hide.</strong> (Low Stakes, High Technicality).</li>
</ul></li>
<li><em>Log Event:</em> Comparing repair estimate to BlueBook value.

<ul>
<li><em>Filter Verdict:</em> <strong>Show.</strong> (High Stakes, impacts user’s payout).</li>
</ul></li>
</ul>

<p>By cutting out the unnecessary details, the important information &mdash; like the coverage verification &mdash; was more impactful. We created an open interface and designed an open <em>experience</em>.</p>

<p>This approach uses the idea that people feel better about a service when they can see the work being done. By showing the specific steps (Assessing, Reviewing, Verifying), we changed a 30-second wait from a time of worry (<em>“Is it broken?”</em>) to a time of feeling like something valuable is being created (<em>“It’s thinking”</em>).</p>

<p>Let’s now take a closer look at how we can review the decision-making process in our products to identify key moments that require clear information.</p>

<div class="partners__lead-place"></div>

<h2 id="the-decision-node-audit">The Decision Node Audit</h2>

<p>Transparency fails when we treat it as a style choice rather than a functional requirement. We have a tendency to ask, <em>“What should the UI look like?”</em> before we ask, <em>“What is the agent actually deciding?”</em></p>

<p>The Decision Node Audit is a straightforward way to make AI systems easier to understand. It works by carefully mapping out the system’s internal process. The main goal is to find and clearly define the exact moments where the system stops following its set rules and instead makes a choice based on chance or estimation. By mapping this structure, creators can show these points of uncertainty directly to the people using the system. This changes system updates from being vague statements to specific, reliable reports about how the AI reached its conclusion.</p>

<p>In addition to the insurance case study above, I recently worked with a team building a procurement agent. The system reviewed vendor contracts and flagged risks. Originally, the screen displayed a simple progress bar: <em>“Reviewing contracts.”</em> Users hated it. Our research indicated they felt anxious about the legal implications of a missing clause.</p>

<p>We fixed this by conducting a Decision Node Audit. I’ve included a step-by-step checklist for conducting this audit at the conclusion of this article.</p>

<p>We ran a session with the engineers and outlined how the system works. We identified “Decision Points” &mdash; moments where the AI had to choose between two good options.</p>

<p>In standard computer programs, the process is clear: if A happens, then B will always happen. In AI systems, the process is often based on chance. The AI thinks A is probably the best choice, but it might only be 65% certain.</p>

<p>In the contract system, we found a moment when the AI checked the liability terms against our company rules. It was rarely a perfect match. The AI had to decide if a 90% match was good enough. This was a key decision point.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="437"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png"
			
			sizes="100vw"
			alt="The diagram shows how to connect a hidden system decision based on probability (an Ambiguity Point) to a visible moment of explanation for the user (a Transparency Moment)."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 1:</strong> This diagram shows how to connect a hidden system decision based on probability (an Ambiguity Point) to a visible moment of explanation for the user (a Transparency Moment). (<a href='https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/1-decision-node-structure.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Once we identified this node, we exposed it to the user. Instead of <em>“Reviewing contracts,”</em> the interface updated to say: <em>“Liability clause varies from standard template. Analyzing risk level.”</em></p>

<p>This specific update gave users confidence. They knew the agent checked the liability clause. They understood the reason for the delay and gained trust that the desired action was occurring on the back end. They also knew where to dig in deeper once the agent generated the contract.</p>

<p>To check how the AI makes decisions, you need to work closely with your engineers, product managers, business analysts, and key people who are making the choices (often hidden) that affect how the AI tool functions. Draw out the steps the tool takes. Mark every spot where the process changes direction because a probability is met. These are the places where you should focus on being more transparent.</p>

<p>As shown in Figure 2 below, the Decision Node Audit involves these steps:</p>

<ol>
<li><p><strong>Get the team together:</strong> Bring in the product owners, business analysts, designers, key decision-makers, and the engineers who built the AI. For example,</p>

<p>Think about a product team building an AI tool designed to review messy legal contracts. The team includes the UX designer, the product manager, the UX researcher, a practicing lawyer who acts as the subject-matter expert, and the backend engineer who wrote the text-analysis code.</p></li>

<li><p><strong>Draw the whole process:</strong> Document every step the AI takes, from the user’s first action to the final result.</p>

<p>The team stands at a whiteboard and sketches the entire sequence for a key workflow that involves the AI searching for a liability clause in a complex contract. The lawyer uploads a fifty-page PDF&nbsp;&rarr; The system converts the document into readable text.&nbsp;&rarr; The AI scans the pages for liability clauses.&nbsp;&rarr; The user waits.&nbsp;&rarr; Moments or minutes later, the tool highlights the found paragraphs in yellow on the user interface. They do this for many other workflows that the tool accommodates as well.</p></li>

<li><p><strong>Find where things are unclear:</strong> Look at the process map for any spot where the AI compares options or inputs that don’t have one perfect match.</p>

<p>The team looks at the whiteboard to spot the ambiguous steps. Converting an image to text follows strict rules. Finding a specific liability clause involves guesswork. Every firm writes these clauses differently, so the AI has to weigh multiple options and make a prediction instead of finding an exact word match.</p></li>

<li><p><strong>Identify the ‘best guess’ steps:</strong> For each unclear spot, check if the system uses a confidence score (for example, is it 85% sure?). These are the points where the AI makes a final choice.</p>

<p>The system has to guess (give a probability) which paragraph(s) closely resemble a standard liability clause. It assigns a confidence score to its best guess. That guess is a decision node. The interface needs to tell the lawyer it is highlighting a potential match, rather than stating it found the definitive clause.</p></li>

<li><p><strong>Examine the choice:</strong> For each choice point, figure out the specific internal math or comparison being done (e.g., matching a part of a contract to a policy or comparing a picture of a broken car to a library of damaged car photos).</p>

<p>The engineer explains that the system compares the various paragraphs against a database of standard liability clauses from past firm cases. It calculates a text similarity score to decide on a match based on probabilities.</p></li>

<li><p><strong>Write clear explanations:</strong> Create messages for the user that clearly describe the specific internal action happening when the AI makes a choice.</p>

<p>The content designer writes a specific message for this exact moment. The text reads: <em>Comparing document text to standard firm clauses to identify potential liability risks.</em></p></li>

<li><p><strong>Update the screen:</strong> Put these new, clear explanations into the user interface, replacing vague messages like <em>“Reviewing contracts.”</em></p>

<p>The design team removes the generic Processing PDF loading spinner. They insert the new explanation into a status bar located right above the document viewer while the AI thinks.</p></li>

<li><p><strong>Check for Trust:</strong> Make sure the new screen messages give users a simple reason for any wait time or result, which should make them feel more confident and trusting.</p></li>
</ol>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="437"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png"
			
			sizes="100vw"
			alt="Comic where a product team maps the decision nodes of an AI legal tool to design transparent interface messages."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 2:</strong> A product team maps the decision nodes of an AI legal tool to design transparent interface messages. (Comic generated using Google Gemini/Nano Banana) (<a href='https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/2-decision-nodes-ai-legal-tool.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="the-impact-risk-matrix">The Impact/Risk Matrix</h3>

<p>Once you look closely at the AI’s process, you’ll likely find many points where it makes a choice. An AI might make dozens of small choices for a single complex task. Showing them all creates too much unnecessary information. You need to group these choices.</p>

<p>You can use an <strong>Impact/Risk Matrix</strong> to sort these choices based on the types of action(s) the AI is taking. Here are examples of impact/risk matrices:</p>

<p>First, look for low-stakes and low-impact decisions.</p>

<p><strong>Low Stakes / Low Impact</strong></p>

<ul>
<li><em>Example:</em> Organizing a file structure or renaming a document.</li>
<li><em>Transparency Need:</em> Minimal. A subtle toast notification or a log entry suffices. Users can undo these actions easily.</li>
</ul>

<p>Then identify the high-stakes and high-impact decisions.</p>

<p><strong>High Stakes / High Impact</strong></p>

<ul>
<li><em>Example:</em> Rejecting a loan application or executing a stock trade.</li>
<li><em>Transparency Need:</em> High. These actions require Proof of Work. The system must demonstrate the rationale before or immediately as it acts.</li>
</ul>

<p>Consider a financial trading bot that treats all buy/sell orders the same. It executes a $5 trade with the same opacity as a $50,000 trade. Users might question whether the tool recognizes the potential impact of transparency on trading on a large dollar amount. They need the system to pause and show its work for the high-stakes trades. The solution is to  introduce a Reviewing Logic state for any transaction exceeding a specific dollar amount, allowing the user to see the factors driving the decision before execution.</p>

<h3 id="mapping-nodes-to-patterns-a-design-pattern-selection-rubric">Mapping Nodes to Patterns: A Design Pattern Selection Rubric</h3>

<p>Once you have identified your experience&rsquo;s key decision nodes, you must decide which UI pattern applies to each one you’ll display. In Designing For Agentic AI, we introduced patterns like the Intent Preview (for high-stakes control) and the Action Audit (for retrospective safety). The decisive factor in choosing between them is reversibility.</p>

<p>We filter every decision node through the impact matrix in order to assign the correct pattern:</p>

<p><strong>High Stakes &amp; Irreversible:</strong> These nodes require an Intent Preview. Because the user cannot easily undo the action (e.g., permanently deleting a database), the transparency moment must happen before execution. The system must pause, explain its intent, and require confirmation.</p>

<p><strong>High Stakes &amp; Reversible:</strong> These nodes can rely on the Action Audit &amp; Undo pattern. If the AI-powered sales agent moves a lead to a different pipeline, it can do so autonomously as long as it notifies the user and offers an immediate Undo button.</p>

<p>By strictly categorizing nodes this way, we avoid “alert fatigue.” We reserve the high-friction Intent Preview only for the truly irreversible moments, while relying on the Action Audit to maintain speed for everything else.</p>

<table class="tablesaw break-out">
    <thead>
        <tr>
            <th></th>
            <th>Reversible</th>
      <th>Irreversible</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><strong>Low Impact</strong></td>
            <td><strong>Type</strong>: Auto-Execute<br /><strong>UI</strong>: Passive Toast / Log<br /><em>Ex: Renaming a file</em></td>
      <td><strong>Type</strong>: Confirm<br /><strong>UI</strong>: Simple Undo option<br /><em>Ex: Archiving an email</em></td>
        </tr>
        <tr>
            <td><strong>High Impact</strong></td>
            <td><strong>Type</strong>: Review<br /><strong>UI</strong>: Notification + Review Trail<br /><em>Ex: Sending a draft to a client</em></td>
      <td><strong>Type</strong>: Intent preview<br /><strong>UI</strong>: Modal / Explicit Permission<br /><em>Ex: Deleting a server</em></td>
        </tr>
    </tbody>
</table>

<p><strong><em>Table 1:</em></strong> <em>The impact and reversibility matrix can then be used to map your moments of transparency to design patterns.</em></p>

<h3 id="qualitative-validation-the-wait-why-test">Qualitative Validation: “The Wait, Why?” Test</h3>

<p>You can identify potential nodes on a whiteboard, but you must validate them with human behavior. You need to verify whether your map matches the user’s mental model. I use a protocol called  the <strong>“Wait, Why?” Test</strong>.</p>

<p>Ask a user to watch the agent complete a task. Instruct them to speak aloud. Whenever they ask a question, <em>“Wait, why did it do that?”</em> or <em>“Is it stuck?”</em> or <em>“Did it hear me?”</em> &mdash; you mark a timestamp.</p>

<p>These questions signal user confusion. The user feels their control slipping away. For example, in a study for a healthcare scheduling assistant, users watched the agent book an appointment. The screen sat static for four seconds. Participants consistently asked, <em>“Is it checking my calendar or the doctor’s?”</em></p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="437"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png"
			
			sizes="100vw"
			alt="The Wait, Why? Protocol. A timeline illustrating how silence creates anxiety. By mapping the specific moment users ask ‘Is it stuck?’, designers can insert transparency exactly when it is needed."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 3:</strong> The Wait, Why? Protocol. A timeline illustrating how silence creates anxiety. By mapping the specific moment users ask ‘Is it stuck?’, designers can insert transparency exactly when it is needed. (<a href='https://files.smashing.media/articles/identifying-necessary-transparency-moments-agentic-ai-part1/3-wait-why-protocol.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>That question revealed a missing <strong>Transparency Moment</strong>. The system needed to split that four-second wait into two distinct steps: <em>“Checking your availability”</em> followed by <em>“Syncing with provider schedule.”</em></p>

<p>This small change reduced users’ expressed levels of anxiety.</p>

<p>Transparency fails when it only describes a system action. The interface must connect the technical process to the user’s specific goal. A screen displaying <em>“Checking your availability”</em> falls flat because it lacks context. The user understands that the AI is looking at a calendar, but they do not know why.</p>

<p>We must pair the action with the outcome. The system needs to split that four-second wait into two distinct steps. First, the interface displays <em>“Checking your calendar to find open times.”</em> Then it updates to <em>“Syncing with the provider’s schedule to secure your appointment.”</em> This grounds the technical process in the user’s actual life.</p>

<p>Consider an AI managing inventory for a local cafe. The system encounters a supply shortage. An interface reading “contacting vendor” or “reviewing options” creates anxiety. The manager wonders if the system is canceling the order or buying an expensive alternative. A better approach is to explain the intended result: <em>“Evaluating alternative suppliers to maintain your Friday delivery schedule.”</em> This tells the user exactly what the AI is trying to achieve.</p>

<div class="partners__lead-place"></div>

<h2 id="operationalizing-the-audit">Operationalizing the Audit</h2>

<p>You have completed the Decision Node Audit and filtered your list through the Impact and Risk Matrix. You now have a list of essential moments for being transparent. Next, you need to create them in the UI. This step requires teamwork across different departments. You can’t design transparency by yourself using a design tool. You need to understand how the system works behind the scenes.</p>

<p>Start with a <strong>Logic Review</strong>. Meet with your lead system designer. Bring your map of decision nodes. You need to confirm that the system can actually share these states. I often find that the technical system doesn’t reveal the exact state I want to show. The engineer might say the system just returns a general “working” status. You must push for a detailed update. You need the system to send a specific notice when it switches from reading text to checking rules. Without that technical connection, your design is impossible to build.</p>

<p>Next, involve the Content Design team. You have the technical reason for the AI’s action, but you need a clear, human-friendly explanation. Engineers provide the underlying process, but content designers provide the way it’s communicated. Do not write these messages alone. A developer might write <em>“Executing function 402,”</em> which is technically correct but meaningless to the user. A designer might write <em>“Thinking,”</em> which is friendly but too vague. A content strategist finds the right middle ground. They create specific phrases, such as <em>“Scanning for liability risks”</em>, that show the AI is working without confusing the user.</p>

<p>Finally, test the transparency of your messages. Don’t wait until the final product is built to see if the text works. I conduct comparison tests on simple prototypes where the only thing that changes is the status message. For example, I show one group (Group A) a message that says <em>“Verifying identity”</em> and another group (Group B) a message that says <em>“Checking government databases”</em> (these are made-up examples, but you understand the point). Then I ask them which AI feels safer. You’ll often discover that certain words cause worry, while others build trust. You must treat the wording as something you need to test and prove effective.</p>

<h3 id="how-this-changes-the-design-process">How This Changes the Design Process</h3>

<p>Conducting these audits has the potential to strengthen how a team works together. We stop handing off polished design files. We start using messy prototypes and shared spreadsheets. The core tool becomes a <strong>transparency matrix</strong>. Engineers and the content designers edit this spreadsheet together. They map the exact technical codes to the words the user will read.</p>

<p>Teams will experience friction during the logic review. Imagine a designer asking the engineer how the AI decides to decline a transaction submitted on an expense report. The engineer might say the backend only outputs a generic status code like <em>“Error: Missing Data”.</em> The designer states that this isn’t actionable information on the screen. The designer negotiates with the engineer to create a specific technical hook. The engineer writes a new rule so the system reports exactly what is missing, such as a missing receipt image.</p>

<p>Content designers act as translators during this phase. A developer might write a technically accurate string like <em>“Calculating confidence threshold for vendor matching.”</em> A content designer translates that string into a phrase that builds trust for a specific outcome. The strategist rewrites it as <em>“Comparing local vendor prices to secure your Friday delivery.”</em> The user understands the action and the result.</p>

<p>The entire cross-functional team sits in on user testing sessions. They watch a real person react to different status messages. Seeing a user panic because the screen says <em>“Executing trade”</em> forces the team to rethink their approach. The engineers and designers align on better wording. They change the text to <em>“Verifying sufficient funds”</em> before buying stock. Testing together guarantees the final interface serves both the system logic and the user’s peace of mind.</p>

<p>It does require time to incorporate these additional activities into the team’s calendar. However, the end result should be a team that communicates more openly, and users who have a better understanding of what their AI-powered tools are doing on their behalf (and why). This <strong>integrated approach</strong> is a cornerstone of designing truly trustworthy AI experiences.</p>

<h2 id="trust-is-a-design-choice">Trust Is A Design Choice</h2>

<p>We often view trust as an emotional byproduct of a good user experience. It is easier to view trust as a mechanical result of predictable communication.</p>

<p>We build trust by showing the right information at the right time. We destroy it by overwhelming the user or hiding the machinery completely.</p>

<p>Start with the Decision Node Audit, particularly for agentic AI tools and products. Find the moments where the system makes a judgment call. Map those moments to the Risk Matrix. If the stakes are high, open the box. Show the work.</p>

<p>In the next article, we will look at how to design these moments: how to write the copy, structure the UI, and handle the inevitable errors when the agent gets it wrong.</p>

<h2 id="appendix-the-decision-node-audit-checklist">Appendix: The Decision Node Audit Checklist</h2>

<p><strong>Phase 1: Setup and Mapping</strong></p>

<p><strong>✅ Get the team together:</strong> Bring in the product owners, business analysts, designers, key decision-makers, and the engineers who built the AI.</p>

<p><em>Hint:</em> You need the engineers to explain the actual backend logic. Do not attempt this step alone.</p>

<p><strong>✅ Draw the whole process:</strong> Document every step the AI takes, from the user’s first action to the final result.</p>

<p><em>Hint:</em> A physical whiteboard session often works best for drawing out these initial steps.</p>

<p><strong>Phase 2: Locating the Hidden Logic</strong></p>

<p><strong>✅ Find where things are unclear:</strong> Look at the process map for any spot where the AI compares options or inputs that do not have one perfect match.</p>

<p><strong>✅ Identify the best guess steps:</strong> For each unclear spot, check if the system uses a confidence score. For example, ask if the system is 85 percent sure. These are the points where the AI makes a final choice.</p>

<p><strong>✅ Examine the choice:</strong> For each choice point, figure out the specific internal math or comparison being done. An example is matching a part of a contract to a policy. Another example involves comparing a picture of a broken car to a library of damaged car photos.</p>

<p><strong>Phase 3: Creating the User Experience</strong></p>

<p><strong>✅ Write clear explanations:</strong> Create messages for the user that clearly describe the specific internal action happening when the AI makes a choice.</p>

<p><em>Hint:</em> Ground your messages in concrete reality. If an AI books a meeting with a client at a local cafe, tell the user the system is checking the cafe reservation system.</p>

<p><strong>✅ Update the screen:</strong> Put these new, clear explanations into the user interface. Replace vague messages like Reviewing contracts with your specific explanations.</p>

<p><strong>✅ Check for Trust:</strong> Make sure the new screen messages give users a simple reason for any wait time or result. This should make them feel confident and trusting.</p>

<p><em>Hint:</em> Test these messages with actual users to verify they understand the specific outcome being achieved.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Carrie Webster</author><title>Human Strategy In An AI-Accelerated Workflow</title><link>https://www.smashingmagazine.com/2026/03/human-strategy-ai-accelerated-workflow/</link><pubDate>Fri, 06 Mar 2026 08:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/03/human-strategy-ai-accelerated-workflow/</guid><description>UX design is entering a new phase, with designers shifting from makers of outputs to directors of intent. AI can now generate wireframes, prototypes, and even design systems in minutes, but UX has never been only about creating interfaces. It’s about navigating ambiguity, advocating for humans in systems optimised for efficiency, and solving their problems through thoughtful design.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/03/human-strategy-ai-accelerated-workflow/" />
              <title>Human Strategy In An AI-Accelerated Workflow</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Human Strategy In An AI-Accelerated Workflow</h1>
                  
                    
                    <address>Carrie Webster</address>
                  
                  <time datetime="2026-03-06T08:00:00&#43;00:00" class="op-published">2026-03-06T08:00:00+00:00</time>
                  <time datetime="2026-03-06T08:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>I’ve been working in User Experience design for more than twenty years. Long enough to have seen the many job titles, from when stakeholders asked us to “just make it pretty” to when wireframes were delivered as annotated PDFs. I’ve seen many tools come and go over the years, methodologies rise and fall, and entire platforms disappear.</p>

<p>Yet, nothing has unsettled designers quite like AI.</p>

<p>When generative AI tools first entered my workflow, my reaction wasn’t excitement &mdash; it was <strong>unease</strong>, with a little bit of <strong>curiosity</strong>. Watching an interface appear in seconds, complete with sensible spacing, readable typography, and halfway-decent copy, triggered a very real fear: <em>If a machine can do this, where does that leave me?</em></p>

<p>That fear is now widespread. Designers at every level ask the same question, often quietly, <em>“Will an AI agent replace me by next week/month/year?”</em> While the difference between next week and next year seems a lot, it depends on where you are in your career and the speed at which your employer chooses to engage with AI tools. I have been lucky in several roles to be working with organisations that haven’t allowed the use of AI tools due to data security concerns. If you’re interested in any of these conversations, you can view the discussions happening on platforms like <a href="https://www.reddit.com/r/UXDesign/comments/1oqs2k8/in_reality_how_bad_is_the_ai_replacement/">Reddit</a>.</p>

<p>Fearing the takeover of AI in our roles is not irrational. We’re seeing AI generate wireframes, prototypes, personas, usability summaries, accessibility suggestions, and entire design systems. Tasks that once took days can now literally take minutes.</p>

<p>Here’s the uncomfortable truth: If your role is largely about producing artefacts, drawing buttons, aligning components, or translating instructions into screens, then parts of that work are already being automated.</p>

<p>Still, UX design has <em>never</em> truly been about just creating a user interface.</p>

<blockquote>UX is about navigating ambiguity. It’s about advocating for humans in systems optimised for efficiency. It’s about translating messy human needs and equally messy business goals into experiences that feel coherent, fair, sensible, and usable. It’s about solving human problems by creating a useful and effective user experience.</blockquote>

<p>AI isn’t replacing that work. Rather, it’s amplifying everything <em>around</em> it. The real shift happening is that designers are moving from being <strong>makers of outputs</strong> to <strong>directors of intent</strong>. From creators to curators. From hands-on executors to strategic decision-makers. That feels exciting to me. And the creativity and ingenuity this brings to the world of UX.</p>

<p>And that shift doesn’t reduce our value as UX designers, but it does redefine it.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="what-ai-does-better-than-us-the-boring-stuff">What AI Does Better Than Us (The “Boring” Stuff)</h2>

<p>Let’s be clear, AI <em>is</em> better than humans at certain aspects of design work. Fighting that reality only keeps us stuck in fear.</p>

<h3 id="speed-and-volume">Speed And Volume</h3>

<p>AI is exceptionally good at generating large volumes of ideas quickly. For example, layout variations, copy options, component structures, and onboarding flows can all be produced in seconds. In early-stage design, this changes everything. Instead of spending hours sketching three concepts, you can review thirty. That doesn’t eliminate creativity but does expand the playground.</p>

<p><a href="https://www.mckinsey.com/capabilities/tech-and-ai/our-insights/the-economic-potential-of-generative-ai-the-next-productivity-frontier">McKinsey estimates</a> that generative AI can reduce the time spent on creative and design-related tasks by up to <strong>70%</strong>, particularly during ideation and exploration phases.</p>














<figure class="
  
  
  ">
  
    <a href="https://www.mckinsey.com/capabilities/tech-and-ai/our-insights/the-economic-potential-of-generative-ai-the-next-productivity-frontier#/">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="670"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png"
			
			sizes="100vw"
			alt="McKinseys report on generative AI."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      McKinseys report on generative AI. (Image source: <a href='https://www.mckinsey.com/capabilities/tech-and-ai/our-insights/the-economic-potential-of-generative-ai-the-next-productivity-frontier#/'>McKinsey</a>) (<a href='https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/1-mckinseys-report-generative-ai.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>AI can also help with the research side of UX, for example, exploring the habits of a certain demographic, and <a href="https://persona.qcri.org/blog/what-is-an-ai-generated-persona/"><strong>creating personas</strong></a>. While this can reduce research time required, the designer is still required to guardrail this by providing accurate prompts and <a href="https://uxpsychology.substack.com/p/the-problem-with-ai-generated-personas"><strong>reviewing generated responses</strong></a>. I have personally found that using AI to assist with the initial research for design projects is incredibly useful, specifically when there is limited time and access to users.</p>

<h3 id="consistency-and-rule-adherence">Consistency And Rule Adherence</h3>

<p>Design systems live or die by consistency. AI excels at following rules relentlessly, colour tokens, spacing systems, typography scales, and accessibility standards. It doesn’t forget. It doesn’t get tired. It doesn’t “eyeball it.”</p>

<p>AI’s precision makes it incredibly valuable for maintaining large-scale design systems, especially in enterprise or government environments where consistency and compliance matter more than novelty. This is one component of my UX role that I am happy to hand over to AI to manage!</p>

<h3 id="data-processing-at-scale">Data Processing At Scale</h3>

<p>AI can analyse behavioural data at volumes challenging, if not impossible, for a human team to reasonably process. User journey paths, scroll depth, heatmaps to identify mouse interactions, conversion funnels &mdash; AI can identify patterns and anomalies almost instantly.</p>

<p>Behavioural analytics platforms increasingly rely on AI to surface insights that designers might otherwise miss. <a href="https://contentsquare.com/guides/behavior-analytics/">Contentsquare</a>, an AI-powered analytics platform, talks about the impacts and benefits of utilising behavioural analytics data. I’ve always said that quantitative data tells us the “what”, and qualitative data tells us the “why”. This is the human component of research where we get to connect with the users to understand the reason driving the behaviour.</p>














<figure class="
  
  
  ">
  
    <a href="https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="700"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png"
			
			sizes="100vw"
			alt="An example of a session replay tool display"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      An example of a session replay tool display. (Image Source: <a href='https://contentsquare.com/guides/behavior-analytics/'>Contentsquare</a>) (<a href='https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/2-session-replay-tool-display.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>The key insight here is simple: <strong>Analysing large volumes of behavioural data was never where our highest value lay</strong>.</p>

<p>If AI can take on repetitive production, system enforcement, and raw data analysis, designers would be free to focus on interpretation, judgment, and human meaning, the hardest parts of the job.</p>

<h2 id="what-humans-do-better-than-ai-the-heart-stuff">What Humans Do Better Than AI (The “Heart” Stuff)</h2>

<p>For all its power, AI has a fundamental limitation: it has never and will never be human.</p>

<h3 id="empathy-is-lived-experience">Empathy Is Lived Experience</h3>

<p>AI can describe frustration. It can summarise user feedback. It can mimic empathetic language. But it has never <em>felt</em> the quiet rage of a broken form, the anxiety of submitting sensitive data, or the shame of not understanding an interface that assumes too much.</p>

<p>Empathy in UX isn’t a dataset. It’s a <strong>lived, embodied understanding of human vulnerability</strong>. This is why user interviews still matter. Why contextual inquiry still matters. Why designers who deeply understand their users consistently make better decisions.</p>

<p>In a previous role where I was designing an incredibly complex fraud alert platform, the key to successful outcomes of that design was based on my understanding of the variety of issues faced by customers. I accessed this information directly from members of the customer-facing team. This information was stored in their brain and based on direct experience with customers. No AI could know or access these goldmines of human experiences.</p>

<p>As the <a href="https://www.nngroup.com/articles/definition-user-experience/">Nielsen Norman Group</a> reminds us, good UX design is not about interfaces. It’s about <strong>communication</strong> and <strong>understanding</strong>.</p>

<h3 id="ethics-require-judgment">Ethics Require Judgment</h3>

<p>AI optimises for the objectives we give it. If the goal is engagement, it will try to maximise engagement &mdash; regardless of long-term harm.</p>

<p>It doesn’t inherently recognise dark patterns, manipulation, or emotional exploitation. Infinite scroll, variable rewards, and addictive loops are all patterns AI can enthusiastically optimise unless a human intervenes.</p>

<p><a href="https://www.humanetech.com/the-cht-perspective">The Center for Humane Technology</a> has documented how algorithmic optimisation can unintentionally undermine wellbeing.</p>

<p>Ethical UX design requires designers who can say, <em>“We could do this, but we shouldn’t.”</em></p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="646"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png"
			
			sizes="100vw"
			alt="Ethical design pyramide"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Ethical design choices require human review. (Image source: <a href='https://uxdesign.cc/considerations-and-responsibilities-for-ethical-designers-829450fcb972'>Medium</a>) (<a href='https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/3-ethical-design-choices.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="strategy-lives-in-context">Strategy Lives In Context</h3>

<p>AI doesn’t sit in stakeholder meetings. It doesn’t hear what’s implied but not stated. It doesn’t understand organisational politics, regulatory nuance, or long-term positioning.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aDesigners%20act%20as%20translators%20between%20business%20intent%20and%20human%20impact.%20That%20translation%20relies%20on%20trust,%20relationships,%20and%20context,%20not%20pattern%20recognition.%0a&url=https://smashingmagazine.com%2f2026%2f03%2fhuman-strategy-ai-accelerated-workflow%2f">
      
Designers act as translators between business intent and human impact. That translation relies on trust, relationships, and context, not pattern recognition.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>This is why senior designers increasingly operate at the intersection of product, strategy, and culture.</p>

<p><strong>The lesson is clear:</strong> As AI takes over execution, human designers become the guardians of intent.</p>

<h2 id="how-the-daily-work-of-a-designer-is-changing">How The Daily Work Of A Designer Is Changing</h2>

<p>This shift isn’t theoretical. It’s already reshaping daily design practice.</p>

<h3 id="from-designing-to-prompting">From Designing To Prompting</h3>

<p>Designers are moving from manipulating pixels to articulating intent. Clear goals, constraints, and priorities become the input.</p>

<p>Instead of asking AI to “draw a dashboard,” the task becomes:</p>

<ul>
<li>“Create a dashboard that reduces cognitive load for first-time users.”</li>
<li>“Explore layouts optimised for accessibility and low vision.”</li>
</ul>

<p>Prompting isn’t about clever wording; it’s about clarity of thinking and <strong>understanding the intent of the outcomes</strong>. You may need to tweak your prompts as you go, but this is all part of the learning process of directing AI to deliver the outcomes needed.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="420"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png"
			
			sizes="100vw"
			alt="Four design screens complete with user flow mapping"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Four design screens created by Uizard Autodesigner, complete with user flow mapping. (Image source: <a href='https://uizard.io/blog/5-ai-generated-ui-designs/#5-ai-generated-ui-design-examples'>Uizard.io</a>) (<a href='https://files.smashing.media/articles/human-strategy-ai-accelerated-workflow/4-design-screens.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="from-making-to-choosing">From Making To Choosing</h3>

<p>AI produces options. Designers make decisions.</p>

<p>A significant portion of future design work will involve reviewing, critiquing, and refining AI-generated outputs, and then selecting what best serves the user and aligns with ethical, business, and accessibility goals.</p>

<p>This mirrors how experienced designers already work: mentoring juniors, reviewing their concepts, and guiding direction, but at a much greater scale, given the sheer number of design options AI tools can generate.</p>

<h3 id="the-movie-director-metaphor">The Movie Director Metaphor</h3>

<p>I often describe the modern designer as a movie director. A director doesn’t operate the camera, build the set, or act every role, but they are responsible for the story, the emotional intent, and the audience experience.</p>

<p>AI tools are the crew. Designers are responsible for the meaning of the story.</p>

<div class="partners__lead-place"></div>

<h2 id="a-real-world-shift-what-this-looks-like-in-practice">A Real-World Shift: What This Looks Like In Practice</h2>

<p>To make this less abstract, let’s ground it in a familiar scenario.</p>

<p>Ten years ago, a designer might spend days producing wireframes for a new feature, carefully crafting each screen, annotating every interaction, and defending each decision in reviews. Much of the designer’s perceived value lived in the artefacts themselves.</p>

<p>Today, that same feature can be scaffolded in an afternoon with AI support. But here’s what hasn’t changed &mdash; the hard conversations.</p>

<p>The UX designer still has to ask:</p>

<ul>
<li><em>Who is this actually for?</em></li>
<li><em>What problem are we solving, and for whom?</em></li>
<li><em>What happens when this fails?</em></li>
<li><em>Who might this unintentionally exclude or disadvantage?</em></li>
</ul>

<p>In practice, I’ve seen senior designers spend less time inside design tools and more time facilitating workshops, synthesising messy inputs, mediating between stakeholders, and protecting user needs when trade-offs arise.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aAI%20accelerates%20production,%20but%20it%20does%20not%20remove%20the%20designer%e2%80%99s%20responsibility.%20In%20fact,%20it%20increases%20it.%20When%20options%20are%20cheap%20and%20plentiful,%20discernment%20becomes%20a%20scarce%20skill.%0a&url=https://smashingmagazine.com%2f2026%2f03%2fhuman-strategy-ai-accelerated-workflow%2f">
      
AI accelerates production, but it does not remove the designer’s responsibility. In fact, it increases it. When options are cheap and plentiful, discernment becomes a scarce skill.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<h2 id="conclusion-how-to-prepare-right-now">Conclusion: How To Prepare Right Now</h2>

<p><strong>Don’t panic &mdash; practice.</strong></p>

<p>Avoiding AI won’t preserve your relevance. Learning to use it thoughtfully will.</p>

<p>Start small:</p>

<ul>
<li>Explore <a href="https://www.figma.com/ai/"><strong>Figma’s AI features</strong></a>.</li>
<li>Use AI for ideation, not final decisions.</li>
<li>Treat outputs as conversation starters, not answers.</li>
</ul>

<p>Confidence comes from familiarity, not avoidance.</p>

<p><strong>Invest In Human Skills.</strong></p>

<p>The most resilient designers will double down on:</p>

<ul>
<li>Psychology and behavioural science;</li>
<li>Communication and facilitation;</li>
<li>Ethics, accessibility, and inclusion;</li>
<li>Strategic thinking and storytelling.</li>
</ul>

<p>These skills compound over time, and they can’t be automated.</p>

<p><strong>The designer’s responsibility in an AI-accelerated world:</strong></p>

<p>There’s an uncomfortable implication in all of this that we don’t talk about enough: when AI makes it easier to design <em>anything</em>, designers become more accountable for what gets released into the world. Bad design used to be excused by constraints. Limited time, limited tools, limited data. Those excuses are disappearing. When AI removes friction from execution, the <strong>ethical and strategic responsibility</strong> lands squarely on human shoulders.</p>

<p>This is where UX designers can, and must, step up as stewards of quality, accessibility, and humanity in digital systems.</p>

<h3 id="final-thought">Final Thought</h3>

<p>AI won’t take your job. But a designer who knows how to think critically, direct intelligently, and collaborate effectively with AI might take the job of a designer who doesn’t.</p>

<p>The future of UX is no less human. It’s more intentional than ever.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Victor Yocco</author><title>Designing For Agentic AI: Practical UX Patterns For Control, Consent, And Accountability</title><link>https://www.smashingmagazine.com/2026/02/designing-agentic-ai-practical-ux-patterns/</link><pubDate>Wed, 11 Feb 2026 13:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/02/designing-agentic-ai-practical-ux-patterns/</guid><description>Autonomy is an output of a technical system. Trustworthiness is an output of a design process. Here are concrete design patterns, operational frameworks, and organizational practices for building agentic systems that are not only powerful but also transparent, controllable, and trustworthy.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/02/designing-agentic-ai-practical-ux-patterns/" />
              <title>Designing For Agentic AI: Practical UX Patterns For Control, Consent, And Accountability</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Designing For Agentic AI: Practical UX Patterns For Control, Consent, And Accountability</h1>
                  
                    
                    <address>Victor Yocco</address>
                  
                  <time datetime="2026-02-11T13:00:00&#43;00:00" class="op-published">2026-02-11T13:00:00+00:00</time>
                  <time datetime="2026-02-11T13:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>In the <a href="https://www.smashingmagazine.com/2026/01/beyond-generative-rise-agentic-ai-user-centric-design/">first part of this series</a>, we established the fundamental shift from generative to agentic artificial intelligence. We explored why this leap from suggesting to acting demands a new psychological and methodological toolkit for UX researchers, product managers, and leaders. We defined a taxonomy of agentic behaviors, from suggesting to acting autonomously, outlined the essential research methods, defined the risks of agentic sludge, and established the accountability metrics required to navigate this new territory. We covered the <em>what</em> and the <em>why</em>.</p>

<p>Now, we move from the foundational to the functional. This article provides the <em>how</em>: the concrete design patterns, operational frameworks, and organizational practices essential for building agentic systems that are not only powerful but also <strong>transparent</strong>, <strong>controllable</strong>, and <strong>worthy of user trust</strong>. If our research is the diagnostic tool, these patterns are the <strong>treatment plan</strong>. They are the practical mechanisms through which we can give users a palpable sense of control, even as we grant AI unprecedented autonomy. The goal is to create an experience where autonomy feels like a privilege granted by the user, not a right seized by the system.</p>

<h2 id="core-ux-patterns-for-agentic-systems">Core UX Patterns For Agentic Systems</h2>

<p>Designing for agentic AI is designing for a <strong>relationship</strong>. This relationship, like any successful partnership, must be built on clear communication, mutual understanding, and established boundaries.</p>

<p>To manage the shift from suggestion to action, we utilize six patterns that follow the functional lifecycle of an agentic interaction:</p>

<ul>
<li><strong>Pre-Action (Establishing Intent)</strong><br />
The Intent Preview and Autonomy Dial ensure the user defines the plan and the agent’s boundaries before anything happens.</li>
<li><strong>In-Action (Providing Context)</strong><br />
The Explainable Rationale and Confidence Signal maintain transparency while the agent works, showing the “why” and “how certain.”</li>
<li><strong>Post-Action (Safety and Recovery)</strong><br />
The Action Audit &amp; Undo and Escalation Pathway provide a safety net for errors or high-ambiguity moments.</li>
</ul>

<p>Below, we will cover each pattern in detail, including recommendations for metrics for success. These targets are representative benchmarks based on industry standards; adjust them based on your specific domain risk.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h3 id="1-the-intent-preview-clarifying-the-what-and-how">1. The Intent Preview: Clarifying the What and How</h3>

<p>This pattern is the conversational equivalent of saying, <em>“Here’s what I’m about to do. Are you okay with that?”</em> It’s the foundational moment of seeking consent in the user-agent relationship.</p>

<p>Before an agent takes any significant action, the user must have a clear, unambiguous understanding of what is about to happen. The Intent Preview, or Plan Summary, establishes informed consent. It is the conversational pause before action, transforming a black box of autonomous processes into a transparent, reviewable plan.</p>

<p><strong>Psychological Underpinning</strong><br />
Presenting a plan before action reduces cognitive load and eliminates surprise, giving users a moment to verify the agent truly understands their intent.</p>

<p><strong>Anatomy of an Effective Intent Preview:</strong></p>

<ul>
<li><strong>Clarity and Conciseness</strong><br />
The preview must be immediately digestible. It should summarize the primary actions and outcomes in plain language, avoiding technical jargon. For instance, instead of <em>“Executing API call to cancel_booking(id: 4A7B),”</em> it should state, <em>“Cancel flight AA123 to San Francisco.”</em></li>
<li><strong>Sequential Steps</strong><br />
For multi-step operations, the preview should outline the key phases. This reveals the agent’s logic and allows users to spot potential issues in the proposed sequence.</li>
<li><strong>Clear User Actions</strong><br />
The preview is a decision point, not just a notification. It must be accompanied by a clear set of choices. It’s a moment of intentional friction, a ‘speed bump’ in the process designed to ensure the user is making a conscious choice, particularly for irreversible or high-stakes actions.</li>
</ul>

<p>Let’s revisit our travel assistant scenario from the <a href="https://www.smashingmagazine.com/2026/01/beyond-generative-rise-agentic-ai-user-centric-design/">first part of this series</a>. We use this proactive assistant to illustrate how an agent handles a flight cancellation. The agent has detected a flight cancellation and has formulated a recovery plan.</p>

<p>The Intent Preview would look something like this:</p>

<blockquote><strong>Proposed Plan for Your Trip Disruption</strong><br /><br />I’ve detected that your 10:05 AM flight has been canceled. Here’s what I plan to do:<ol><li><strong>Cancel Flight UA456</strong><br />Process refund and confirm cancellation details.</li><li><strong>Rebook on Flight DL789</strong><br />Book a confirmed seat on a 2:30 PM non-stop flight, as this is the next available non-stop flight with a confirmed seat.</li><li><strong>Update Hotel Reservation</strong><br />Notify the Marriott that you will be arriving late.</li><li><strong>Email Updated Itinerary</strong><br />Send the new flight and hotel details to you and your assistant, Jane Doe.</li></ol>[ Proceed with this Plan ] [ Edit Plan ] [ Handle it Myself ]</blockquote>

<p>This preview is effective because it provides a complete picture, from cancellation to communication, and offers three distinct paths forward: full consent (Proceed), a desire for modification (Edit Plan), or a full override (Handle it Myself). This multifaceted control is the bedrock of trust.</p>














<figure class="
  
  
  ">
  
    <a href="https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="788"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png"
			
			sizes="100vw"
			alt="Example of the intent preview"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The Intent Preview is the primary pattern for building user trust. By clearly stating what the agent plans to do and offering simple, direct controls like “Proceed,” “Edit,” or “Handle it Myself,” we transform a black box into a transparent and controllable experience. (<a href='https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/1-intent-preview.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p><strong>When to Prioritize This Pattern</strong><br />
This pattern is non-negotiable for any action that is irreversible (e.g., deleting user data), involves a financial transaction of any amount, shares information with other people or systems, or makes a significant change that a user cannot easily undo.</p>

<p><strong>Risk of Omission</strong><br />
Without this, users feel ambushed by the agent’s actions and will disable the feature to regain control.</p>

<p><strong>Metrics for Success:</strong></p>

<ul>
<li><strong>Acceptance Ratio</strong><br />
Plans Accepted Without Edit / Total Plans Displayed. Target &gt; 85%.</li>
<li><strong>Override Frequency</strong><br />
Total Handle it Myself Clicks / Total Plans Displayed. A rate &gt; 10% triggers a model review.</li>
<li><strong>Recall Accuracy</strong><br />
Percentage of test participants who can correctly list the plan’s steps 10 seconds after the preview is hidden.</li>
</ul>

<h4 id="applying-this-to-high-stakes-domains">Applying This to High-Stakes Domains</h4>

<p>While travel plans are a relatable baseline, this pattern becomes indispensable in complex, high-stakes environments where an error results in more than an inconvenience for an individual traveling. Many of us work in settings where wrong decisions may result in a system outage, putting a patient’s safety at risk, or numerous other catastrophic outcomes that unreliable technology would introduce.</p>

<p>Consider a DevOps Release Agent tasked with managing cloud infrastructure. In this context, the Intent Preview acts as a safety barrier against accidental downtime.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="357"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png"
			
			sizes="100vw"
			alt="The intent preview in cloud infrastructure"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The intent preview in a higher-stakes setting, for example, cloud infrastructure. (<a href='https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/2-intent-preview-higher-stakes-setting.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>In this interface, the specific terminology (Drain Traffic, Rollback) replaces generalities, and the actions are binary and impactful. The user authorizes a major operational shift based on the agent’s logic, rather than approving a suggestion.</p>

<h3 id="2-the-autonomy-dial-calibrating-trust-with-progressive-authorization">2. The Autonomy Dial: Calibrating Trust With Progressive Authorization</h3>

<p>Every healthy relationship has boundaries. The Autonomy Dial is how the user establishes it with their agent, defining what they are comfortable with the agent handling on its own.</p>

<p>Trust is not a binary switch; it’s a spectrum. A user might trust an agent to handle low-stakes tasks autonomously but demand full confirmation for high-stakes decisions. The Autonomy Dial, a form of progressive authorization, allows users to set their preferred level of agent independence, making them active participants in defining the relationship.</p>

<p><strong>Psychological Underpinning</strong><br />
Allowing users to tune the agent’s autonomy grants them a locus of control, letting them match the system’s behavior to their personal risk tolerance.</p>

<p><strong>Implementation</strong><br />
This can be implemented as a simple, clear setting within the application, ideally on a per-task-type basis. Using the taxonomy from our first article, the settings could be:</p>

<ul>
<li><strong>Observe &amp; Suggest</strong><br />
I want to be notified of opportunities or issues, but the agent will never propose a plan.</li>
<li><strong>Plan &amp; Propose</strong><br />
The agent can create plans, but I must review every one before any action is taken.</li>
<li><strong>Act with Confirmation</strong><br />
For familiar tasks, the agent can prepare actions, and I will give a final go/no-go confirmation.</li>
<li><strong>Act Autonomously</strong><br />
For pre-approved tasks (e.g., disputing charges under $50), the agent can act independently and notify me after the fact.</li>
</ul>

<p>An email assistant, for example, could have a separate autonomy dial for scheduling meetings versus sending emails on the user’s behalf. This granularity is key, as it reflects the nuanced reality of a user’s trust.</p>

<p><strong>When to Prioritize This Pattern</strong><br />
Prioritize this in systems where tasks vary widely in risk and personal preference (e.g., financial management tools, communication platforms). It is essential for onboarding, allowing users to start with low autonomy and increase it as their confidence grows.</p>

<p><strong>Risk of Omission</strong><br />
Without this, users who experience a single failure will abandon the agent completely rather than simply dialing back its permissions.</p>

<p><strong>Metrics for Success:</strong></p>

<ul>
<li><strong>Trust Density</strong><br />
Percentage breakdown of users per setting (e.g., 20% Suggest, 50% Confirm, 30% Auto).</li>
<li><strong>Setting Churn</strong><br />
Number of Setting Changes / Total Active Users per month. High churn indicates trust volatility.</li>
</ul>

<h3 id="3-the-explainable-rationale-answering-why">3. The Explainable Rationale: Answering Why?</h3>

<p>After taking an action, a good partner explains their reasoning. This pattern is the open communication that follows an action, answering <em>Why?</em> before it’s even asked. <em>“I did that because you’ve told me in the past that you prefer X.”</em></p>

<p>When an agent acts, especially autonomously, the immediate question in the user’s mind is often, <em>Why did it do that?</em> The Explainable Rationale pattern proactively answers this question, providing a concise justification for the agent’s decisions. This is not a technical log file. In my first article of this series, we discussed translating system primitives into user-facing language to prevent deception. This pattern is the practical application of that principle. It transforms the raw logic into a human-readable explanation grounded in the user’s own stated preferences and prior inputs.</p>

<p><strong>Psychological Underpinning</strong><br />
When an agent’s actions are explainable, they feel logical rather than random, helping the user build an accurate mental model of how the agent thinks.</p>

<p><strong>Effective Rationales:</strong></p>

<ul>
<li><strong>Grounded in Precedent</strong><br />
The best explanations link back to a rule, preference, or prior action.</li>
<li><strong>Simple and Direct</strong><br />
Avoid complex conditional logic. Use a simple <em>“Because you said X, I did Y”</em> structure.</li>
</ul>

<p>Returning to the travel example, after the flight is rebooked autonomously, the user might see this in their notification feed:</p>

<blockquote><strong>I’ve rebooked your canceled flight.</strong><br /><ul><li><strong>New Flight:</strong> Delta 789, departing at 2:30 PM.</li><li><strong>Why I took this action:</strong><ul><li>Your original flight was canceled by the airline.</li><li>You’ve pre-approved autonomous rebooking for same-day, non-stop flights.</li></ul></li></ul>[ View New Itinerary ] [ Undo this Action ]</blockquote>

<p>The rationale is clear, defensible, and reinforces the idea that the agent is operating within the boundaries the user established.</p>

<p><strong>When to Prioritize This Pattern</strong><br />
Prioritize it for any autonomous action where the reasoning isn’t immediately obvious from the context, especially for actions that happen in the background or are triggered by an external event (like the flight cancellation example).</p>

<p><strong>Risk of Omission</strong><br />
Without this, users interpret valid autonomous actions as random behavior or ‘bugs,’ preventing them from forming a correct mental model.</p>

<p><strong>Metrics for Success:</strong></p>

<ul>
<li><strong>Why? Ticket Volume</strong><br />
Number of support tickets tagged “Agent Behavior &mdash; Unclear” per 1,000 active users.</li>
<li><strong>Rationale Validation</strong><br />
Percentage of users who rate the explanation as ‘Helpful’ in post-interaction microsurveys.</li>
</ul>

<div class="partners__lead-place"></div>

<h3 id="4-the-confidence-signal">4. The Confidence Signal</h3>

<p>This pattern is about the agent being self-aware in the relationship. By communicating its own confidence, it helps the user decide when to trust its judgment and when to apply more scrutiny.</p>

<p>To help users calibrate their own trust, the agent should surface its own confidence in its plans and actions. This makes the agent’s internal state more legible and helps the user decide when to scrutinize a decision more closely.</p>

<p><strong>Psychological Underpinning</strong><br />
Surfacing uncertainty helps prevent automation bias, encouraging users to scrutinize low-confidence plans rather than blindly accepting them.</p>

<p><strong>Implementation:</strong></p>

<ul>
<li><strong>Confidence Score</strong><br />
A simple percentage (e.g., Confidence: 95%) can be a quick, scannable indicator.</li>
<li><strong>Scope Declaration</strong><br />
A clear statement of the agent’s area of expertise (e.g., Scope: Travel bookings only) helps manage user expectations and prevents them from asking the agent to perform tasks it’s not designed for.</li>
<li><strong>Visual Cues</strong><br />
A green checkmark can denote high confidence, while a yellow question mark can indicate uncertainty, prompting the user to review more carefully.</li>
</ul>

<p><strong>When to Prioritize This Pattern</strong><br />
Prioritize when the agent’s performance can vary significantly based on the quality of input data or the ambiguity of the task. It is especially valuable in expert systems (e.g., medical aids, code assistants) where a human must critically evaluate the AI’s output.</p>

<p><strong>Risk of Omission</strong><br />
Without this, users will fall victim to automation bias, blindly accepting low-confidence hallucinations, or anxiously double-check high-confidence work.</p>

<p><strong>Metrics for Success:</strong></p>

<ul>
<li><strong>Calibration Score</strong><br />
Pearson correlation between Model Confidence Score and User Acceptance Rate. Target &gt; 0.8.</li>
<li><strong>Scrutiny Delta</strong><br />
Difference between the average review time of low-confidence plans and high-confidence plans. Expected to be positive (e.g., +12 seconds).</li>
</ul>

<h3 id="5-the-action-audit-undo-the-ultimate-safety-net">5. The Action Audit &amp; Undo: The Ultimate Safety Net</h3>

<p>Trust requires knowing you can recover from a mistake. The Undo function is the ultimate relationship safety net, assuring the user that even if the agent misunderstands, the consequences are not catastrophic.</p>

<p>The single most powerful mechanism for building user confidence is the ability to easily reverse an agent’s action. A persistent, easy-to-read Action Audit log, with a prominent Undo button for every possible action, is the ultimate safety net. It dramatically lowers the perceived risk of granting autonomy.</p>

<p><strong>Psychological Underpinning</strong><br />
Knowing that a mistake can be easily undone creates psychological safety, encouraging users to delegate tasks without fear of irreversible consequences.</p>

<p><strong>Design Best Practices:</strong></p>

<ul>
<li><strong>Timeline View</strong><br />
A chronological log of all agent-initiated actions is the most intuitive format.</li>
<li><strong>Clear Status Indicators</strong><br />
Show whether an action was successful, is in progress, or has been undone.</li>
<li><strong>Time-Limited Undos</strong><br />
For actions that become irreversible after a certain point (e.g., a non-refundable booking), the UI must clearly communicate this time window (e.g., Undo available for 15 minutes). This transparency about the system’s limitations is just as important as the undo capability itself. Being honest about when an action becomes permanent builds trust.</li>
</ul>

<p><strong>When to Prioritize This Pattern</strong><br />
This is a foundational pattern that should be implemented in nearly all agentic systems. It is absolutely non-negotiable when introducing autonomous features or when the cost of an error (financial, social, or data-related) is high.</p>

<p><strong>Risk of Omission</strong><br />
Without this, one error permanently destroys trust, as users realize they have no safety net.</p>

<p><strong>Metrics for Success:</strong></p>

<ul>
<li><strong>Reversion Rate</strong><br />
Undone Actions / Total Actions Performed. If the Reversion Rate &gt; 5% for a specific task, disable automation for that task.</li>
<li><strong>Safety Net Conversion</strong><br />
Percentage of users who upgrade to Act Autonomously within 7 days of successfully using Undo.</li>
</ul>

<h3 id="6-the-escalation-pathway-handling-uncertainty-gracefully">6. The Escalation Pathway: Handling Uncertainty Gracefully</h3>

<p>A smart partner knows when to ask for help instead of guessing. This pattern allows the agent to handle ambiguity gracefully by escalating to the user, demonstrating a humility that builds, rather than erodes, trust.</p>

<p>Even the most advanced agent will encounter situations where it is uncertain about the user’s intent or the best course of action. How it handles this uncertainty is a defining moment. A well-designed agent doesn’t guess; it escalates.</p>

<p><strong>Psychological Underpinning</strong><br />
When an agent acknowledges its limits rather than guessing, it builds trust by respecting the user’s authority in ambiguous situations.</p>

<p><strong>Escalation Patterns Include:</strong></p>

<ul>
<li><strong>Requesting Clarification</strong><br />
<em>“You mentioned ‘next Tuesday.’ Do you mean September 30th or October 7th?”</em></li>
<li><strong>Presenting Options</strong><br />
<em>“I found three flights that match your criteria. Which one looks best to you?”</em></li>
<li><strong>Requesting Human Intervention</strong><br />
For high-stakes or highly ambiguous tasks, the agent should have a clear pathway to loop in a human expert or support agent. The prompt might be: <em>“This transaction seems unusual, and I’m not confident about how to proceed. Would you like me to flag this for a human agent to review?”</em></li>
</ul>

<p><strong>When to Prioritize This Pattern</strong><br />
Prioritize in domains where user intent can be ambiguous or highly context-dependent (e.g., natural language interactions, complex data queries). Use this whenever the agent operates with incomplete information or when multiple correct paths exist.</p>

<p><strong>Risk of Omission</strong><br />
Without this, the agent will eventually make a confident, catastrophic guess that alienates the user.</p>

<p><strong>Metrics for Success:</strong></p>

<ul>
<li><strong>Escalation Frequency</strong><br />
Agent Requests for Help / Total Tasks. Healthy range: 5-15%.</li>
<li><strong>Recovery Success Rate</strong><br />
Tasks Completed Post-Escalation / Total Escalations. Target &gt; 90%.</li>
</ul>

<table class="tablesaw break-out">
    <thead>
        <tr>
            <th>Pattern</th>
            <th>Best For</th>
      <th>Primary Risk</th>
      <th>Key Metric</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Intent Preview</td>
            <td>Irreversible or financial actions</td>
      <td>User feels ambushed</td>
      <td>>85% Acceptance Rate</td>
        </tr>
        <tr>
            <td>Autonomy Dial</td>
            <td>Tasks with variable risk levels</td>
      <td>Total feature abandonment</td>
      <td>Setting Churn</td>
        </tr>
        <tr>
            <td>Explainable Rationale</td>
            <td>Background or autonomous tasks</td>
      <td>User perceives bugs</td>
      <td>“Why?” Ticket Volume</td>
        </tr>
    <tr>
            <td>Confidence Signal</td>
            <td>Expert or high-stakes systems</td>
      <td>Automation bias</td>
      <td>Scrutiny Delta</td>
        </tr>
    <tr>
            <td>Action Audit & Undo</td>
            <td>All agentic systems</td>
      <td>Permanent loss of trust</td>
      <td><5% Reversion Rate</td>
        </tr>
    <tr>
            <td>Escalation Pathway</td>
            <td>Ambiguous user intent</td>
      <td>Confident, catastrophic guesses</td>
      <td>>90% Recovery Success</td>
        </tr>
    </tbody>
</table>

<p><strong><em>Table 1:</em></strong> <em>Summary of Agentic AI UX patterns. Remember to adjust the metrics based on your specific domain risk and needs.</em></p>

<div class="partners__lead-place"></div>

<h2 id="designing-for-repair-and-redress">Designing for Repair and Redress</h2>

<p>This is learning how to apologize effectively. A good apology acknowledges the mistake, fixes the damage, and promises to learn from it.</p>

<p>Errors are not a possibility; they are an inevitability.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aThe%20long-term%20success%20of%20an%20agentic%20system%20depends%20less%20on%20its%20ability%20to%20be%20perfect%20and%20more%20on%20its%20ability%20to%20recover%20gracefully%20when%20it%20fails.%20A%20robust%20framework%20for%20repair%20and%20redress%20is%20a%20core%20feature,%20not%20an%20afterthought.%0a&url=https://smashingmagazine.com%2f2026%2f02%2fdesigning-agentic-ai-practical-ux-patterns%2f">
      
The long-term success of an agentic system depends less on its ability to be perfect and more on its ability to recover gracefully when it fails. A robust framework for repair and redress is a core feature, not an afterthought.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<h3 id="empathic-apologies-and-clear-remediation">Empathic Apologies and Clear Remediation</h3>

<p>When an agent makes a mistake, the error message is the apology. It must be designed with psychological precision. This moment is a critical opportunity to demonstrate accountability. From a service design perspective, this is where companies can use the <strong>service recovery paradox</strong>: the phenomenon where a customer who experiences a service failure, followed by a successful and empathetic recovery, can actually become more loyal than a customer who never experienced a failure at all. A well-handled mistake can be a more powerful trust-building event than a long history of flawless execution.</p>

<p>The key is treating the error as a relationship rupture that needs to be mended. This involves:</p>

<ul>
<li><strong>Acknowledge the Error</strong><br />
The message should state clearly and simply that a mistake was made.<br />
<em>Example: I incorrectly transferred funds.</em></li>
<li><strong>State the Immediate Correction</strong><br />
Immediately follow up with the remedial action.<br />
<em>Example: I have reversed the action, and the funds have been returned to your account.</em></li>
<li><strong>Provide a Path for Further Help</strong><br />
Always offer a clear link to human support. This de-escalates frustration and shows that there is a system of accountability beyond the agent itself.</li>
</ul>

<p>A well-designed repair UI might look like this:</p>

<blockquote><strong>We made a mistake on your recent transfer.</strong><br />I apologize. I transferred $250 to the wrong account.<br /><br />✔ Corrective Action: The transfer has been reversed, and your $250 has been refunded.<br />✔ Next Steps: The incident has been flagged for internal review to prevent it from happening again.<br /><br />Need further help? [ Contact Support ]</blockquote>

<h2 id="building-the-governance-engine-for-safe-innovation">Building the Governance Engine for Safe Innovation</h2>

<p>The design patterns described above are the user-facing controls, but they cannot function effectively without a robust internal support structure. This is not about creating bureaucratic hurdles; it is about building a strategic advantage. An organization with a mature governance framework can ship more ambitious agentic features with greater speed and confidence, knowing that the necessary guardrails are in place to mitigate brand risk. This governance engine turns safety from a checklist into a competitive asset.</p>

<p>This engine should function as a formal governance body, an <strong>Agentic AI Ethics Council</strong>, comprising a cross-functional alliance of UX, Product, and Engineering, with vital support from Legal, Compliance, and Support. In smaller organizations, these ‘Council’ roles often collapse into a single triad of Product, Engineering, and Design leads.</p>

<h3 id="a-checklist-for-governance">A Checklist for Governance</h3>

<ul>
<li><strong>Legal/Compliance</strong><br />
This team is the first line of defense, ensuring the agent’s potential actions stay within regulatory and legal boundaries. They help define the hard no-go zones for autonomous action.</li>
<li><strong>Product</strong><br />
The product manager is the steward of the agent’s purpose. They define and monitor its operational boundaries through a formal autonomy policy that documents what the agent is and is not allowed to do. They own the Agent Risk Register.</li>
<li><strong>UX Research</strong><br />
This team is the voice of the user’s trust and anxiety. They are responsible for a recurring process for running trust calibration studies, simulated misbehavior tests, and qualitative interviews to understand the user’s evolving mental model of the agent.</li>
<li><strong>Engineering</strong><br />
This team builds the technical underpinnings of trust. They must architect the system for robust logging, one-click undo functionality, and the hooks needed to generate clear, explainable rationales.</li>
<li><strong>Support</strong><br />
These teams are on the front lines of failure. They must be trained and equipped to handle incidents caused by agent errors, and they must have a direct feedback loop to the Ethics Council to report on real-world failure patterns.</li>
</ul>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="533"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png"
			
			sizes="100vw"
			alt="Visualization showing  a continuous feedback loop between UX, Product, Engineering, Legal, and Support created by Agentic AI Ethics Council in the middle"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Effective agentic AI is a team sport. A successful governance model, or Agentic AI Ethics Council, creates a continuous feedback loop between UX, Product, Engineering, Legal, and Support, turning risk management into a strategic asset for safe and rapid innovation. (<a href='https://files.smashing.media/articles/designing-agentic-ai-practical-ux-patterns/3-agentic-ai-ethics-council.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>This governance structure should maintain a set of living documents, including an Agent Risk Register that proactively identifies potential failure modes, Action Audit Logs that are regularly reviewed, and the formal Autonomy Policy Documentation.</p>

<h3 id="where-to-start-a-phased-approach-for-product-leaders">Where to Start: A Phased Approach for Product Leaders</h3>

<p>For product managers and executives, integrating agentic AI can feel like a monumental task. The key is to approach it not as a single launch, but as a phased journey of building both technical capability and user trust in parallel. This roadmap allows your organization to learn and adapt, ensuring each step is built on a solid foundation.</p>

<h4 id="phase-1-foundational-safety-suggest-propose">Phase 1: Foundational Safety (Suggest &amp; Propose)</h4>

<p>The initial goal is to build the bedrock of trust without taking significant autonomous risks. In this phase, the agent’s power is limited to analysis and suggestion.</p>

<ul>
<li>Implement a rock-solid <strong>Intent Preview</strong>: This is your core interaction model. Get users comfortable with the idea of the agent formulating plans, while keeping the user in full control of execution.</li>
<li>Build the <strong>Action Audit &amp; Undo</strong> infrastructure: Even if the agent isn’t acting autonomously yet, build the technical scaffolding for logging and reversal. This prepares your system for the future and builds user confidence that a safety net exists.</li>
</ul>

<h4 id="phase-2-calibrated-autonomy-act-with-confirmation">Phase 2: Calibrated Autonomy (Act with Confirmation)</h4>

<p>Once users are comfortable with the agent’s proposals, you can begin to introduce low-risk autonomy. This phase is about teaching users how the agent thinks and letting them set their own pace.</p>

<ul>
<li>Introduce the <strong>Autonomy Dial</strong> with limited settings: Start by allowing users to grant the agent the power to Act with Confirmation.</li>
<li>Deploy the <strong>Explainable Rationale</strong>: For every action the agent prepares, provide a clear explanation. This demystifies the agent’s logic and reinforces that it is operating based on the user’s own preferences.</li>
</ul>

<h4 id="phase-3-proactive-delegation-act-autonomously">Phase 3: Proactive Delegation (Act Autonomously)</h4>

<p>This is the final step, taken only after you have clear data from the previous phases demonstrating that users trust the system.</p>

<ul>
<li>Enable <strong>Act Autonomously</strong> for specific, pre-approved tasks: Use the data from Phase 2 (e.g., high Proceed rates, low Undo rates) to identify the first set of low-risk tasks that can be fully automated.</li>
<li><strong>Monitor and Iterate</strong>: The launch of autonomous features is not the end, but the beginning of a continuous cycle of monitoring performance, gathering user feedback, and refining the agent’s scope and behavior based on real-world data.</li>
</ul>

<h2 id="design-as-the-ultimate-safety-lever">Design As The Ultimate Safety Lever</h2>

<p>The emergence of agentic AI represents a new frontier in human-computer interaction. It promises a future where technology can proactively reduce our burdens and streamline our lives. But this power comes with profound <strong>responsibility</strong>.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aAutonomy%20is%20an%20output%20of%20a%20technical%20system,%20but%20trustworthiness%20is%20an%20output%20of%20a%20design%20process.%20Our%20challenge%20is%20to%20ensure%20that%20the%20user%20experience%20is%20not%20a%20casualty%20of%20technical%20capability%20but%20its%20primary%20beneficiary.%0a&url=https://smashingmagazine.com%2f2026%2f02%2fdesigning-agentic-ai-practical-ux-patterns%2f">
      
Autonomy is an output of a technical system, but trustworthiness is an output of a design process. Our challenge is to ensure that the user experience is not a casualty of technical capability but its primary beneficiary.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>As UX professionals, product managers, and leaders, our role is to act as the stewards of that trust. By implementing clear design patterns for control and consent, designing thoughtful pathways for repair, and building robust governance frameworks, we create the essential safety levers that make agentic AI viable. We are not just designing interfaces; we are <strong>architecting relationships</strong>. The future of AI’s utility and acceptance rests on our ability to design these complex systems with wisdom, foresight, and a deep-seated respect for the user’s ultimate authority.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(gg, yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Stefan Kaltenegger</author><title>Practical Use Of AI Coding Tools For The Responsible Developer</title><link>https://www.smashingmagazine.com/2026/01/practical-use-ai-coding-tools-responsible-developer/</link><pubDate>Fri, 30 Jan 2026 13:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/01/practical-use-ai-coding-tools-responsible-developer/</guid><description>AI coding tools like agents can be valuable allies in everyday development work. They help handle time-consuming grunt work, guide you through large legacy codebases, and offer low-risk ways to implement features in previously unfamiliar programming languages. Here are practical, easy-to-apply techniques to help you use these tools to improve your workflow.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/01/practical-use-ai-coding-tools-responsible-developer/" />
              <title>Practical Use Of AI Coding Tools For The Responsible Developer</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Practical Use Of AI Coding Tools For The Responsible Developer</h1>
                  
                    
                    <address>Stefan Kaltenegger</address>
                  
                  <time datetime="2026-01-30T13:00:00&#43;00:00" class="op-published">2026-01-30T13:00:00+00:00</time>
                  <time datetime="2026-01-30T13:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>Over the last two years, my team at <a href="https://work.co/">Work &amp; Co</a> and I have been testing out and gradually integrating AI coding tools like Copilot, Cursor, Claude, and ChatGPT to help us ship web experiences that are used by the masses. Admittedly, after some initial skepticism and a few aha moments, various AI tools have found their way into my daily use. Over time, the list of applications where we found it made sense to let AI take over started to grow, so I decided to share some <strong>practical use cases</strong> for AI tools for what I call the “responsible developer”.</p>

<p>What do I mean by a <strong>responsible developer</strong>?</p>

<p>We have to make sure that we deliver quality code as expected by our stakeholders and clients. Our contributions (i.e., pull requests) should not become a burden on our colleagues who will have to review and test our work. Also, in case you work for a company: The tools we use need to be approved by our employer. Sensitive aspects like security and privacy need to be handled properly: Don’t paste secrets, customer data (PII), or proprietary code into tools without policy approval. Treat it like code from a stranger on the internet. Always test and verify.</p>

<p><strong>Note</strong>: <em>This article assumes some very basic familiarity with AI coding tools like Copilot inside VSCode or Cursor. If all of this sounds totally new and unfamiliar to you, the <a href="https://github.com/features/copilot/tutorials">Github Copilot video tutorials</a> can be a fantastic starting point for you.</em></p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/01-vscode-copilot.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="518"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/01-vscode-copilot.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/01-vscode-copilot.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/01-vscode-copilot.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/01-vscode-copilot.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/01-vscode-copilot.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/01-vscode-copilot.png"
			
			sizes="100vw"
			alt="Screenshot of of VSCode with Copilot Chat open in the right panel"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      View of VSCode with Copilot Chat open in the right panel. (<a href='https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/01-vscode-copilot.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h2 id="helpful-applications-of-ai-coding-tools">Helpful Applications Of AI Coding Tools</h2>

<p><strong>Note</strong>: The following examples will mainly focus on working in JavaScript-based web applications like React, Vue, Svelte, or Angular.</p>

<h3 id="getting-an-understanding-of-an-unfamiliar-codebase">Getting An Understanding Of An Unfamiliar Codebase</h3>

<p>It’s not uncommon to work on established codebases, and joining a large legacy codebase can be intimidating. Simply open your project and your AI agent (in my case, Copilot Chat in VSCode) and start asking questions just like you would ask a colleague. In general, I like to talk to any AI agent just as I would to a fellow human.</p>

<p>Here is a more refined example prompt:</p>

<blockquote>“Give me a high-level architecture overview: entrypoints, routing, auth, data layer, build tooling. Then list 5 files to read in order. Treat explanations as hypotheses and confirm by jumping to referenced files.”</blockquote>

<p>You can keep asking follow-up questions like <em>“How does the routing work in detail?”</em> or <em>“Talk me through the authentication process and methods”</em> and it will lead you to helpful directions to shine some light into the dark of an unfamiliar codebase.</p>

<h3 id="triaging-breaking-changes-when-upgrading-dependencies">Triaging Breaking Changes When Upgrading Dependencies</h3>

<p>Updating npm packages, especially when they come with breaking changes, can be tedious and time-consuming work, and make you debug a fair amount of regressions. I recently had to upgrade the data visualization library <a href="plotly.js">plotly.js</a> up one major release version from version 2 to 3, and as a result of that, the axis labeling in some of the graphs stopped working.</p>

<p>I went on to ask ChatGPT:</p>

<blockquote>“I updated my Angular project that uses Plotly. I updated the plotly.js &mdash; dist package from version 2.35.2 to 3.1.0 &mdash; and now the labels on the x and y axis are gone. What happened?”</blockquote>

<p>The agent came back with a solution promptly (see for yourself below).</p>

<p><strong>Note</strong>: <em>I still verified the explanation against the official migration guide before shipping the fix.</em></p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/02-chatgpt-plotly.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="647"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/02-chatgpt-plotly.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/02-chatgpt-plotly.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/02-chatgpt-plotly.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/02-chatgpt-plotly.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/02-chatgpt-plotly.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/02-chatgpt-plotly.png"
			
			sizes="100vw"
			alt="Screenshot of the response from ChatGPT when prompted “I updated my Angular project that uses plotly. I updated the plotly package from plotly.js-dist: ^2.35.2 to plotly.js-dist: ^3.1.0, - and now the labels on the x and y axis are gone - what happened? Thought for 19s. Short answer: Plotly.js v3 removed the string shorthand for titles. You must use the new object form.”"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      (<a href='https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/02-chatgpt-plotly.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="replicating-refactors-safely-across-files">Replicating Refactors Safely Across Files</h3>

<p>Growing codebases most certainly unveil opportunities for code consolidation. For example, you notice code duplication across files that can be extracted into a single function or component. As a result, you decide to create a shared component that can be included instead and perform that refactor in one file. Now, instead of manually carrying out those changes to your remaining files, you ask your agent to roll out the refactor for you.</p>

<p>Agents let you select multiple files as context. Once the refactor for one file is done, I can add both the refactored and untouched files into context and prompt the agent to roll out the changes to other files like this: <em>“Replicate the changes I made in file A to file B as well”</em>.</p>

<h3 id="implementing-features-in-unfamiliar-technologies">Implementing Features In Unfamiliar Technologies</h3>

<p>One of my favorite aha-moments using AI coding tools was when it helped me create a quite complex animated gradient animation in GLSL, a language I have been fairly unfamiliar with. On a recent project, our designers came up with an animated gradient as a loading state on a 3D object. I really liked the concept and wanted to deliver something unique and exciting to our clients. The problem: I only had two days to implement it, and GLSL has quite the steep learning curve.</p>

<p>Again, an AI tool (in this case, ChatGPT) came in handy, and I started quite simply prompting it to create a standalone HTML file for me that renders a canvas and a very simple animated color gradient. Step after step, I prompted the AI to add more finesse to it until I arrived at a decent result so I could start integrating the shader into my actual codebase.</p>

<p>The end result: Our clients were super happy, and we delivered a complex feature in a small amount of time thanks to AI.</p>

<h3 id="writing-tests">Writing Tests</h3>

<p>In my experience, there’s rarely enough time on projects to continuously write and maintain a proper suite of unit and integration tests, and on top of that, many developers don’t really enjoy the task of writing tests. Prompting your AI helper to set up and write tests for you is entirely possible and can be done in a small amount of time. Of course, you, as a developer, should still make sure that your tests actually take a look at the critical parts of your application and follow sensible testing principles, but you can “outsource” the writing of the tests to our AI helper.</p>

<p>Example prompt:</p>

<blockquote>“Write unit tests for this function using Jest. Cover happy path, edge cases, and failure modes. Explain why each test exists.”</blockquote>

<p>You can even pass along testing guru Kent C. Dodds’ testing best practices as guidelines to your agent, like below:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://x.com/kentcdodds/status/2008940437747409406">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="795"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/03-post-testing.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/03-post-testing.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/03-post-testing.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/03-post-testing.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/03-post-testing.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/03-post-testing.png"
			
			sizes="100vw"
			alt="A post on X by @kentcdodds that reads “When telling AI to write tests, I find those tests improve a lot when I send: Could you apply these principles to the tests? https://kentcdodds.com/blog/avoid-nesting-when-youre-testing and https://epicweb.dev/better-test-setup-with-disposable-objects. Just did it and the tests got much more clear and terse.”"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Image source: <a href='https://x.com/kentcdodds/status/2008940437747409406'>x.com/kentcdodds</a>. (<a href='https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/03-post-testing.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="internal-tooling">Internal Tooling</h3>

<p>Somewhat similar to the shader example mentioned earlier, I was recently tasked to analyze code duplication in a codebase and compare before and after a refactor. Certainly not a trivial task if you don’t want to go the time-consuming route of comparing files manually. With the help of Copilot, I created a script that analyzed code duplication for me, arranged and ordered the output in a table, and exported it to Excel. Then I took it a step further. When our code refactor was done, I prompted the agent to take my existing Excel sheet as the baseline, add in the current state of duplication in separate columns, and calculate the delta.</p>

<h3 id="updating-code-written-a-long-time-ago">Updating Code Written A Long Time Ago</h3>

<p>Recently, an old client of mine hit me up, as over time, a few features weren’t working properly on his website anymore.</p>

<p>The catch: The website was built almost ten years ago, and the JavaScript and SCSS were using rather old compile tools like requireJS, and the setup required an older version of Node.js that wouldn’t even run on my 2025 MacBook.</p>

<p>Updating the whole build process by hand would have taken me days, so I decided to prompt the AI agent, <em>“Can you update the JS and SCSS build process to a lean 2025 stack like Vite?”</em> It sure did, and after around an hour of refining with the agent, I had my SCSS and JS build switched to Vite, and I was able to focus on actual bugfixing. Just make sure to properly validate the output and compiled files when doing such integral changes to your build process.</p>

<h3 id="summarizing-and-drafting">Summarizing And Drafting</h3>

<p>Would you like to summarize all your recent code changes in one sentence for a commit message, or have a long list of commits and would like to sum them up in three bullet points? No problem, let the AI take care of it, but please make sure to proofread it.</p>

<p>An example prompt is as simple as messaging a fellow human: <em>“Please sum up my recent changes in concise bullet points”</em>.</p>

<p>My advice here would be to use GPT for writing with caution, and as with code, please check the output before sending or submitting.</p>

<h2 id="recommendations-and-best-practices">Recommendations And Best Practices</h2>

<h3 id="prompting">Prompting</h3>

<p>One of the not-so-obvious benefits of using AI is that the more specific and tailored your prompts are, the better the output. The process of prompting an AI agent forces us to <strong>formulate our requirements as specifically as possible</strong> before we write and code. This is why, as a general rule, I highly recommend being as specific as possible with your prompting.</p>

<p>Ryan Florence, co-author of Remix, suggests a simple yet powerful way to improve this process by finishing your initial prompt with the sentence:</p>

<blockquote>“Before we start, do you have any questions for me?”</blockquote>

<p>At this point, the AI usually comes back with helpful questions where you can clarify your specific intent, guiding the agent to provide you with a <strong>more tailored approach</strong> for your task.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://x.com/ryanflorence/status/1959407056286568828">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="690"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/04-post-cursor.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/04-post-cursor.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/04-post-cursor.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/04-post-cursor.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/04-post-cursor.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/04-post-cursor.png"
			
			sizes="100vw"
			alt="A post on X by @ryanflorence that reads: “I always ask Cursor: Do you have any questions before you begin to implement this? Usually, some good questions arise, I answer them, and have the model update the feature explanation doc and spec doc. Eventually, it has no more questions and often nails the sessions.”"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Image source: <a href='https://x.com/ryanflorence/status/1959407056286568828'>x.com/ryanflorence</a>. (<a href='https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/04-post-cursor.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="use-version-control-and-work-in-digestible-chunks">Use Version Control And Work In Digestible Chunks</h3>

<p>Using version control like git not only comes in handy when collaborating as a team on a single codebase but also to provide you as an individual contributor with stable points to roll back to in case of an emergency. Due to its non-deterministic nature, AI can sometimes go rogue and make changes that are simply not helpful for what you are trying to achieve and eventually break things irreparably.</p>

<p>Splitting up your work into <strong>multiple commits</strong> will help you create stable points that you can revert to in case things go sideways. And your teammates will thank you as well, as they will have an easier time reviewing your code when it is split up into semantically well-structured chunks.</p>

<h3 id="review-thoroughly">Review Thoroughly</h3>

<p>This is more of a general best practice, but in my opinion, it becomes even more important when using AI tools for development work: <strong>Be the first critical reviewer of your code</strong>. Make sure to take some time to go over your changes line by line, just like you would review someone else’s code, and only submit your work once it passes your own self-review.</p>

<blockquote>“Two things are both true to me right now: AI agents are amazing and a huge productivity boost. They are also massive slop machines if you turn off your brain and let go completely.”<br /><br />&mdash; Armin Ronacher in his blog post <a href="https://lucumr.pocoo.org/2026/1/18/agent-psychosis/">Agent Psychosis: Are We Going Insane?</a></blockquote>

<h2 id="conclusion-and-critical-thoughts">Conclusion And Critical Thoughts</h2>

<p>In my opinion, AI coding tools can improve our productivity as developers on a daily basis and free up mental capacity for more planning and high-level thinking. They force us to articulate our desired outcome with meticulous detail.</p>

<p>Any AI can, at times, hallucinate, which basically means it lies in a confident tone. So please make sure to check and test, especially when you are in doubt. AI is not a silver bullet, and I believe, excellence and the ability to solve problems as a developer will never go out of fashion.</p>

<p>For developers who are just starting out in their career these tools can be highly tempting to do the majority of the work for them. What may get lost here is the often draining and painful work through bugs and issues that are tricky to debug and solve, aka “the grind”. Even Cursor AI’s very own Lee Robinson questions this in one of his posts:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://x.com/leerob/status/1996281383535382909">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="1093"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/05-post-leerob.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/05-post-leerob.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/05-post-leerob.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/05-post-leerob.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/05-post-leerob.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/05-post-leerob.png"
			
			sizes="100vw"
			alt="A post on X by @leerob that reads: “My biggest worries about coding with AI: 1. Beginners not actually learning 2. Atrophy of skills I’m seeing #1 happen, and I don’t have a good answer yet. Leveling up as an engineer requires grinding, and it’s not always fun. If AI can solve most of the problems for you, when do you lean into the healthy friction? When do you embrace the suck? Coupled with fewer opportunities for pair programming, it’s definitely tougher for those starting their engineering career.”"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Image source: <a href='https://x.com/leerob/status/1996281383535382909'>x.com/leerob</a>. (<a href='https://files.smashing.media/articles/practical-use-ai-coding-tools-responsible-developer/05-post-leerob.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>AI coding tools are evolving at a fast pace, and I am excited for what will come next. I hope you found this article and its tips helpful and are excited to try out some of these for yourself.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Victor Yocco</author><title>Beyond Generative: The Rise Of Agentic AI And User-Centric Design</title><link>https://www.smashingmagazine.com/2026/01/beyond-generative-rise-agentic-ai-user-centric-design/</link><pubDate>Thu, 22 Jan 2026 13:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/01/beyond-generative-rise-agentic-ai-user-centric-design/</guid><description>Developing effective agentic AI requires a new research playbook. When systems plan, decide, and act on our behalf, UX moves beyond usability testing into the realm of trust, consent, and accountability. Victor Yocco outlines the research methods needed to design agentic AI systems responsibly.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/01/beyond-generative-rise-agentic-ai-user-centric-design/" />
              <title>Beyond Generative: The Rise Of Agentic AI And User-Centric Design</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Beyond Generative: The Rise Of Agentic AI And User-Centric Design</h1>
                  
                    
                    <address>Victor Yocco</address>
                  
                  <time datetime="2026-01-22T13:00:00&#43;00:00" class="op-published">2026-01-22T13:00:00+00:00</time>
                  <time datetime="2026-01-22T13:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>Agentic AI stands ready to transform customer experience and operational efficiency, necessitating a new strategic approach from leadership. This evolution in artificial intelligence empowers systems to <strong>plan</strong>, <strong>execute</strong>, and <strong>persist</strong> in tasks, moving beyond simple recommendations to proactive action. For UX teams, product managers, and executives, understanding this shift is crucial for unlocking opportunities in innovation, streamlining workflows, and redefining how technology serves people.</p>

<p>It’s easy to confuse <strong>Agentic AI</strong> with Robotic Process Automation (RPA), which is technology that focuses on rules-based tasks performed on computers. The distinction lies in rigidity versus reasoning. RPA is excellent at following a strict script: if X happens, do Y. It mimics human hands. Agentic AI mimics human reasoning. It does not follow a linear script; it <strong>creates</strong> one.</p>

<p>Consider a recruiting workflow. An RPA bot can scan a resume and upload it to a database. It performs a repetitive task perfectly. An Agentic system looks at the resume, notices the candidate lists a specific certification, cross-references that with a new client requirement, and decides to draft a personalized outreach email highlighting that match. RPA executes a predefined plan; Agentic AI formulates the plan based on a goal. This autonomy separates agents from the predictive tools we have used for the last decade.</p>

<p>Another example is managing meeting conflicts. A predictive model integrated into your calendar might analyze your meeting schedule and the schedules of your colleagues. It could then suggest potential conflicts, such as two important meetings scheduled at the same time, or a meeting scheduled when a key participant is on vacation. It provides you with information and flags potential issues, but you are responsible for taking action.</p>

<p>An agentic AI, in the same scenario, would go beyond just suggesting conflicts to avoid. Upon identifying a conflict with a key participant, the agent could act by:</p>

<ul>
<li>Checking the availability of all necessary participants.</li>
<li>Identifying alternative time slots that work for everyone.</li>
<li>Sending out proposed new meeting invitations to all attendees.</li>
<li>If the conflict is with an external participant, the agent could draft and send an email explaining the need to reschedule and offering alternative times.</li>
<li>Updating your calendar and the calendars of your colleagues with the new meeting details once confirmed.</li>
</ul>

<p>This agentic AI understands the goal (resolving the meeting conflict), plans the steps (checking availability, finding alternatives, sending invites), executes those steps, and persists until the conflict is resolved, all with minimal direct user intervention. This demonstrates the “agentic” difference: the system takes <strong>proactive steps</strong> for the user, rather than just providing information to the user.</p>

<p>Agentic AI systems understand a goal, plan a series of steps to achieve it, execute those steps, and even adapt if things go wrong. Think of it like a <strong>proactive digital assistant</strong>. The underlying technology often combines large language models (LLMs) for understanding and reasoning, with planning algorithms that break down complex tasks into manageable actions. These agents can interact with various tools, APIs, and even other AI models to accomplish their objectives, and critically, they can maintain a persistent state, meaning they remember previous actions and continue working towards a goal over time. This makes them fundamentally different from typical generative AI, which usually completes a single request and then resets.</p>

<h2 id="a-simple-taxonomy-of-agentic-behaviors">A Simple Taxonomy of Agentic Behaviors</h2>

<p>We can categorize agent behavior into four distinct modes of autonomy. While these often look like a progression, they function as independent operating modes. A user might trust an agent to act autonomously for scheduling, but keep it in “suggestion mode” for financial transactions.</p>

<p>We derived these levels by adapting industry standards for autonomous vehicles (<a href="https://www.sae.org/news/blog/sae-levels-driving-automation-clarity-refinements">SAE levels</a>) to digital user experience contexts.</p>

<h3 id="observe-and-suggest">Observe-and-Suggest</h3>

<p>The agent functions as a monitor. It analyzes data streams and flags anomalies or opportunities, but takes zero action.</p>

<p><strong>Differentiation</strong><br />
Unlike the next level, the agent generates no complex plan. It points to a problem.</p>

<p><strong>Example</strong><br />
A DevOps agent notices a server CPU spike and alerts the on-call engineer. It does not know how or attempt to fix it, but it knows something is wrong.</p>

<p><strong>Implications for design and oversight</strong><br />
At this level, design and oversight should prioritize clear, non-intrusive notifications and a well-defined process for users to act on suggestions. The focus is on empowering the user with timely and relevant information without taking control. UX practitioners should focus on making suggestions clear and easy to understand, while product managers need to ensure the system provides value without overwhelming the user.</p>

<h3 id="plan-and-propose">Plan-and-Propose</h3>

<p>The agent identifies a goal and generates a multi-step strategy to achieve it. It presents the full plan for human review.</p>

<p><strong>Differentiation</strong><br />
The agent acts as a strategist. It does not execute; it waits for approval on the entire approach.</p>

<p><strong>Example</strong><br />
The same DevOps agent notices the CPU spike, analyzes the logs, and proposes a remediation plan:</p>

<ol>
<li>Spin up two extra instances.</li>
<li>Restart the load balancer.</li>
<li>Archive old logs.</li>
</ol>

<p>The human reviews the logic and clicks “Approve Plan”.</p>

<p><strong>Implications for design and oversight</strong><br />
For agents that plan and propose, design must ensure the proposed plans are easily understandable and that users have intuitive ways to modify or reject them. Oversight is crucial in monitoring the quality of proposals and the agent’s planning logic. UX practitioners should design clear visualizations of the proposed plans, and product managers must establish clear review and approval workflows.</p>

<h3 id="act-with-confirmation">Act-with-Confirmation</h3>

<p>The agent completes all preparation work and places the final action in a staged state. It effectively holds the door open, waiting for a nod.</p>

<p><strong>Differentiation</strong><br />
This differs from “Plan-and-Propose” because the work is already done and staged. It reduces friction. The user confirms the outcome, not the strategy.</p>

<p><strong>Example</strong><br />
A recruiting agent drafts five interview invitations, finds open times on calendars, and creates the calendar events. It presents a “Send All” button. The user provides the final authorization to trigger the external action.</p>

<p><strong>Implications for design and oversight</strong><br />
When agents act with confirmation, the design should provide transparent and concise summaries of the intended action, clearly outlining potential consequences. Oversight needs to verify that the confirmation process is robust and that users are not being asked to blindly approve actions. UX practitioners should design confirmation prompts that are clear and provide all necessary information, and product managers should prioritize a robust audit trail for all confirmed actions.</p>

<h3 id="act-autonomously">Act-Autonomously</h3>

<p>The agent executes tasks independently within defined boundaries.</p>

<p><strong>Differentiation</strong><br />
The user reviews the history of actions, not the actions themselves.</p>

<p><strong>Example</strong><br />
The recruiting agent sees a conflict, moves the interview to a backup slot, updates the candidate, and notifies the hiring manager. The human only sees a notification: Interview rescheduled to Tuesday.</p>

<p><strong>Implications for design and oversight</strong><br />
For autonomous agents, the design needs to establish clear pre-approved boundaries and provide robust monitoring tools. Oversight requires continuous evaluation of the agent’s performance within these boundaries, a critical need for robust logging, clear override mechanisms, and user-defined kill switches to maintain user control and trust. UX practitioners should focus on designing effective dashboards for monitoring autonomous agent behavior, and product managers must ensure clear governance and ethical guidelines are in place.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="640"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png"
			
			sizes="100vw"
			alt="The Agentic Autonomy Matrix"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 1</strong>: The Agentic Autonomy Matrix. This framework maps four distinct operating modes by correlating the level of agent initiative against the required amount of human intervention. (<a href='https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/1-agentic-autonomy-matrix.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Let’s look at a real-world application in HR technology to see these modes in action. Consider an “Interview Coordination Agent” designed to handle the logistics of hiring.</p>

<ul>
<li><strong>In Suggest Mode</strong><br />
The agent notices an interviewer is double-booked. It highlights the conflict on the recruiter’s dashboard: <em>“Warning: Sarah is double-booked for the 2 PM interview.”</em></li>
<li><strong>In Plan Mode</strong><br />
The agent analyzes Sarah’s calendar and the candidate’s availability. It presents a solution: <em>“I recommend moving the interview to Thursday at 10 AM. This requires moving Sarah’s 1:1 with her manager.”</em> The recruiter reviews this logic.</li>
<li><strong>In Confirmation Mode</strong><br />
The agent drafts the emails to the candidate and the manager. It populates the calendar invites. The recruiter sees a summary: <em>“Ready to reschedule to Thursday. Send updates?”</em> The recruiter clicks <em>“Confirm.”</em></li>
<li><strong>In Autonomous Mode</strong><br />
The agent handles the conflict instantly. It respects a pre-set rule: <em>“Always prioritize candidate interviews over internal 1:1s.”</em> It moves the meeting and sends the notifications. The recruiter sees a log entry: <em>“Resolved schedule conflict for Candidate B.”</em></li>
</ul>

<h2 id="research-primer-what-to-research-and-how">Research Primer: What To Research And How</h2>

<p>Developing effective agentic AI demands a distinct research approach compared to traditional software or even generative AI. The autonomous nature of AI agents, their ability to make decisions, and their potential for proactive action necessitate specialized methodologies for understanding user expectations, mapping complex agent behaviors, and anticipating potential failures. The following research primer outlines key methods to measure and evaluate these unique aspects of agentic AI.</p>

<h3 id="mental-model-interviews">Mental-Model Interviews</h3>

<p>These interviews uncover users’ preconceived notions about how an AI agent should behave. Instead of simply asking what users <em>want</em>, the focus is on understanding their internal models of the agent’s capabilities and limitations. We should avoid using the word “agent” with participants. It carries sci-fi baggage or is a term too easily confused with a human agent offering support or services. Instead, frame the discussion around “assistants” or “the system.”</p>

<p>We need to uncover where users draw the line between helpful automation and intrusive control.</p>

<ul>
<li><strong>Method:</strong> Ask users to describe, draw, or narrate their expected interactions with the agent in various hypothetical scenarios.</li>
<li><strong>Key Probes (reflecting a variety of industries):</strong>

<ul>
<li>To understand the boundaries of desired automation and potential anxieties around over-automation, ask:

<ul>
<li>If your flight is canceled, what would you want the system to do automatically? What would worry you if it did that without your explicit instruction?</li>
</ul></li>
<li>To explore the user’s understanding of the agent’s internal processes and necessary communication, ask:

<ul>
<li>Imagine a digital assistant is managing your smart home. If a package is delivered, what steps do you imagine it takes, and what information would you expect to receive?</li>
</ul></li>
<li>To uncover expectations around control and consent within a multi-step process, ask:

<ul>
<li>If you ask your digital assistant to schedule a meeting, what steps do you envision it taking? At what points would you want to be consulted or given choices?</li>
</ul></li>
</ul></li>
<li><strong>Benefits of the method:</strong> Reveals implicit assumptions, highlights areas where the agent’s planned behavior might diverge from user expectations, and informs the design of appropriate controls and feedback mechanisms.</li>
</ul>

<h3 id="agent-journey-mapping">Agent Journey Mapping:</h3>

<p>Similar to traditional user journey mapping, agent journey mapping specifically focuses on the anticipated actions and decision points of the AI agent itself, alongside the user’s interaction. This helps to proactively identify potential pitfalls.</p>

<ul>
<li><strong>Method:</strong> Create a visual map that outlines the various stages of an agent’s operation, from initiation to completion, including all potential actions, decisions, and interactions with external systems or users.</li>
<li><strong>Key Elements to Map:</strong>

<ul>
<li><strong>Agent Actions:</strong> What specific tasks or decisions does the agent perform?</li>
<li><strong>Information Inputs/Outputs:</strong> What data does the agent need, and what information does it generate or communicate?</li>
<li><strong>Decision Points:</strong> Where does the agent make choices, and what are the criteria for those choices?</li>
<li><strong>User Interaction Points:</strong> Where does the user provide input, review, or approve actions?</li>
<li><strong>Points of Failure:</strong> Crucially, identify specific instances where the agent could misinterpret instructions, make an incorrect decision, or interact with the wrong entity.

<ul>
<li><strong>Examples:</strong> Incorrect recipient (e.g., sending sensitive information to the wrong person), overdraft (e.g., an automated payment exceeding available funds), misinterpretation of intent (e.g., booking a flight for the wrong date due to ambiguous language).</li>
</ul></li>
<li><strong>Recovery Paths:</strong> How can the agent or user recover from these failures? What mechanisms are in place for correction or intervention?</li>
</ul></li>
<li><strong>Benefits of the method:</strong> Provides a holistic view of the agent’s operational flow, uncovers hidden dependencies, and allows for the proactive design of safeguards, error handling, and user intervention points to prevent or mitigate negative outcomes.</li>
</ul>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="437"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg"
			
			sizes="100vw"
			alt="Agent Journey Map"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 2</strong>: Agent Journey Map. Mapping the Agent Logic distinct from the System helps identify where the reasoning, not just the code, might fail. (<a href='https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/2-agent-journey-map.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="simulated-misbehavior-testing">Simulated Misbehavior Testing:</h3>

<p>This approach is designed to stress-test the system and observe user reactions when the AI agent <em>fails</em> or deviates from expectations. It’s about understanding trust repair and emotional responses in adverse situations.</p>

<ul>
<li><strong>Method:</strong> In controlled lab studies, deliberately introduce scenarios where the agent makes a mistake, misinterprets a command, or behaves unexpectedly.</li>
<li><strong>Types of “Misbehavior” to Simulate:</strong>

<ul>
<li><strong>Command Misinterpretation:</strong> The agent performs an action slightly different from what the user intended (e.g., ordering two items instead of one).</li>
<li><strong>Information Overload/Underload:</strong> The agent provides too much irrelevant information or not enough critical details.</li>
<li><strong>Unsolicited Action:</strong> The agent takes an action the user explicitly did not want or expect (e.g., buying stock without approval).</li>
<li><strong>System Failure:</strong> The agent crashes, becomes unresponsive, or provides an error message.</li>
<li><strong>Ethical Dilemmas:</strong> The agent makes a decision with ethical implications (e.g., prioritizing one task over another based on an unforeseen metric).</li>
</ul></li>
<li><strong>Observation Focus:</strong>

<ul>
<li><strong>User Reactions:</strong> How do users react emotionally (frustration, anger, confusion, loss of trust)?</li>
<li><strong>Recovery Attempts:</strong> What steps do users take to correct the agent’s behavior or undo its actions?</li>
<li><strong>Trust Repair Mechanisms:</strong> Do the system’s built-in recovery or feedback mechanisms help restore trust? How do users want to be informed about errors?</li>
<li><strong>Mental Model Shift:</strong> Does the misbehavior alter the user’s understanding of the agent’s capabilities or limitations?</li>
</ul></li>
<li><strong>Benefits of the method:</strong> Crucial for identifying design gaps related to error recovery, feedback, and user control. It provides insights into how resilient users are to agent failures and what is needed to maintain or rebuild trust, leading to more robust and forgiving agentic systems.</li>
</ul>

<p>By integrating these research methodologies, UX practitioners can move beyond simply making agentic systems <em>usable</em> to making them <em>trusted</em>, <em>controllable</em>, and <em>accountable</em>, fostering a positive and productive relationship between users and their AI agents. Note that these aren’t the only methods relevant to exploring agentic AI effectively. Many other methods exist, but these are most accessible to practitioners in the near term. I’ve previously covered the Wizard of Oz method, a slightly more advanced method of concept testing, which is also a valuable tool for exploring agentic AI concepts.</p>

<h2 id="ethical-considerations-in-research-methodology">Ethical Considerations In Research Methodology</h2>

<p>When researching agentic AI, particularly when simulating misbehavior or errors, ethical considerations are key to take into account. There are many publications focusing on ethical UX research, including an <a href="https://www.smashingmagazine.com/2020/12/ethical-considerations-ux-research/">article I wrote for Smashing Magazine</a>, <a href="https://www.uxdesigninstitute.com/blog/what-are-user-research-ethics/">these guidelines</a> from the UX Design Institute, and this page from the <a href="https://www.inclusivedesigntoolkit.com/ethics/">Inclusive Design Toolkit</a>.</p>

<h2 id="key-metrics-for-agentic-ai">Key Metrics For Agentic AI</h2>

<p>You’ll need a comprehensive set of key metrics to effectively assess the performance and reliability of agentic AI systems. These metrics provide insights into user trust, system accuracy, and the overall user experience. By tracking these indicators, developers and designers can identify areas for improvement and ensure that AI agents operate safely and efficiently.</p>

<p><strong>1. Intervention Rate</strong><br />
For autonomous agents, we measure success by silence. If an agent executes a task and the user does not intervene or reverse the action within a set window (e.g., 24 hours), we count that as acceptance. We track the Intervention Rate: how often does a human jump in to stop or correct the agent? A high intervention rate signals a misalignment in trust or logic.</p>

<p><strong>2. Frequency of Unintended Actions per 1,000 Tasks</strong><br />
This critical metric quantifies the number of actions performed by the AI agent that were not desired or expected by the user, normalized per 1,000 completed tasks. A low frequency of unintended actions signifies a well-aligned AI that accurately interprets user intent and operates within defined boundaries. This metric is closely tied to the AI’s understanding of context, its ability to disambiguate commands, and the robustness of its safety protocols.</p>

<p><strong>3. Rollback or Undo Rates</strong><br />
This metric tracks how often users need to reverse or undo an action performed by the AI. High rollback rates suggest that the AI is making frequent errors, misinterpreting instructions, or acting in ways that are not aligned with user expectations. Analyzing the reasons behind these rollbacks can provide valuable feedback for improving the AI’s algorithms, understanding of user preferences, and its ability to predict desirable outcomes.</p>

<p>To understand why, you must implement a microsurvey on the undo action. For example, when a user reverses a scheduling change, a simple prompt can ask: <em>“Wrong time? Wrong person? Or did you just want to do it yourself?”</em> Allowing the user to click on the option that best corresponds to their reasoning.</p>

<p><strong>4. Time to Resolution After an Error</strong><br />
This metric measures the duration it takes for a user to correct an error made by the AI or for the AI system itself to recover from an erroneous state. A short time to resolution indicates an efficient and user-friendly error recovery process, which can mitigate user frustration and maintain productivity. This includes the ease of identifying the error, the accessibility of undo or correction mechanisms, and the clarity of error messages provided by the AI.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="437"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg"
			
			sizes="100vw"
			alt="A Trust &amp; Accountability Dashboard"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 3</strong>: A Trust & Accountability Dashboard. Note the focus on “Rollback Reasons”. This qualitative data is vital for tuning the agent’s logic. (<a href='https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/3-trust-accountability-dashboard.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Collecting these metrics requires instrumenting your system to track Agent Action IDs. Every distinct action the agent takes, such as proposing a schedule or booking a flight, must generate a unique ID that persists in the logs. To measure the Intervention Rate, we do not look for an immediate user reaction. We look for the absence of a counter-action within a defined window. If an Action ID is generated at 9:00 AM and no human user modifies or reverts that specific ID by 9:00 AM the next day, the system logically tags it as Accepted. This allows us to quantify success based on user silence rather than active confirmation.</p>

<p>For Rollback Rates, raw counts are insufficient because they lack context. To capture the underlying reason, you must implement intercept logic on your application’s Undo or Revert functions. When a user reverses an agent-initiated action, trigger a lightweight microsurvey. This can be a simple three-option modal asking the user to categorize the error as factually incorrect, lacking context, or a simple preference to handle the task manually. This combines quantitative telemetry with qualitative insight. It enables engineering teams to distinguish between a broken algorithm and a user preference mismatch.</p>

<p>These metrics, when tracked consistently and analyzed holistically, provide a robust framework for evaluating the performance of agentic AI systems, allowing for continuous improvement in control, consent, and accountability.</p>

<h2 id="designing-against-deception">Designing Against Deception</h2>

<p>As agents become increasingly capable, we face a new risk: <strong>Agentic Sludge</strong>. Traditional sludge creates friction that makes it hard to cancel a subscription or delete an account. Agentic sludge acts in reverse. It removes friction to a fault, making it too easy for a user to agree to an action that benefits the business rather than their own interests.</p>

<p>Consider an agent assisting with travel booking. Without clear guardrails, the system might prioritize a partner airline or a higher-margin hotel. It presents this choice as the optimal path. The user, trusting the system’s authority, accepts the recommendation without scrutiny. This creates a deceptive pattern where the system optimizes for revenue under the guise of convenience.</p>

<h3 id="the-risk-of-falsely-imagined-competence">The Risk Of Falsely Imagined Competence</h3>

<p>Deception may not stem from malicious intent. It often manifests in AI as <strong>Imagined Competence</strong>. Large Language Models frequently sound authoritative even when incorrect. They present a false booking confirmation or an inaccurate summary with the same confidence as a verified fact. Users may naturally trust this confident tone. This mismatch creates a dangerous gap between system capability and user expectations.</p>

<p>We must design specifically to bridge this gap. If an agent fails to complete a task, the interface must signal that failure clearly. If the system is unsure, it must express uncertainty rather than masking it with polished prose.</p>

<h3 id="transparency-via-primitives">Transparency via Primitives</h3>

<p>The antidote to both sludge and hallucination is <strong>provenance</strong>. Every autonomous action requires a specific metadata tag explaining the origin of the decision. Users need the ability to inspect the logic chain behind the result.</p>

<p>To achieve this, we must <strong>translate primitives into practical answers</strong>. In software engineering, primitives refer to the core units of information or actions an agent performs. To the engineer, this looks like an API call or a logic gate. To the user, it must appear as a <strong>clear explanation</strong>.</p>

<p>The design challenge lies in mapping these technical steps to human-readable rationales. If an agent recommends a specific flight, the user needs to know why. The interface cannot hide behind a generic suggestion. It must expose the underlying primitive: <em>Logic: Cheapest_Direct_Flight</em> or <em>Logic: Partner_Airline_Priority</em>.</p>

<p>Figure 4 illustrates this translation flow. We take the raw system primitive &mdash; the actual code logic &mdash; and map it to a user-facing string. For instance, a primitive checking a calendar schedule a meeting becomes a clear statement: I’ve proposed a 4 PM meeting.</p>

<p>This level of transparency ensures the agent’s actions appear logical and beneficial. It allows the user to verify that the agent acted in their best interest. By exposing the primitives, we transform a black box into a glass box, ensuring users remain the final authority on their own digital lives.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="437"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg"
			
			sizes="100vw"
			alt="Translation flow"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      <strong>Figure 4</strong>: Translating a primitive to an end explanation is key to explaining the behavior of Agentic AI. (<a href='https://files.smashing.media/articles/beyond-generative-rise-agentic-ai-user-centric-design/4-translation-flow.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<h2 id="setting-the-stage-for-design">Setting The Stage For Design</h2>

<p>Building an agentic system requires a new level of psychological and behavioral understanding. It forces us to move beyond conventional usability testing and into the realm of <strong>trust</strong>, <strong>consent</strong>, and <strong>accountability</strong>. The research methods we’ve discussed, from probing mental models to simulating misbehavior and establishing new metrics, provide a necessary foundation. These practices are the essential tools for proactively identifying where an autonomous system might fail and, more importantly, how to repair the user-agent relationship when it does.</p>

<p>The shift to agentic AI is a <strong>redefinition of the user-system relationship</strong>. We are no longer designing for tools that simply respond to commands; we are designing for partners that act on our behalf. This changes the design imperative from efficiency and ease of use to <strong>transparency</strong>, <strong>predictability</strong>, and <strong>control</strong>.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aWhen%20an%20AI%20can%20book%20a%20flight%20or%20trade%20a%20stock%20without%20a%20final%20click,%20the%20design%20of%20its%20%e2%80%9con-ramps%e2%80%9d%20and%20%e2%80%9coff-ramps%e2%80%9d%20becomes%20paramount.%20It%20is%20our%20responsibility%20to%20ensure%20that%20users%20feel%20they%20are%20in%20the%20driver%e2%80%99s%20seat,%20even%20when%20they%e2%80%99ve%20handed%20over%20the%20wheel.%0a&url=https://smashingmagazine.com%2f2026%2f01%2fbeyond-generative-rise-agentic-ai-user-centric-design%2f">
      
When an AI can book a flight or trade a stock without a final click, the design of its “on-ramps” and “off-ramps” becomes paramount. It is our responsibility to ensure that users feel they are in the driver’s seat, even when they’ve handed over the wheel.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>This new reality also elevates the role of the UX researcher. We become the custodians of user trust, working collaboratively with engineers and product managers to define and test the guardrails of an agent’s autonomy. Beyond being researchers, we become advocates for user control, transparency, and the ethical safeguards within the development process. By translating primitives into practical questions and simulating worst-case scenarios, we can build robust systems that are both powerful and safe.</p>

<p>This article has outlined the “what” and “why” of researching agentic AI. It has shown that our traditional toolkits are insufficient and that we must adopt new, forward-looking methodologies. The next article will build upon this foundation, providing the specific design patterns and organizational practices that make an agent’s utility transparent to users, ensuring they can harness the power of agentic AI with confidence and control. The future of UX is about making systems trustworthy.</p>

<p>For additional understanding of agentic AI, you can explore the following resources:</p>

<ul>
<li><a href="https://www.google.com/search?q=https://ai.googleblog.com/blog/topic/agentic-ai/">Google AI Blog on Agentic AI</a></li>
<li><a href="https://www.microsoft.com/en-us/research/project/agent-ai/">Microsoft’s research on AI Agents</a></li>
</ul>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Daniel Schwarz</author><title>Penpot Is Experimenting With MCP Servers For AI-Powered Design Workflows</title><link>https://www.smashingmagazine.com/2026/01/penpot-experimenting-mcp-servers-ai-powered-design-workflows/</link><pubDate>Thu, 08 Jan 2026 08:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2026/01/penpot-experimenting-mcp-servers-ai-powered-design-workflows/</guid><description>&lt;a href="https://penpot.app/?utm_source=SmashingMagazine&amp;amp;utm_medium=Article&amp;amp;utm_campaign=MCPserver">Penpot&lt;/a> is experimenting with MCP (Model Context Protocol) servers, which could lead to designers and developers being able to perform tasks in Penpot using AI that’s able to understand and interact with Penpot design files. Daniel Schwarz explains how &lt;a href="https://github.com/penpot/penpot-mcp">Penpot MCP&lt;/a> servers work, what they could mean for creating and managing designs in Penpot, and what you can do to help shape their development.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2026/01/penpot-experimenting-mcp-servers-ai-powered-design-workflows/" />
              <title>Penpot Is Experimenting With MCP Servers For AI-Powered Design Workflows</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Penpot Is Experimenting With MCP Servers For AI-Powered Design Workflows</h1>
                  
                    
                    <address>Daniel Schwarz</address>
                  
                  <time datetime="2026-01-08T08:00:00&#43;00:00" class="op-published">2026-01-08T08:00:00+00:00</time>
                  <time datetime="2026-01-08T08:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                <p>This article is sponsored by <b>Penpot</b></p>
                

<p>Imagine that your Penpot file contains a full icon set in addition to the design itself, which uses some but not all of those icons. If you were to ask an AI such as Claude or Gemini to export only the icons that are being used, it wouldn’t be able to do that. It’s not able to interact with Penpot files.</p>

<p>However, a <strong>Penpot MCP server</strong> can. It can perform a handpicked number of operations under set rules and permissions, especially since Penpot has an extensive API and even more so because it’s <strong>open-source</strong>.</p>

<p>The AI’s job is simply to understand your intent, choose the right operation for the MCP server to perform (an export in this case), and pass along any parameters (i.e., icons that are being used). The MCP server then translates this into a structured API request and executes it.</p>

<p>It might help to think of AI as a server in a restaurant that takes your order, the MCP server as both the menu and chef, and the API request as (hopefully) a hot pizza pie on a warm plate.</p>

<p>Why MCP servers, exactly? Well, Penpot isn’t able to understand your intent because it’s not an LLM, nor does it allow third-party LLMs to interact with your Penpot files for the security and privacy of your Penpot data. Although Penpot MCP servers do act as a <strong>secure bridge</strong>, translating AI intent into API requests using your Penpot files and data as context.</p>

<p>What’s even better is that because Penpot takes a <strong>design-expressed-as-code approach</strong>, designs can be programmatically created, edited, and analyzed on a granular level. It’s more contextual, more particular, and therefore more powerful in comparison to what other MCP servers offer, and <em>far</em> more thoughtful than the subpar ‘Describe → Generate’ AI workflow that I don’t think anybody really wants. <a href="https://penpot.app/blog/penpot-ai-whitepaper/">Penpot’s AI whitepaper</a> describes this as the bad approach and the ‘Convert to Code’ approach as the ugly approach, whereas MCP servers are more refined and adaptable.</p>

<h2 id="features-and-technical-details">Features And Technical Details</h2>

<p>Before we move on to use cases, here are some features and technical details that further explain how Penpot MCP servers work:</p>

<ul>
<li>Complies with MCP standards;</li>
<li>Integrates with the Penpot API for real-time design data;</li>
<li>Includes a Python SDK, REST API, plugin system, and CLI tools;</li>
<li>Works with any MCP-enabled AI assistant (Claude in VS Code, Claude in Cursor, Claude Desktop, etc.);</li>
<li>Supports sharing design context with AI models, and letting them see and understand components;</li>
<li>Facilitates communication with Penpot using natural language.</li>
</ul>

<p>What, then, could MCP servers enable us to do in Penpot, and what have existing experiments already achieved? Let’s take a look.</p>

<h2 id="penpot-mcp-server-use-cases">Penpot MCP Server Use-Cases</h2>

<p>If you just want to skip to what Penpot MCP servers can do, Penpot have a few <a href="https://drive.google.com/drive/u/0/folders/1CCuBqHEevWsp15bYkf3W7CLXLja5R_M_">MCP demos</a> stashed in a Google Drive that are more than worth watching. Penpot CEO Pablo Ruiz-Múzquiz mentioned that videos 03, 04, 06, 08, and 12 are their favorites.</p>

<p>An even faster way to summarize MCP servers is to <a href="https://www.youtube.com/watch?v=KNsvFc4Elfs&amp;list=PLgcCPfOv5v57Sp_vY4VggqUpAbP5fTIkM">watch the unveiling from Penpot Fest 2025</a>.</p>


<figure class="video-embed-container">
  <div
  
  class="video-embed-container--wrapper">
		<lite-youtube
			videoid="KNsvFc4Elfs"
      
			
		></lite-youtube>
	</div>
	
</figure>

<p>Otherwise, let’s take a look at some of the more refined examples that Penpot demonstrated in their <a href="https://community.penpot.app/t/penpot-mcp-server-showcase-ask-for-help/10040?utm_source=SmashingMagazine&amp;utm_medium=Article&amp;utm_campaign=MCPserver">public showcase</a>.</p>

<h3 id="design-to-code-and-back-again-and-more">Design-to-Code and Back Again (and More)</h3>

<p>Running on from what I was saying earlier about how Penpot designs are expressed as code, this means that MCP servers can be used to convert design to code using AI, but also code to design, design to documentation, documentation to design system elements, design to code again <em>based</em> on said design system, and then completely new components based on said design system.</p>

<p>It sounds surreal, but the demo below shows off this <strong>transmutability</strong>, and it’s not from vague instruction but rather previous design choices, regardless of how they were expressed (design, code, or documentation). There are no surprises &mdash; these are simply the decisions that you would’ve made anyway based on previous decisions, executed swiftly.</p>

<p>In the demo, Juan de la Cruz García, Designer at Penpot, frictionlessly transmutes some simple components into documentation, design system elements, code, new components, and even a complete Storybook project like a piece of Play-Doh:</p>


<figure class="video-embed-container break-out">
  <div class="video-embed-container--wrapper"
	
  >
    <iframe class="video-embed-container--wrapper-iframe" src="https://player.vimeo.com/video/1152331606"
        frameborder="0"
        allow="autoplay; fullscreen; picture-in-picture"
        allowfullscreen>
    </iframe>
	</div>
	
		<figcaption>Quick demo: Penpot MCP server in action</figcaption>
	
</figure>

<h3 id="design-to-code-design-code-validation-and-simple-operations">Design-to-Code, Design/Code Validation, And Simple Operations</h3>

<p>In a similar demo below, Dominik Jain, Co-Founder at Oraios AI, creates a Node.js web app based on the design before updating the frontend styles, saves names and identifiers to memory to ensure smooth design-to-code translation before checking it for consistency, adds a comment next to the selected shape in Penpot, and then replaces a scribble in Penpot with an adapted component. There’s a lot happening here, but you can see exactly what Dominik is typing into Claude Desktop as well as Claude’s responses, and it’s <em>very</em> robust:</p>


<figure class="video-embed-container break-out">
  <div class="video-embed-container--wrapper"
	
  >
    <iframe class="video-embed-container--wrapper-iframe" src="https://player.vimeo.com/video/1152352889"
        frameborder="0"
        allow="autoplay; fullscreen; picture-in-picture"
        allowfullscreen>
    </iframe>
	</div>
	
		<figcaption>Penpot MCP Server: Developer Workflow. Applications</figcaption>
	
</figure>

<p>By the way, the previous demo used Claude in VS Code, so I should note that <strong>Penpot MCP servers are LLM-agnostic</strong>. Your tech stack is totally up to you. IvanTheGeek managed to <a href="https://community.penpot.app/t/penpot-mcp-server-showcase-ask-for-help/10040/3?utm_source=SmashingMagazine&amp;utm_medium=Article&amp;utm_campaign=MCPserver">set up their MCP server with the JetBrains Rider IDE and Junie AI</a>.</p>

<h3 id="more-use-cases">More Use Cases</h3>

<p>Translate a Penpot board to production-ready semantic HTML and modular CSS while leveraging any Penpot design tokens (remember that Penpot designs are already expressed as code, so this isn’t a shot in the dark):</p>


<figure class="video-embed-container">
  <div
  
  class="video-embed-container--wrapper">
		<lite-youtube
			videoid="yoOOOPPXfc4"
      
			
		></lite-youtube>
	</div>
	
</figure>

<p>Generate an interactive web prototype without changing the existing HTML:</p>


<figure class="video-embed-container">
  <div
  
  class="video-embed-container--wrapper">
		<lite-youtube
			videoid="raha7nvY_j4"
      
			
		></lite-youtube>
	</div>
	
</figure>

<p>As shown earlier, convert a scribble into a component, leveraging existing design and/or design system elements:</p>


<figure class="video-embed-container">
  <div
  
  class="video-embed-container--wrapper">
		<lite-youtube
			videoid="9fudhgOhMDc"
      
			
		></lite-youtube>
	</div>
	
</figure>

<p>Create design system documentation from a Penpot file:</p>


<figure class="video-embed-container">
  <div
  
  class="video-embed-container--wrapper">
		<lite-youtube
			videoid="kNc6kUZvB6k"
      
			
		></lite-youtube>
	</div>
	
</figure>

<p>And here are some more use-cases from Penpot and the community:</p>

<ul>
<li>Advanced exports,</li>
<li>Search for design elements using natural language,</li>
<li>Pull data from external APIs using natural language,</li>
<li>Easily connect Penpot to other external tools,</li>
<li>Saving repetitive tasks to memory and executing them,</li>
<li>Visual regression testing,</li>
<li>Design consistency and redundancy checking,</li>
<li>Accessibility and usability analysis and feedback,</li>
<li>Design system compliance checking,</li>
<li>Guideline compliance checking (brand, content, etc.),</li>
<li>Monitor adoption and usage with design analytics,</li>
<li>Automatically keep documentation in sync with design,</li>
<li>Design file organization (e.g., tagging/categorization).</li>
</ul>

<p>Essentially, Penpot MCP servers lead the way to an <strong>infinite number of workflows</strong> thanks to the efficiency and ease of your chosen LLM/LLM client, but without exposing your data to it.</p>

<h2 id="what-would-you-use-mcp-servers-for">What Would You Use MCP Servers For?</h2>

<p>Penpot MCP servers aren’t even at the beta stage, but it is an <strong>active experiment</strong> that you can be a part of. Penpot users have already begun exploring use cases for MCP servers, but Penpot wants to see more. To ensure that the next generation of design tools meets the needs of designers, developers, and product teams in general, they must be built <strong>collectively</strong> and <strong>collaboratively</strong>, especially where AI is concerned.</p>

<p><strong>Note</strong>: <em>Penpot is looking for beta testers eager to explore, experiment with, and help refine Penpot’s MCP Server. To join, write to <a href="mailto:support@penpot.app">support@penpot.app</a> with the subject line “MCP beta test volunteer.”</em></p>

<p>Is there anything that you feel Penpot MCP servers could do that current tools aren’t able to do well enough, fast enough, or aren’t able to do at all?</p>

<p>You can learn <a href="https://github.com/penpot/penpot-mcp">how to set up a Penpot MCP server right here</a> and start tinkering today, or if your brain’s buzzing with ideas already, Penpot want you to <a href="https://community.penpot.app/t/penpot-mcp-server-showcase-ask-for-help/10040?utm_source=SmashingMagazine&amp;utm_medium=Article&amp;utm_campaign=MCPserver">join the discussion</a>, share your feedback, and talk about your use-cases. Alternatively, the comment section right below isn’t a bad place to start either!</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(gg, yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Paul Boag</author><title>Giving Users A Voice Through Virtual Personas</title><link>https://www.smashingmagazine.com/2025/12/giving-users-voice-virtual-personas/</link><pubDate>Tue, 23 Dec 2025 10:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2025/12/giving-users-voice-virtual-personas/</guid><description>Turn scattered user research into AI-powered personas that give anyone consolidated multi-perspective feedback from a single question.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2025/12/giving-users-voice-virtual-personas/" />
              <title>Giving Users A Voice Through Virtual Personas</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Giving Users A Voice Through Virtual Personas</h1>
                  
                    
                    <address>Paul Boag</address>
                  
                  <time datetime="2025-12-23T10:00:00&#43;00:00" class="op-published">2025-12-23T10:00:00+00:00</time>
                  <time datetime="2025-12-23T10:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>In my <a href="https://www.smashingmagazine.com/2025/09/functional-personas-ai-lean-practical-workflow/">previous article</a>, I explored how AI can help us create functional personas more efficiently. We looked at building personas that focus on what users are trying to accomplish rather than demographic profiles that look good on posters but rarely change design decisions.</p>

<p>But creating personas is only half the battle. The bigger challenge is getting those insights into the hands of people who need them, at the moment they need them.</p>

<p>Every day, people across your organization make decisions that affect user experience. Product teams decide which features to prioritize. Marketing teams craft campaigns. Finance teams design invoicing processes. Customer support teams write response templates. All of these decisions shape how users experience your product or service.</p>

<p>And most of them happen without any input from actual users.</p>

<h2 id="the-problem-with-how-we-share-user-research">The Problem With How We Share User Research</h2>

<p>You do the research. You create the personas. You write the reports. You give the presentations. You even make fancy infographics. And then what happens?</p>

<p>The research sits in a shared drive somewhere, slowly gathering digital dust. The personas get referenced in kickoff meetings and then forgotten. The reports get skimmed once and never opened again.</p>

<p>When a product manager is deciding whether to add a new feature, they probably do not dig through last year’s research repository. When the finance team is redesigning the invoice email, they almost certainly do not consult the user personas. They make their best guess and move on.</p>

<p>This is not a criticism of those teams. They are busy. They have deadlines. And honestly, even if they wanted to consult the research, they probably would not know where to find it or how to interpret it for their specific question.</p>

<p>The knowledge stays locked inside the heads of the UX team, who cannot possibly be present for every decision being made across the organization.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="what-if-users-could-actually-speak">What If Users Could Actually Speak?</h2>

<blockquote>What if, instead of creating static documents that people need to find and interpret, we could give stakeholders a way to consult all of your user personas at once?</blockquote>

<p>Imagine a marketing manager working on a new campaign. Instead of trying to remember what the personas said about messaging preferences, they could simply ask: <em>“I’m thinking about leading with a discount offer in this email. What would our users think?”</em></p>

<p>And the AI, drawing on all your research data and personas, could respond with a consolidated view: how each persona would likely react, where they agree, where they differ, and a set of recommendations based on their collective perspectives. One question, synthesized insight across your entire user base.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/giving-users-voice-virtual-personas/1-user-research-personas.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="496"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/giving-users-voice-virtual-personas/1-user-research-personas.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/giving-users-voice-virtual-personas/1-user-research-personas.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/giving-users-voice-virtual-personas/1-user-research-personas.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/giving-users-voice-virtual-personas/1-user-research-personas.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/giving-users-voice-virtual-personas/1-user-research-personas.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/giving-users-voice-virtual-personas/1-user-research-personas.png"
			
			sizes="100vw"
			alt="Personas"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      You can question how personas will react to different scenarios based on the research available. (<a href='https://files.smashing.media/articles/giving-users-voice-virtual-personas/1-user-research-personas.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>This is not science fiction. With AI, we can build exactly this kind of system. We can take all of that scattered research (the surveys, the interviews, the support tickets, the analytics, the personas themselves) and turn it into an <strong>interactive resource</strong> that anyone can query for multi-perspective feedback.</p>

<h2 id="building-the-user-research-repository">Building the User Research Repository</h2>

<p>The foundation of this approach is a centralized repository of everything you know about your users. Think of it as a single source of truth that AI can access and draw from.</p>

<p>If you have been doing user research for any length of time, you probably have more data than you realize. It is just scattered across different tools and formats:</p>

<ul>
<li>Survey results sitting in your survey platform,</li>
<li>Interview transcripts in Google Docs,</li>
<li>Customer support tickets in your helpdesk system,</li>
<li>Analytics data in various dashboards,</li>
<li>Social media mentions and reviews,</li>
<li>Old personas from previous projects,</li>
<li>Usability test recordings and notes.</li>
</ul>

<p>The first step is gathering all of this into one place. It does not need to be perfectly organized. AI is remarkably good at making sense of messy inputs.</p>

<p>If you are starting from scratch and do not have much existing research, you can use AI deep research tools to establish a baseline.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/giving-users-voice-virtual-personas/2-user-research-perplexity.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="599"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/giving-users-voice-virtual-personas/2-user-research-perplexity.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/giving-users-voice-virtual-personas/2-user-research-perplexity.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/giving-users-voice-virtual-personas/2-user-research-perplexity.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/giving-users-voice-virtual-personas/2-user-research-perplexity.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/giving-users-voice-virtual-personas/2-user-research-perplexity.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/giving-users-voice-virtual-personas/2-user-research-perplexity.png"
			
			sizes="100vw"
			alt="Research with perplexity"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Online deep research with a tool like perplexity can be invaluable as a starting point for user research. (<a href='https://files.smashing.media/articles/giving-users-voice-virtual-personas/2-user-research-perplexity.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>These tools can scan the web for discussions about your product category, competitor reviews, and common questions people ask. This gives you something to work with while you build out your primary research.</p>

<h2 id="creating-interactive-personas">Creating Interactive Personas</h2>

<p>Once you have your repository, the next step is creating personas that the AI can consult on behalf of stakeholders. This builds directly on <a href="https://www.smashingmagazine.com/2025/09/functional-personas-ai-lean-practical-workflow/">the functional persona approach I outlined in my previous article</a>, with one key difference: these personas become <strong>lenses</strong> through which the AI analyzes questions, not just reference documents.</p>

<p>The process works like this:</p>

<ol>
<li>Feed your research repository to an AI tool.</li>
<li>Ask it to identify distinct user segments based on goals, tasks, and friction points.</li>
<li>Have it generate detailed personas for each segment.</li>
<li>Configure the AI to consult all personas when stakeholders ask questions, providing consolidated feedback.</li>
</ol>

<p>Here is where this approach diverges significantly from traditional personas. Because the AI is the primary consumer of these persona documents, they do not need to be scannable or fit on a single page. Traditional personas are constrained by human readability: you have to distill everything down to bullet points and key quotes that someone can absorb at a glance. But AI has no such limitation.</p>

<p>This means your personas can be considerably <strong>more detailed</strong>. You can include lengthy behavioral observations, contradictory data points, and nuanced context that would never survive the editing process for a traditional persona poster. The AI can hold all of this complexity and draw on it when answering questions.</p>

<p>You can also create <strong>different lenses or perspectives within each persona</strong>, tailored to specific business functions. Your “Weekend Warrior” persona might have a marketing lens (messaging preferences, channel habits, campaign responses), a product lens (feature priorities, usability patterns, upgrade triggers), and a support lens (common questions, frustration points, resolution preferences). When a marketing manager asks a question, the AI draws on the marketing-relevant information. When a product manager asks, it pulls from the product lens. Same persona, different depth depending on who is asking.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/giving-users-voice-virtual-personas/3-persona-lenses.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="568"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/giving-users-voice-virtual-personas/3-persona-lenses.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/giving-users-voice-virtual-personas/3-persona-lenses.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/giving-users-voice-virtual-personas/3-persona-lenses.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/giving-users-voice-virtual-personas/3-persona-lenses.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/giving-users-voice-virtual-personas/3-persona-lenses.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/giving-users-voice-virtual-personas/3-persona-lenses.png"
			
			sizes="100vw"
			alt="Persona Lenses"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Personas can have different lenses relevant to different functions within the business. (<a href='https://files.smashing.media/articles/giving-users-voice-virtual-personas/3-persona-lenses.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>The personas should still include all the functional elements we discussed before: goals and tasks, questions and objections, pain points, touchpoints, and service gaps. But now these elements become the basis for how the AI evaluates questions from each persona’s perspective, synthesizing their views into actionable recommendations.</p>

<div class="partners__lead-place"></div>

<h2 id="implementation-options">Implementation Options</h2>

<p>You can set this up with varying levels of sophistication depending on your resources and needs.</p>

<h3 id="the-simple-approach">The Simple Approach</h3>

<p>Most AI platforms now offer project or workspace features that let you upload reference documents. In ChatGPT, these are called Projects. Claude has a similar feature. Copilot and Gemini call them Spaces or Gems.</p>

<p>To get started, create a dedicated project and upload your key research documents and personas. Then write clear instructions telling the AI to consult all personas when responding to questions. Something like:</p>

<blockquote>You are helping stakeholders understand our users. When asked questions, consult all of the user personas in this project and provide: (1) a brief summary of how each persona would likely respond, (2) an overview highlighting where they agree and where they differ, and (3) recommendations based on their collective perspectives. Draw on all the research documents to inform your analysis. If the research does not fully cover a topic, search social platforms like Reddit, Twitter, and relevant forums to see how people matching these personas discuss similar issues. If you are still unsure about something, say so honestly and suggest what additional research might help.</blockquote>

<p>This approach has some limitations. There are caps on how many files you can upload, so you might need to prioritize your most important research or consolidate your personas into a single comprehensive document.</p>

<h3 id="the-more-sophisticated-approach">The More Sophisticated Approach</h3>

<p>For larger organizations or more ongoing use, a tool like <a href="https://www.notion.com/">Notion</a> offers advantages because it can hold your entire <strong>research repository</strong> and has AI capabilities built in. You can create databases for different types of research, link them together, and then use the AI to query across everything.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/giving-users-voice-virtual-personas/4-notion-user-research.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="599"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/giving-users-voice-virtual-personas/4-notion-user-research.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/giving-users-voice-virtual-personas/4-notion-user-research.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/giving-users-voice-virtual-personas/4-notion-user-research.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/giving-users-voice-virtual-personas/4-notion-user-research.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/giving-users-voice-virtual-personas/4-notion-user-research.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/giving-users-voice-virtual-personas/4-notion-user-research.png"
			
			sizes="100vw"
			alt="Notion homepage"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Notion is a powerful tool for user research with built-in AI functionality that can refer to all your personas as well as your entire research repository. (<a href='https://files.smashing.media/articles/giving-users-voice-virtual-personas/4-notion-user-research.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>The benefit here is that the AI has access to much <strong>more context</strong>. When a stakeholder asks a question, it can draw on surveys, support tickets, interview transcripts, and analytics data all at once. This makes for richer, more nuanced responses.</p>

<h2 id="what-this-does-not-replace">What This Does Not Replace</h2>

<p>I should be clear about the limitations.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aVirtual%20personas%20are%20not%20a%20substitute%20for%20talking%20to%20real%20users.%20They%20are%20a%20way%20to%20make%20existing%20research%20more%20accessible%20and%20actionable.%0a&url=https://smashingmagazine.com%2f2025%2f12%2fgiving-users-voice-virtual-personas%2f">
      
Virtual personas are not a substitute for talking to real users. They are a way to make existing research more accessible and actionable.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>There are several scenarios where you still need primary research:</p>

<ul>
<li>When launching something genuinely new that your existing research does not cover;</li>
<li>When you need to validate specific designs or prototypes;</li>
<li>When your repository data is getting stale;</li>
<li>When stakeholders need to hear directly from real humans to build empathy.</li>
</ul>

<p>In fact, you can configure the AI to recognize these situations. When someone asks a question that goes beyond what the research can answer, the AI can respond with something like: <em>“I do not have enough information to answer that confidently. This might be a good question for a quick user interview or survey.”</em></p>

<p>And when you do conduct new research, that data feeds back into the repository. The personas evolve over time as your understanding deepens. This is much better than the traditional approach, where personas get created once and then slowly drift out of date.</p>

<div class="partners__lead-place"></div>

<h2 id="the-organizational-shift">The Organizational Shift</h2>

<p>If this approach catches on in your organization, something interesting happens.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aThe%20UX%20team%e2%80%99s%20role%20shifts%20from%20being%20the%20gatekeepers%20of%20user%20knowledge%20to%20being%20the%20curators%20and%20maintainers%20of%20the%20repository.%0a&url=https://smashingmagazine.com%2f2025%2f12%2fgiving-users-voice-virtual-personas%2f">
      
The UX team’s role shifts from being the gatekeepers of user knowledge to being the curators and maintainers of the repository.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>Instead of spending time creating reports that may or may not get read, you spend time ensuring the repository stays current and that the AI is configured to give helpful responses.</p>

<p>Research communication changes from push (presentations, reports, emails) to pull (stakeholders asking questions when they need answers). <strong>User-centered thinking</strong> becomes distributed across the organization rather than concentrated in one team.</p>

<p>This does not make UX researchers less valuable. If anything, it makes them more valuable because their work now has a wider reach and greater impact. But it does change the nature of the work.</p>

<h2 id="getting-started">Getting Started</h2>

<p>If you want to try this approach, start small. If you need a primer on functional personas before diving in, I have written a <a href="https://boagworld.com/usability/personas/">detailed guide to creating them</a>. Pick one project or team and set up a simple implementation using ChatGPT Projects or a similar tool. Gather whatever research you have (even if it feels incomplete), create one or two personas, and see how stakeholders respond.</p>

<p>Pay attention to what questions they ask. These will tell you where your research has gaps and what additional data would be most valuable.</p>

<p>As you refine the approach, you can expand to more teams and more sophisticated tooling. But the core principle stays the same: <strong>take all that scattered user knowledge and give it a voice that anyone in your organization can hear.</strong></p>

<p>In my previous article, I argued that we should move from demographic personas to functional personas that focus on what users are trying to do. Now I am suggesting we take the next step: from static personas to interactive ones that can actually participate in the conversations where decisions get made.</p>

<p>Because every day, across your organization, people are making decisions that affect your users. And your users deserve a seat at the table, even if it is a virtual one.</p>

<h3 id="further-reading-on-smashingmag">Further Reading On SmashingMag</h3>

<ul>
<li>“<a href="https://www.smashingmagazine.com/2014/08/a-closer-look-at-personas-part-1/">A Closer Look At Personas: What They Are And How They Work | 1</a>”, Shlomo Goltz</li>
<li>“<a href="https://www.smashingmagazine.com/2018/04/design-process-data-based-personas/">How To Improve Your Design Process With Data-Based Personas</a>”, Tim Noetzel</li>
<li>“<a href="https://www.smashingmagazine.com/2025/10/how-make-ux-research-hard-to-ignore/">How To Make Your UX Research Hard To Ignore</a>”, Vitaly Friedman</li>
<li>“<a href="https://www.smashingmagazine.com/2023/01/build-strong-customer-relationships-user-research/">How To Build Strong Customer Relationships For User Research</a>”, Renaissance Rachel</li>
</ul>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Paul Boag</author><title>How UX Professionals Can Lead AI Strategy</title><link>https://www.smashingmagazine.com/2025/12/how-ux-professionals-can-lead-ai-strategy/</link><pubDate>Mon, 08 Dec 2025 08:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2025/12/how-ux-professionals-can-lead-ai-strategy/</guid><description>Lead your organization’s AI strategy before someone else defines it for you. A practical framework for UX professionals to shape AI implementation.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2025/12/how-ux-professionals-can-lead-ai-strategy/" />
              <title>How UX Professionals Can Lead AI Strategy</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>How UX Professionals Can Lead AI Strategy</h1>
                  
                    
                    <address>Paul Boag</address>
                  
                  <time datetime="2025-12-08T08:00:00&#43;00:00" class="op-published">2025-12-08T08:00:00+00:00</time>
                  <time datetime="2025-12-08T08:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>Your senior management is excited about AI. They’ve read the articles, attended the webinars, and seen the demos. They’re convinced that AI will transform your organization, boost productivity, and give you a competitive edge.</p>

<p>Meanwhile, you’re sitting in your UX role wondering what this means for your team, your workflow, and your users. You might even be worried about your job security.</p>

<p>The problem is that the conversation about how AI gets implemented is happening right now, and if you’re not part of it, <strong>someone else will decide how it affects your work</strong>. That someone probably doesn’t understand user experience, research practices, or the subtle ways poor implementation can damage the very outcomes management hopes to achieve.</p>

<p>You have a choice. You can wait for directives to come down from above, or you can take control of the conversation and lead the AI strategy for your practice.</p>

<h2 id="why-ux-professionals-must-own-the-ai-conversation">Why UX Professionals Must Own the AI Conversation</h2>

<p>Management sees AI as efficiency gains, cost savings, competitive advantage, and innovation all wrapped up in one buzzword-friendly package. They’re not wrong to be excited. The technology is genuinely impressive and can deliver real value.</p>

<p><strong>But without UX input, AI implementations often fail users in predictable ways:</strong></p>

<ul>
<li>They automate tasks without understanding the judgment calls those tasks require.</li>
<li>They optimize for speed while destroying the quality that made your work valuable.</li>
</ul>

<p>Your expertise positions you perfectly to guide implementation. You understand users, workflows, quality standards, and the gap between what looks impressive in a demo and what actually works in practice.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h3 id="use-ai-momentum-to-advance-your-priorities">Use AI Momentum to Advance Your Priorities</h3>

<p>Management’s enthusiasm for AI creates an opportunity to advance priorities you’ve been fighting for unsuccessfully. When management is willing to invest in AI, you can connect those long-standing needs to the AI initiative. Position user research as essential for training AI systems on real user needs. Frame usability testing as the validation method that ensures AI-generated solutions actually work.</p>

<p>How AI gets implemented will shape your team’s roles, your users’ experiences, and your organization’s capability to deliver quality digital products.</p>

<h2 id="your-role-isn-t-disappearing-it-s-evolving">Your Role Isn’t Disappearing (It’s Evolving)</h2>

<p>Yes, AI will automate some of the tasks you currently do. But someone needs to decide which tasks get automated, how they get automated, what guardrails to put in place, and how automated processes fit around real humans doing complex work.</p>

<p>That someone should be <em>you</em>.</p>

<p>Think about what you already do. When you conduct user research, AI might help you transcribe interviews or identify themes. But you’re the one who knows which participant hesitated before answering, which feedback contradicts what you observed in their behavior, and which insights matter most for your specific product and users.</p>

<p>When you design interfaces, AI might generate layout variations or suggest components from your design system. But you’re the one who understands the constraints of your technical platform, the political realities of getting designs approved, and the edge cases that will break a clever solution.</p>

<p><strong>Your future value comes from the work you’re already doing:</strong></p>

<ul>
<li><strong>Seeing the full picture.</strong><br />
You understand how this feature connects to that workflow, how this user segment differs from that one, and why the technically correct solution won’t work in your organization’s reality.</li>
<li><strong>Making judgment calls.</strong><br />
You decide when to follow the design system and when to break it, when user feedback reflects a real problem versus a feature request from one vocal user, and when to push back on stakeholders versus find a compromise.</li>
<li><strong>Connecting the dots.</strong><br />
You translate between technical constraints and user needs, between business goals and design principles, between what stakeholders ask for and what will actually solve their problem.</li>
</ul>

<p>AI will keep getting better at individual tasks. But you’re the person who decides which solution actually works for your specific context. The people who will struggle are those doing simple, repeatable work without understanding why. Your value is in understanding context, making judgment calls, and connecting solutions to real problems.</p>

<h2 id="step-1-understand-management-s-ai-motivations">Step 1: Understand Management’s AI Motivations</h2>

<p>Before you can lead the conversation, you need to understand what’s driving it. Management is responding to real pressures: cost reduction, competitive pressure, productivity gains, and board expectations.</p>

<p><strong>Speak their language.</strong><br />
When you talk to management about AI, frame everything in terms of ROI, risk mitigation, and competitive advantage. <em>“This approach will protect our quality standards”</em> is less compelling than <em>“This approach reduces the risk of damaging our conversion rate while we test AI capabilities.”</em></p>

<p><strong>Separate hype from reality.</strong><br />
Take time to research what AI capabilities actually exist versus what’s hype. Read case studies, try tools yourself, and talk to peers about what’s actually working.</p>

<p><strong>Identify real pain points.</strong><br />
AI might legitimately address in your organization. Maybe your team spends hours formatting research findings, or accessibility testing creates bottlenecks. These are the problems worth solving.</p>

<div class="partners__lead-place"></div>

<h2 id="step-2-audit-your-current-state-and-opportunities">Step 2: Audit Your Current State and Opportunities</h2>

<p>Map your team’s work. Where does time actually go? Look at the past quarter and categorize how your team spent their hours.</p>

<p><strong>Identify high-volume, repeatable tasks versus high-judgment work.</strong><br />
Repeatable tasks are candidates for automation. High-judgment work is where you add irreplaceable value.</p>

<p><strong>Also, identify what you’ve wanted to do but couldn’t get approved.</strong><br />
This is your opportunity list. Maybe you’ve wanted quarterly usability tests, but only get budget annually. Write these down separately. You’ll connect them to your AI strategy in the next step.</p>

<p>Spot opportunities where AI could genuinely help:</p>

<ul>
<li><strong>Research synthesis:</strong><br />
AI can help organize and categorize findings.</li>
<li><strong>Analyzing user behavior data:</strong><br />
AI can process analytics and session recordings to surface patterns you might miss.</li>
<li><strong>Rapid prototyping:</strong><br />
AI can quickly generate testable prototypes, speeding up your test cycles.</li>
</ul>

<h2 id="step-3-define-ai-principles-for-your-ux-practice">Step 3: Define AI Principles for Your UX Practice</h2>

<p>Before you start forming your strategy, establish principles that will guide every decision.</p>

<p><strong>Set non-negotiables.</strong><br />
User privacy, accessibility, and human oversight of significant decisions. Write these down and get agreement from leadership before you pilot anything.</p>

<p><strong>Define criteria for AI use.</strong><br />
AI is good at pattern recognition, summarization, and generating variations. AI is poor at understanding context, making ethical judgments, and knowing when rules should be broken.</p>

<p><strong>Define success metrics beyond efficiency.</strong><br />
Yes, you want to save time. But you also need to measure quality, user satisfaction, and team capability. Build a balanced scorecard that captures what actually matters.</p>

<p><strong>Create guardrails.</strong><br />
Maybe every AI-generated interface needs human review before it ships. These guardrails prevent the obvious disasters and give you space to learn safely.</p>

<h2 id="step-4-build-your-ai-in-ux-strategy">Step 4: Build Your AI-in-UX Strategy</h2>

<p>Now you’re ready to build the actual strategy you’ll pitch to leadership. <strong>Start small</strong> with pilot projects that have a clear scope and evaluation criteria.</p>

<p><strong>Connect to business outcomes management cares about.</strong><br />
Don’t pitch <em>“using AI for research synthesis.”</em> Pitch <em>“reducing time from research to insights by 40%, enabling faster product decisions.”</em></p>

<p><strong>Piggyback your existing priorities on AI momentum.</strong><br />
Remember that opportunity list from Step 2? Now you connect those long-standing needs to your AI strategy. If you’ve wanted more frequent usability testing, explain that AI implementations need continuous validation to catch problems before they scale. AI implementations genuinely benefit from good research practices. You’re simply using management’s enthusiasm for AI as the vehicle to finally get resources for practices that should have been funded all along.</p>

<p><strong>Define roles clearly.</strong><br />
Where do humans lead? Where does AI assist? Where won’t you automate? Management needs to understand that some work requires human judgment and should never be fully automated.</p>

<p><strong>Plan for capability building.</strong><br />
Your team will need training and new skills. Budget time and resources for this.</p>

<p><strong>Address risks honestly.</strong><br />
AI could generate biased recommendations, miss important context, or produce work that looks good but doesn’t actually function. For each risk, explain how you’ll detect it and what you’ll do to mitigate it.</p>

<h2 id="step-5-pitch-the-strategy-to-leadership">Step 5: Pitch the Strategy to Leadership</h2>

<p>Frame your strategy as de-risking management’s AI ambitions, not blocking them. You’re showing them how to implement AI successfully while avoiding the obvious pitfalls.</p>

<p><strong>Lead with outcomes and ROI they care about.</strong><br />
Put the business case up front.</p>

<p><strong>Bundle your wish list into the AI strategy.</strong><br />
When you present your strategy, include those capabilities you’ve wanted but couldn’t get approved before. Don’t present them as separate requests. Integrate them as essential components. <em>“To validate AI-generated designs, we’ll need to increase our testing frequency from annual to quarterly”</em> sounds much more reasonable than <em>“Can we please do more testing?”</em> You’re explaining what’s required for their AI investment to succeed.</p>

<p><strong>Show quick wins alongside a longer-term vision.</strong><br />
Identify one or two pilots that can show value within 30-60 days. Then show them how those pilots build toward bigger changes over the next year.</p>

<p><strong>Ask for what you need.</strong><br />
Be specific. You need a budget for tools, time for pilots, access to data, and support for team training.</p>

<div class="partners__lead-place"></div>

<h2 id="step-6-implement-and-demonstrate-value">Step 6: Implement and Demonstrate Value</h2>

<p>Run your pilots with clear before-and-after metrics. Measure everything: time saved, quality maintained, user satisfaction, team confidence.</p>

<p><strong>Document wins and learning.</strong><br />
Failures are useful too. If a pilot doesn’t work out, document why and what you learned.</p>

<p><strong>Share progress in management’s language.</strong>
 Monthly updates should focus on business outcomes, not technical details. <em>“We’ve reduced research synthesis time by 35% while maintaining quality scores”</em> is the right level of detail.</p>

<p><strong>Build internal advocates by solving real problems.</strong><br />
When your AI pilots make someone’s job easier, you create advocates who will support broader adoption.</p>

<p><strong>Iterate based on what works in your specific context.</strong>
 Not every AI application will fit your organization. Pay attention to what’s actually working and double down on that.</p>

<h2 id="taking-initiative-beats-waiting">Taking Initiative Beats Waiting</h2>

<p>AI adoption is happening. The question isn’t whether your organization will use AI, but whether you’ll shape how it gets implemented.</p>

<p>Your UX expertise is exactly what’s needed to implement AI successfully. You understand users, quality, and the gap between impressive demos and useful reality.</p>

<p><strong>Take one practical first step this week.</strong><br />
Schedule 30 minutes to map one AI opportunity in your practice. Pick one area where AI might help, think through how you’d pilot it safely, and sketch out what success would look like.</p>

<p>Then start the conversation with your manager. You might be surprised how receptive they are to someone stepping up to lead this.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aYou%20know%20how%20to%20understand%20user%20needs,%20test%20solutions,%20measure%20outcomes,%20and%20iterate%20based%20on%20evidence.%20Those%20skills%20don%e2%80%99t%20change%20just%20because%20AI%20is%20involved.%20You%e2%80%99re%20applying%20your%20existing%20expertise%20to%20a%20new%20tool.%0a&url=https://smashingmagazine.com%2f2025%2f12%2fhow-ux-professionals-can-lead-ai-strategy%2f">
      
You know how to understand user needs, test solutions, measure outcomes, and iterate based on evidence. Those skills don’t change just because AI is involved. You’re applying your existing expertise to a new tool.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>Your role isn’t disappearing. It’s evolving into something more strategic, more valuable, and more secure. But only if you take the initiative to shape that evolution yourself.</p>

<h3 id="further-reading-on-smashingmag">Further Reading On SmashingMag</h3>

<ul>
<li>“<a href="https://www.smashingmagazine.com/2025/08/designing-with-ai-practical-techniques-product-design/">Designing With AI, Not Around It: Practical Advanced Techniques For Product Design Use Cases</a>”, Ilia Kanazin &amp; Marina Chernyshova</li>
<li>“<a href="https://www.smashingmagazine.com/2025/08/beyond-hype-what-ai-can-do-product-design/">Beyond The Hype: What AI Can Really Do For Product Design</a>”, Nikita Samutin</li>
<li>“<a href="https://www.smashingmagazine.com/2025/08/week-in-life-ai-augmented-designer/">A Week In The Life Of An AI-Augmented Designer</a>”, Lyndon Cerejo</li>
<li>“<a href="https://www.smashingmagazine.com/2025/09/functional-personas-ai-lean-practical-workflow/">Functional Personas With AI: A Lean, Practical Workflow</a>”, Paul Boag</li>
</ul>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk, il)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Victor Yocco</author><title>Beyond The Black Box: Practical XAI For UX Practitioners</title><link>https://www.smashingmagazine.com/2025/12/beyond-black-box-practical-xai-ux-practitioners/</link><pubDate>Fri, 05 Dec 2025 15:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2025/12/beyond-black-box-practical-xai-ux-practitioners/</guid><description>Explainable AI isn’t just a challenge for data scientists. It’s also a design challenge and a core pillar of trustworthy, effective AI products. Victor Yocco offers practical guidance and design patterns for building explainability into real products.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2025/12/beyond-black-box-practical-xai-ux-practitioners/" />
              <title>Beyond The Black Box: Practical XAI For UX Practitioners</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Beyond The Black Box: Practical XAI For UX Practitioners</h1>
                  
                    
                    <address>Victor Yocco</address>
                  
                  <time datetime="2025-12-05T15:00:00&#43;00:00" class="op-published">2025-12-05T15:00:00+00:00</time>
                  <time datetime="2025-12-05T15:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>In my <a href="https://www.smashingmagazine.com/2025/09/psychology-trust-ai-guide-measuring-designing-user-confidence/">last piece</a>, we established a foundational truth: for users to adopt and rely on AI, they must <strong>trust</strong> it. We talked about trust being a multifaceted construct, built on perceptions of an AI’s <strong>Ability</strong>, <strong>Benevolence</strong>, <strong>Integrity</strong>, and <strong>Predictability</strong>. But what happens when an AI, in its silent, algorithmic wisdom, makes a decision that leaves a user confused, frustrated, or even hurt? A mortgage application is denied, a favorite song is suddenly absent from a playlist, and a qualified resume is rejected before a human ever sees it. In these moments, ability and predictability are shattered, and benevolence feels a world away.</p>

<p>Our conversation now  must evolve from the <em>why</em> of trust to the <em>how</em> of transparency. The field of <strong>Explainable AI (XAI)</strong>, which focuses on developing methods to make AI outputs understandable to humans, has emerged to address this, but it’s often framed as a purely technical challenge for data scientists. I argue it’s a critical design challenge for products relying on AI. It’s our job as UX professionals to bridge the gap between algorithmic decision-making and human understanding.</p>

<p>This article provides practical, actionable guidance on how to research and design for explainability. We’ll move beyond the buzzwords and into the mockups, translating complex XAI concepts into concrete design patterns you can start using today.</p>

<h2 id="de-mystifying-xai-core-concepts-for-ux-practitioners">De-mystifying XAI: Core Concepts For UX Practitioners</h2>

<p>XAI is about answering the user’s question: “<strong>Why?</strong>” Why was I shown this ad? Why is this movie recommended to me? Why was my request denied? Think of it as the AI showing its work on a math problem. Without it, you just have an answer, and you’re forced to take it on faith. In showing the steps, you build comprehension and trust. You also allow for your work to be double-checked and verified by the very humans it impacts.</p>

<h3 id="feature-importance-and-counterfactuals">Feature Importance And Counterfactuals</h3>

<p>There are a number of techniques we can use to clarify or explain what is happening with AI. While methods range from providing the entire logic of a decision tree to generating natural language summaries of an output, two of the most practical and impactful types of information UX practitioners can introduce into an experience are <strong>feature importance</strong> (Figure 1) and <strong>counterfactuals</strong>. These are often the most straightforward for users to understand and the most actionable for designers to implement.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/1-example-feature-importance.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="478"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/1-example-feature-importance.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/1-example-feature-importance.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/1-example-feature-importance.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/1-example-feature-importance.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/1-example-feature-importance.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/1-example-feature-importance.png"
			
			sizes="100vw"
			alt="A fictional example of feature importance"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Figure 1: A fictional example of feature importance where a bank system shows the importance of various features that lead to a model’s decision. Image generated using Google Gemini. (<a href='https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/1-example-feature-importance.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h4 id="feature-importance">Feature Importance</h4>

<p>This explainability method answers, “<strong>What were the most important factors the AI considered?</strong>” It’s about identifying the top 2-3 variables that had the biggest impact on the outcome. It’s the headline, not the whole story.</p>

<blockquote><strong>Example</strong>: Imagine an AI that predicts whether a customer will churn (cancel their service). Feature importance might reveal that “number of support calls in the last month” and “recent price increases” were the two most important factors in determining if a customer was likely to churn.</blockquote>

<h4 id="counterfactuals">Counterfactuals</h4>

<p>This powerful method answers, “<strong>What would I need to change to get a different outcome?</strong>” This is crucial because it gives users a sense of agency. It transforms a frustrating “no” into an actionable “not yet.”</p>

<blockquote><strong>Example</strong>: Imagine a loan application system that uses AI. A user is denied a loan. Instead of just seeing “Application Denied,” a counterfactual explanation would also share, “If your credit score were 50 points higher, or if your debt-to-income ratio were 10% lower, your loan would have been approved.” This gives Sarah clear, actionable steps she can take to potentially get a loan in the future.</blockquote>

<h3 id="using-model-data-to-enhance-the-explanation">Using Model Data To Enhance The Explanation</h3>

<p>Although technical specifics are often handled by data scientists, it&rsquo;s helpful for UX practitioners to know that tools like <a href="https://www.geeksforgeeks.org/artificial-intelligence/introduction-to-explainable-aixai-using-lime/">LIME</a> (Local Interpretable Model-agnostic Explanations) which explains individual predictions by approximating the model locally, and <a href="https://shap.readthedocs.io/en/latest/example_notebooks/overviews/An%20introduction%20to%20explainable%20AI%20with%20Shapley%20values.html">SHAP</a> (SHapley Additive exPlanations) which uses a game theory approach to explain the output of any machine learning model are commonly used to extract these “why” insights from complex models. These libraries essentially help break down an AI’s decision to show which inputs were most influential for a given outcome.</p>

<p>When done properly, the data underlying an AI tool’s decision can be used to tell a powerful story. Let’s walk through feature importance and counterfactuals and show how the data science behind the decision can be utilized to enhance the user’s experience.</p>

<p>Now let’s cover feature importance with the assistance of <strong>Local Explanations (e.g., LIME)</strong> data: This approach answers, “<strong>Why did the AI make <em>this specific</em> recommendation for me, right now?</strong>” Instead of a general explanation of how the model works, it provides a focused reason for a single, specific instance. It’s personal and contextual.</p>

<blockquote><strong>Example</strong>: Imagine an AI-powered music recommendation system like Spotify. A local explanation would answer, “Why did the system recommend <strong>this specific</strong> song by Adele to <strong>you</strong> right now?” The explanation might be: “Because you recently listened to several other emotional ballads and songs by female vocalists.”</blockquote>

<p>Finally, let’s cover the inclusion of <strong>Value-based Explanations (e.g. Shapley Additive Explanations (SHAP)</strong> data to an explanation of a decision: This is a more nuanced version of feature importance that answers, “<strong>How did each factor push the decision one way or the other?</strong>” It helps visualize <em>what</em> mattered, and whether its influence was positive or negative.</p>

<blockquote><strong>Example</strong>: Imagine a bank uses an AI model to decide whether to approve a loan application.</blockquote>

<p><strong>Feature Importance</strong>: The model output might show that the applicant’s credit score, income, and debt-to-income ratio were the most important factors in its decision. This answers <em>what</em> mattered.</p>

<p><strong>Feature Importance with Value-Based Explanations (SHAP)</strong>: SHAP values would take feature importance further based on elements of the model.</p>

<ul>
<li>For an approved loan, SHAP might show that a high credit score significantly <em>pushed</em> the decision towards approval (positive influence), while a slightly higher-than-average debt-to-income ratio <em>pulled</em> it slightly away (negative influence), but not enough to deny the loan.</li>
<li>For a denied loan, SHAP could reveal that a low income and a high number of recent credit inquiries <em>strongly pushed</em> the decision towards denial, even if the credit score was decent.</li>
</ul>

<p>This helps the loan officer explain to the applicant beyond <em>what</em> was considered, to <em>how each factor contributed</em> to the final “yes” or “no” decision.</p>

<p>It’s crucial to recognize that the ability to provide good explanations often starts much earlier in the development cycle. Data scientists and engineers play a pivotal role by intentionally structuring models and data pipelines in ways that inherently support explainability, rather than trying to bolt it on as an afterthought.</p>

<p>Research and design teams can foster this by initiating early conversations with data scientists and engineers about user needs for understanding, contributing to the development of explainability metrics, and collaboratively prototyping explanations to ensure they are both accurate and user-friendly.</p>

<h2 id="xai-and-ethical-ai-unpacking-bias-and-responsibility">XAI And Ethical AI: Unpacking Bias And Responsibility</h2>

<p>Beyond building trust, XAI plays a critical role in addressing the profound <strong>ethical implications of AI</strong>*, particularly concerning algorithmic bias. Explainability techniques, such as analyzing SHAP values, can reveal if a model’s decisions are disproportionately influenced by sensitive attributes like race, gender, or socioeconomic status, even if these factors were not explicitly used as direct inputs.</p>

<p>For instance, if a loan approval model consistently assigns negative SHAP values to applicants from a certain demographic, it signals a potential bias that needs investigation, empowering teams to surface and mitigate such unfair outcomes.</p>

<p>The power of XAI also comes with the potential for “<strong>explainability washing</strong>.” Just as “greenwashing” misleads consumers about environmental practices, explainability washing can occur when explanations are designed to obscure, rather than illuminate, problematic algorithmic behavior or inherent biases. This could manifest as overly simplistic explanations that omit critical influencing factors, or explanations that strategically frame results to appear more neutral or fair than they truly are. It underscores the ethical responsibility of UX practitioners to design explanations that are genuinely transparent and verifiable.</p>

<p>UX professionals, in collaboration with data scientists and ethicists, hold a crucial responsibility in communicating the <em>why</em> of a decision, and also the limitations and potential biases of the underlying AI model. This involves setting realistic user expectations about AI accuracy, identifying where the model might be less reliable, and providing clear channels for recourse or feedback when users perceive unfair or incorrect outcomes. Proactively addressing these ethical dimensions will allow us to build AI systems that are truly just and trustworthy.</p>

<h2 id="from-methods-to-mockups-practical-xai-design-patterns">From Methods To Mockups: Practical XAI Design Patterns</h2>

<p>Knowing the concepts is one thing; designing them is another. Here’s how we can translate these XAI methods into intuitive design patterns.</p>

<h3 id="pattern-1-the-because-statement-for-feature-importance">Pattern 1: The &ldquo;Because&rdquo; Statement (for Feature Importance)</h3>

<p>This is the simplest and often most effective pattern. It’s a direct, plain-language statement that surfaces the primary reason for an AI’s action.</p>

<ul>
<li><strong>Heuristic</strong>: Be direct and concise. Lead with the single most impactful reason. Avoid jargon at all costs.</li>
</ul>

<blockquote><strong>Example</strong>: Imagine a music streaming service. Instead of just presenting a “Discover Weekly” playlist, you add a small line of microcopy.<br /><br /><strong>Song Recommendation</strong>: “Velvet Morning”<br />Because you listen to “The Fuzz” and other psychedelic rock.</blockquote>

<h3 id="pattern-2-the-what-if-interactive-for-counterfactuals">Pattern 2: The &ldquo;What-If&rdquo; Interactive (for Counterfactuals)</h3>

<p>Counterfactuals are inherently about empowerment. The best way to represent them is by giving users interactive tools to explore possibilities themselves. This is perfect for financial, health, or other goal-oriented applications.</p>

<ul>
<li><strong>Heuristic</strong>: Make explanations interactive and empowering. Let users see the cause and effect of their choices.</li>
</ul>

<blockquote><strong>Example</strong>: A loan application interface. After a denial, instead of a dead end, the user gets a tool to determine how various scenarios (what-ifs) might play out (See Figure 1).</blockquote>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/2-example-counterfactuals.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="582"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/2-example-counterfactuals.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/2-example-counterfactuals.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/2-example-counterfactuals.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/2-example-counterfactuals.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/2-example-counterfactuals.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/2-example-counterfactuals.png"
			
			sizes="100vw"
			alt="An example of Counterfactuals"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Figure 2: An example of Counterfactuals using a what-if scenario, letting the user see how changing different values of the model’s features can impact outcomes. Image generated using Google Gemini. (<a href='https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/2-example-counterfactuals.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="pattern-3-the-highlight-reel-for-local-explanations">Pattern 3: The Highlight Reel (For Local Explanations)</h3>

<p>When an AI performs an action on a user’s content (like summarizing a document or identifying faces in photos), the explanation should be visually linked to the source.</p>

<ul>
<li><strong>Heuristic</strong>: Use visual cues like highlighting, outlines, or annotations to connect the explanation directly to the interface element it’s explaining.</li>
</ul>

<blockquote><strong>Example</strong>: An AI tool that summarizes long articles.<br /><br /><strong>AI-Generated Summary Point</strong>:<br />Initial research showed a market gap for sustainable products.<br /><br /><strong>Source in Document</strong>:<br />“...Our Q2 analysis of market trends conclusively demonstrated that <strong>no major competitor was effectively serving the eco-conscious consumer, revealing a significant market gap for sustainable products</strong>...”</blockquote>

<h3 id="pattern-4-the-push-and-pull-visual-for-value-based-explanations">Pattern 4: The Push-and-Pull Visual (for Value-based Explanations)</h3>

<p>For more complex decisions, users might need to understand the interplay of factors. Simple data visualizations can make this clear without being overwhelming.</p>

<ul>
<li><strong>Heuristic</strong>: Use simple, color-coded data visualizations (like bar charts) to show the factors that positively and negatively influenced a decision.</li>
</ul>

<blockquote><strong>Example</strong>: An AI screening a candidate’s profile for a job.<br /><br />Why this candidate is a 75% match:<br /><br /><strong>Factors pushing the score up</strong>:<br /><ul><li>5+ Years UX Research Experience</li><li>Proficient in Python</li></ul><br /><strong>Factors pushing the score down</strong>:<br /><ul><li>No experience with B2B SaaS</li></ul></blockquote>

<p>Learning and using these design patterns in the UX of your AI product will help increase the explainability. You can also use additional techniques that I’m not covering in-depth here. This includes the following:</p>

<ul>
<li><strong>Natural language explanations</strong>: Translating an AI’s technical output into simple, conversational human language that non-experts can easily understand.</li>
<li><strong>Contextual explanations</strong>: Providing a rationale for an AI’s output at the specific moment and location, it is most relevant to the user’s task.</li>
<li><strong>Relevant visualizations</strong>: Using charts, graphs, or heatmaps to visually represent an AI’s decision-making process, making complex data intuitive and easier for users to grasp.</li>
</ul>

<p><strong>A Note For the Front End</strong>: <em>Translating these explainability outputs into seamless user experiences also presents its own set of technical considerations. Front-end developers often grapple with API design to efficiently retrieve explanation data, and performance implications (like the real-time generation of explanations for every user interaction) need careful planning to avoid latency.</em></p>

<h2 id="some-real-world-examples">Some Real-world Examples</h2>

<p><strong>UPS Capital’s DeliveryDefense</strong></p>

<p>UPS uses AI to assign a “delivery confidence score” to addresses to predict the likelihood of a package being stolen. Their <a href="https://about.ups.com/us/en/our-stories/innovation-driven/ups-s-deliverydefense-pits-ai-against-criminals.html">DeliveryDefense</a> software analyzes historical data on location, loss frequency, and other factors. If an address has a low score, the system can proactively reroute the package to a secure UPS Access Point, providing an explanation for the decision (e.g., “Package rerouted to a secure location due to a history of theft”). This system demonstrates how XAI can be used for risk mitigation and building customer trust through transparency.</p>

<p><strong>Autonomous Vehicles</strong></p>

<p>These vehicles of the future will need to effectively use <a href="https://online.hbs.edu/blog/post/ai-in-business">XAI to help their vehicles make safe, explainable decisions</a>. When a self-driving car brakes suddenly, the system can provide a real-time explanation for its action, for example, by identifying a pedestrian stepping into the road. This is not only crucial for passenger comfort and trust but is a regulatory requirement to prove the safety and accountability of the AI system.</p>

<p><strong>IBM Watson Health (and its challenges)</strong></p>

<p>While often cited as a general example of AI in healthcare, it’s also a valuable case study for the <em>importance</em> of XAI. The <a href="https://www.henricodolfing.com/2024/12/case-study-ibm-watson-for-oncology-failure.html">failure of its Watson for Oncology project</a> highlights what can go wrong when explanations are not clear, or when the underlying data is biased or not localized. The system’s recommendations were sometimes inconsistent with local clinical practices because they were based on U.S.-centric guidelines. This serves as a cautionary tale on the need for robust, context-aware explainability.</p>

<h2 id="the-ux-researcher-s-role-pinpointing-and-validating-explanations">The UX Researcher’s Role: Pinpointing And Validating Explanations</h2>

<p>Our design solutions are only effective if they address the right user questions at the right time. An explanation that answers a question the user doesn’t have is just noise. This is where UX research becomes the critical connective tissue in an XAI strategy, ensuring that we explain the what and how that actually matters to our users. The researcher’s role is twofold: first, to inform the strategy by identifying where explanations are needed, and second, to validate the designs that deliver those explanations.</p>

<h3 id="informing-the-xai-strategy-what-to-explain">Informing the XAI Strategy (What to Explain)</h3>

<p>Before we can design a single explanation, we must understand the user’s mental model of the AI system. What do they believe it’s doing? Where are the gaps between their understanding and the system’s reality? This is the foundational work of a UX researcher.</p>

<h4 id="mental-model-interviews-unpacking-user-perceptions-of-ai-systems">Mental Model Interviews: Unpacking User Perceptions Of AI Systems</h4>

<p>Through deep, semi-structured interviews, UX practitioners can gain invaluable insights into how users perceive and understand AI systems. These sessions are designed to encourage users to literally draw or describe their internal “mental model” of how they believe the AI works. This often involves asking open-ended questions that prompt users to explain the system’s logic, its inputs, and its outputs, as well as the relationships between these elements.</p>

<p>These interviews are powerful because they frequently reveal profound misconceptions and assumptions that users hold about AI. For example, a user interacting with a recommendation engine might confidently assert that the system is based purely on their past viewing history. They might not realize that the algorithm also incorporates a multitude of other factors, such as the time of day they are browsing, the current trending items across the platform, or even the viewing habits of similar users.</p>

<p>Uncovering this gap between a user’s mental model and the actual underlying AI logic is critically important. It tells us precisely what specific information we need to communicate to users to help them build a more accurate and robust mental model of the system. This, in turn, is a fundamental step in fostering trust. When users understand, even at a high level, how an AI arrives at its conclusions or recommendations, they are more likely to trust its outputs and rely on its functionality.</p>

<h4 id="ai-journey-mapping-a-deep-dive-into-user-trust-and-explainability">AI Journey Mapping: A Deep Dive Into User Trust And Explainability</h4>

<p>By meticulously mapping the user’s journey with an AI-powered feature, we gain invaluable insights into the precise moments where confusion, frustration, or even profound distrust emerge. This uncovers critical junctures where the user’s mental model of how the AI operates clashes with its actual behavior.</p>

<p>Consider a music streaming service: Does the user’s trust plummet when a playlist recommendation feels “random,” lacking any discernible connection to their past listening habits or stated preferences? This perceived randomness is a direct challenge to the user’s expectation of intelligent curation and a breach of the implicit promise that the AI understands their taste. Similarly, in a photo management application, do users experience significant frustration when an AI photo-tagging feature consistently misidentifies a cherished family member? This error is more than a technical glitch; it strikes at the heart of accuracy, personalization, and even emotional connection.</p>

<p>These pain points are vivid signals indicating precisely where a well-placed, clear, and concise explanation is necessary. Such explanations serve as crucial repair mechanisms, mending a breach of trust that, if left unaddressed, can lead to user abandonment.</p>

<p>The power of AI journey mapping lies in its ability to move us beyond simply explaining the final output of an AI system. While understanding <em>what</em> the AI produced is important, it’s often insufficient. Instead, this process compels us to focus on explaining the <em>process</em> at critical moments. This means addressing:</p>

<ul>
<li><strong>Why a particular output was generated</strong>: Was it due to specific input data? A particular model architecture?</li>
<li><strong>What factors influenced the AI’s decision</strong>: Were certain features weighted more heavily?</li>
<li><strong>How the AI arrived at its conclusion</strong>: Can we offer a simplified, analogous explanation of its internal workings?</li>
<li><strong>What assumptions the AI made</strong>: Were there implicit understandings of the user’s intent or data that need to be surfaced?</li>
<li><strong>What the limitations of the AI are</strong>: Clearly communicating what the AI <em>cannot</em> do, or where its accuracy might waver, builds realistic expectations.</li>
</ul>

<p>AI journey mapping transforms the abstract concept of XAI into a practical, actionable framework for UX practitioners. It enables us to move beyond theoretical discussions of explainability and instead pinpoint the exact moments where user trust is at stake, providing the necessary insights to build AI experiences that are powerful, transparent, understandable, and trustworthy.</p>

<p>Ultimately, research is how we uncover the unknowns. Your team might be debating how to explain why a loan was denied, but research might reveal that users are far more concerned with understanding how their data was used in the first place. Without research, we are simply guessing what our users are wondering.</p>

<h2 id="collaborating-on-the-design-how-to-explain-your-ai">Collaborating On The Design (How to Explain Your AI)</h2>

<p>Once research has identified what to explain, the collaborative loop with design begins. Designers can prototype the patterns we discussed earlier—the “Because” statement, the interactive sliders—and researchers can put those designs in front of users to see if they hold up.</p>

<p><strong>Targeted Usability &amp; Comprehension Testing</strong>: We can design research studies that specifically test the XAI components. We don’t just ask, “*Is this easy to use?*” We ask, “*After seeing this, can you tell me in your own words why the system recommended this product?*” or “*Show me what you would do to see if you could get a different result.*” The goal here is to measure comprehension and actionability, alongside usability.</p>

<p><strong>Measuring Trust Itself</strong>: We can use simple surveys and rating scales before and after an explanation is shown. For instance, we can ask a user on a 5-point scale, “*How much do you trust this recommendation?*” before they see the “Because” statement, and then ask them again afterward. This provides quantitative data on whether our explanations are actually moving the needle on trust.</p>

<p>This process creates a powerful, iterative loop. Research findings inform the initial design. That design is then tested, and the new findings are fed back to the design team for refinement. Maybe the “Because” statement was too jargony, or the “What-If” slider was more confusing than empowering. Through this collaborative validation, we ensure that the final explanations are technically accurate, genuinely understandable, useful, and trust-building for the people using the product.</p>

<h2 id="the-goldilocks-zone-of-explanation">The Goldilocks Zone Of Explanation</h2>

<p>A critical word of caution: it is possible to <em>over-explain</em>. As in the fairy tale, where Goldilocks sought the porridge that was ‘just right’, the goal of a good explanation is to provide the right amount of detail—not too much and not too little. Bombarding a user with every variable in a model will lead to cognitive overload and can actually <em>decrease</em> trust. The goal is not to make the user a data scientist.</p>

<p>One solution is <strong>progressive disclosure</strong>.</p>

<ol>
<li><strong>Start with the simple.</strong> Lead with a concise “Because” statement. For most users, this will be enough.</li>
<li><strong>Offer a path to detail.</strong> Provide a clear, low-friction link like “Learn More” or “See how this was determined.”</li>
<li><strong>Reveal the complexity.</strong> Behind that link, you can offer the interactive sliders, the visualizations, or a more detailed list of contributing factors.</li>
</ol>

<p>This layered approach respects user attention and expertise, providing just the right amount of information for their needs. Let’s imagine you’re using a smart home device that recommends optimal heating based on various factors.</p>

<p><strong>Start with the simple</strong>: “*Your home is currently heated to 72 degrees, which is the optimal temperature for energy savings and comfort.*”</p>

<p><strong>Offer a path to detail</strong>: Below that, a small link or button: “<em>Why is 72 degrees optimal?</em>&ldquo;</p>

<p><strong>Reveal the complexity</strong>: Clicking that link could open a new screen showing:</p>

<ul>
<li>Interactive sliders for outside temperature, humidity, and your preferred comfort level, demonstrating how these adjust the recommended temperature.</li>
<li>A visualization of energy consumption at different temperatures.</li>
<li>A list of contributing factors like “Time of day,” “Current outside temperature,” “Historical energy usage,” and “Occupancy sensors.”</li>
</ul>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/3-example-progressive-disclosure.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="449"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/3-example-progressive-disclosure.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/3-example-progressive-disclosure.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/3-example-progressive-disclosure.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/3-example-progressive-disclosure.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/3-example-progressive-disclosure.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/3-example-progressive-disclosure.png"
			
			sizes="100vw"
			alt="An example of progressive disclosure in three stages"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Figure 3: An example of progressive disclosure in three stages: the simple details with an option to click for more details, more details with the option to understand what will happen if the user changes the settings. (<a href='https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/3-example-progressive-disclosure.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>It’s effective to combine multiple XAI methods and this Goldilocks Zone of Explanation pattern, which advocates for progressive disclosure, implicitly encourages this. You might start with a simple “Because” statement (Pattern 1) for immediate comprehension, and then offer a “Learn More” link that reveals a “What-If” Interactive (Pattern 2) or a “Push-and-Pull Visual” (Pattern 4) for deeper exploration.</p>

<p>For instance, a loan application system could initially state the primary reason for denial (feature importance), then allow the user to interact with a “What-If” tool to see how changes to their income or debt would alter the outcome (counterfactuals), and finally, provide a detailed “Push-and-Pull” chart (value-based explanation) to illustrate the positive and negative contributions of all factors. This layered approach allows users to access the level of detail they need, when they need it, preventing cognitive overload while still providing comprehensive transparency.</p>

<p>Determining which XAI tools and methods to use is primarily a function of thorough UX research. Mental model interviews and AI journey mapping are crucial for pinpointing user needs and pain points related to AI understanding and trust. Mental model interviews help uncover user misconceptions about how the AI works, indicating areas where fundamental explanations (like feature importance or local explanations) are needed. AI journey mapping, on the other hand, identifies critical moments of confusion or distrust in the user’s interaction with the AI, signaling where more granular or interactive explanations (like counterfactuals or value-based explanations) would be most beneficial to rebuild trust and provide agency.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/4-ai-business-startup-assistant.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="399"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/4-ai-business-startup-assistant.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/4-ai-business-startup-assistant.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/4-ai-business-startup-assistant.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/4-ai-business-startup-assistant.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/4-ai-business-startup-assistant.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/4-ai-business-startup-assistant.png"
			
			sizes="100vw"
			alt="An example of a fictitious AI business startup assistant"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Figure 4: An example of a fictitious AI business startup assistant. Here, the AI presents the key factor in how the risk level was determined. When the user asks what would change if they manipulate that factor, the counterfactual statement is shown, confirming the impact of that specific factor in the model. (<a href='https://files.smashing.media/articles/beyond-black-box-practical-xai-ux-practitioners/4-ai-business-startup-assistant.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Ultimately, the <em>best</em> way to choose a technique is to let user research guide your decisions, ensuring that the explanations you design directly address actual user questions and concerns, rather than simply offering technical details for their own sake.</p>

<h2 id="xai-for-deep-reasoning-agents">XAI for Deep Reasoning Agents</h2>

<p>Some of the newest AI systems, known as <a href="https://learn.microsoft.com/en-us/microsoft-copilot-studio/faqs-reasoning">deep reasoning agents</a>, produce an explicit “chain of thought” for every complex task. They do not merely cite sources; they show the logical, step-by-step path they took to arrive at a conclusion. While this transparency provides valuable context, a play-by-play that spans several paragraphs can feel overwhelming to a user simply trying to complete a task.</p>

<p>The principles of XAI, especially the Goldilocks Zone of Explanation, apply directly here. We can curate the journey, using progressive disclosure to show only the final conclusion and the most salient step in the thought process first. Users can then opt in to see the full, detailed, multi-step reasoning when they need to double-check the logic or find a specific fact. This approach respects user attention while preserving the agent’s full transparency.</p>

<h2 id="next-steps-empowering-your-xai-journey">Next Steps: Empowering Your XAI Journey</h2>

<p>Explainability is a fundamental pillar for building <strong>trustworthy and effective AI products</strong>. For the advanced practitioner looking to drive this change within their organization, the journey extends beyond design patterns into advocacy and continuous learning.</p>

<p>To deepen your understanding and practical application, consider exploring resources like the <a href="https://research.ibm.com/blog/ai-explainability-360">AI Explainability 360 (AIX360) toolkit</a> from IBM Research or Google’s <a href="https://pair-code.github.io/what-if-tool/">What-If Tool</a>, which offer interactive ways to explore model behavior and explanations. Engaging with communities like the <a href="https://responsibleaiforum.com">Responsible AI Forum</a> or specific research groups focused on human-centered AI can provide invaluable insights and collaboration opportunities.</p>

<p>Finally, be an advocate for XAI within your own organization. Frame explainability as a strategic investment. Consider a brief pitch to your leadership or cross-functional teams:</p>

<blockquote>“By investing in XAI, we’ll go beyond building trust; we’ll accelerate user adoption, reduce support costs by empowering users with understanding, and mitigate significant ethical and regulatory risks by exposing potential biases. This is good design and smart business.”</blockquote>

<p>Your voice, grounded in practical understanding, is crucial in bringing AI out of the black box and into a collaborative partnership with users.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Mansoor Ahmed Khan</author><title>From Chaos To Clarity: Simplifying Server Management With AI And Automation</title><link>https://www.smashingmagazine.com/2025/11/simplifying-server-management-ai-automation/</link><pubDate>Tue, 18 Nov 2025 10:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2025/11/simplifying-server-management-ai-automation/</guid><description>Server chaos doesn’t have to be the norm. AI-ready infrastructure and automation can bring clarity, performance, and focus back to your web work.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2025/11/simplifying-server-management-ai-automation/" />
              <title>From Chaos To Clarity: Simplifying Server Management With AI And Automation</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>From Chaos To Clarity: Simplifying Server Management With AI And Automation</h1>
                  
                    
                    <address>Mansoor Ahmed Khan</address>
                  
                  <time datetime="2025-11-18T10:00:00&#43;00:00" class="op-published">2025-11-18T10:00:00+00:00</time>
                  <time datetime="2025-11-18T10:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                <p>This article is sponsored by <b>Cloudways</b></p>
                

<p>If you build or manage websites for a living, you know the feeling. Your day is a constant juggle; one moment you’re fine-tuning a design, the next you’re troubleshooting a slow server or a mysterious error. Daily management of a complex web of plugins, integrations, and performance tools often feels like you’re just reacting to problems—putting out fires instead of building something new.</p>

<p>This reactive cycle is exhausting, and it pulls your focus away from meaningful work and into the technical weeds. A recent industry event, <a href="https://www.cloudways.com/en/bfcm-prepathon.php">Cloudways Prepathon 2025</a>, put a sharp focus on this very challenge. The discussions made it clear: the future of web work demands a better way. It requires an infrastructure that’s ready for AI; one that can actively help you turn this daily chaos into clarity.</p>

<p><em>The stakes for performance are higher than ever.</em></p>

<p>Suhaib Zaheer, SVP of Managed Hosting at DigitalOcean, and Ali Ahmed Khan, Sr. Director of Product Management, shared a telling statistic during their panel: <strong><a href="https://www.thinkwithgoogle.com/consumer-insights/consumer-trends/mobile-site-load-time-statistics/">53% of mobile visitors</a> will leave a site if it takes more than three seconds to load.</strong></p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/simplifying-server-management-ai-automation/1-google-data-mobile-page-speed.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/simplifying-server-management-ai-automation/1-google-data-mobile-page-speed.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/simplifying-server-management-ai-automation/1-google-data-mobile-page-speed.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/simplifying-server-management-ai-automation/1-google-data-mobile-page-speed.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/simplifying-server-management-ai-automation/1-google-data-mobile-page-speed.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/simplifying-server-management-ai-automation/1-google-data-mobile-page-speed.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/simplifying-server-management-ai-automation/1-google-data-mobile-page-speed.jpg"
			
			sizes="100vw"
			alt="Google data showing mobile page speed"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Data from Google underscores the critical importance of mobile page speed for retaining visitors. (Image Source: <a href='https://www.thinkwithgoogle.com/consumer-insights/consumer-trends/mobile-site-load-time-statistics/'>Think with Google</a>) (<a href='https://files.smashing.media/articles/simplifying-server-management-ai-automation/1-google-data-mobile-page-speed.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Think about that for a second, and within half that time, your potential traffic is gone. This isn’t just about a slow website, but about lost trust, abandoned carts, and missed opportunities. Performance is no longer just a feature; it’s the foundation of user experience. And in today’s landscape, automation is the key to maintaining it consistently.</p>

<p>So how do we stop reacting and start preventing?</p>

<h2 id="the-old-way-a-constant-state-of-alert">The Old Way: A Constant State Of Alert</h2>

<p>For too long, server management has worked like this: something breaks, you receive an alert (or worse, a client complaint), and you start digging. You log into your server, check logs, try to correlate different metrics, and eventually (hopefully) find the root cause. Then you manually apply a fix.</p>

<p>This process is fragile and relies on your constant attention while eating up hours that could be spent on development, strategy, or client work. For freelancers and small teams, this time is your most valuable asset. Every minute spent manually diagnosing a disk space issue or a web stack failure is a minute not spent on growing your business.</p>

<p>The problem isn&rsquo;t a lack of tools. It&rsquo;s that most tools just show you the data; they don&rsquo;t help you understand it or act on it. They add to the noise instead of providing clarity.</p>

<h2 id="a-new-approach-from-diagnosis-to-automatic-resolution">A New Approach: From Diagnosis To Automatic Resolution</h2>

<p>This is where a shift towards intelligent automation changes the game. Tools like <a href="https://www.cloudways.com/en/cloudways-ai-copilot.php">Cloudways Copilot</a>, which became generally available earlier this year, are built specifically to simplify this workflow. The goal is straightforward: combine AI-driven diagnostics with automated fixes to predict and resolve performance issues before they affect your users.</p>

<p>Here’s a practical look at how it works.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/simplifying-server-management-ai-automation/2-cloudways-copilot-workflow.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/simplifying-server-management-ai-automation/2-cloudways-copilot-workflow.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/simplifying-server-management-ai-automation/2-cloudways-copilot-workflow.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/simplifying-server-management-ai-automation/2-cloudways-copilot-workflow.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/simplifying-server-management-ai-automation/2-cloudways-copilot-workflow.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/simplifying-server-management-ai-automation/2-cloudways-copilot-workflow.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/simplifying-server-management-ai-automation/2-cloudways-copilot-workflow.png"
			
			sizes="100vw"
			alt="Cloudways Copilot workflow"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Cloudways Copilot workflow: Continuous monitoring leads to instant alerts, AI-powered diagnosis, and actionable recommendations. (Image source: <a href='https://www.cloudways.com/en/cloudways-ai-copilot.php'>Cloudways</a>) (<a href='https://files.smashing.media/articles/simplifying-server-management-ai-automation/2-cloudways-copilot-workflow.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Imagine your site starts running slowly. In the past, you&rsquo;d begin the tedious investigation.</p>

<h3 id="1-the-ai-insights">1. The AI Insights</h3>

<p>Instead of a generic &ldquo;high CPU&rdquo; alert, you get a detailed insight. It tells you what happened (e.g., &ldquo;MySQL process is consuming excessive resources&rdquo;), why it happened (e.g., &ldquo;caused by a poorly optimized query from a recent plugin update&rdquo;), and provides a step-by-step guide to fix it manually. This alone cuts diagnosis time from 30-40 minutes down to about five. You understand the problem, not just the diagnosis.</p>

<h3 id="2-the-smartfix">2. The SmartFix</h3>

<p>This is where it moves from helpful to transformative. For common issues, you don’t just get a manual guide. You get a one-click <em>SmartFix</em> button. After reviewing the actions Copilot will take, you can let it automatically resolve the issue. It applies the necessary steps safely and without you needing to touch a command line. This is the clarity we’re talking about. The system doesn’t just tell you about the problem; it solves it for you.</p>

<p>For developers managing multiple sites, this is a fundamental change. It means you can handle routine server issues at scale. A disk cleanup that would have required logging into ten different servers can now be handled with a few clicks. It frees your brain from repetitive troubleshooting and lets you focus on the work that actually requires your expertise.</p>

<h2 id="building-an-ai-ready-foundation">Building An AI-Ready Foundation</h2>

<p>The principles discussed at Prepathon go beyond any single tool. The theme was about building a resilient foundation. Meeky Hwang, CEO at Ndevr, introduced the <em>&ldquo;3E Framework,&rdquo;</em> which perfectly applies here. A strong platform must balance:</p>

<ul>
<li><strong>Audience Experience</strong><br />
What your visitors see and feel—blazing speed and seamless operation.</li>
<li><strong>Creator Experience</strong><br />
The workflow for you and your team—managing content and marketing without technical friction.</li>
<li><strong>Developer Experience</strong><br />
The backend foundation—server management that is secure, stable, and efficient.</li>
</ul>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/simplifying-server-management-ai-automation/3-3e-framework.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/simplifying-server-management-ai-automation/3-3e-framework.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/simplifying-server-management-ai-automation/3-3e-framework.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/simplifying-server-management-ai-automation/3-3e-framework.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/simplifying-server-management-ai-automation/3-3e-framework.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/simplifying-server-management-ai-automation/3-3e-framework.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/simplifying-server-management-ai-automation/3-3e-framework.png"
			
			sizes="100vw"
			alt="3E Framework"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      A balanced platform is a resilient one. The 3E Framework shows how a strong foundation depends on three connected experiences. (Image source: <a href='https://www.cloudways.com/en/video/event-replays/prepathon-2025/from-fragile-to-ai-ready-websites-prepathon-2025'>Meeky Hwang / Ndevr</a>) (<a href='https://files.smashing.media/articles/simplifying-server-management-ai-automation/3-3e-framework.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>AI-driven server management directly strengthens all three. A faster, more stable server improves the <em>Audience Experience</em>. Fewer emergencies and simpler workflows improve the <em>Creator</em> and <em>Developer Experience</em>. When these are aligned, you can scale with confidence.</p>

<h2 id="this-isn-t-about-replacing-you">This Isn’t About Replacing You</h2>

<p>It’s important to be clear. This isn’t about replacing the developer but about augmenting your capabilities. As Vito Peleg, Co-founder &amp; CEO at Atarim, noted during <a href="https://www.cloudways.com/en/video/event-replays/prepathon-2025/whats-truly-working-in-ai-marketing-and-tech-prepathon-2025">Prepathon</a>:</p>

<blockquote>“We're all becoming prompt engineers in the modern world. Our job is no longer to do the task, but to orchestrate the fleet of AI agents that can do it at a scale we never could alone.”<br /><br />&mdash; Vito Peleg, Co-founder & CEO at Atarim</blockquote>

<p>Think of <a href="https://www.cloudways.com/en/cloudways-ai-copilot.php">Cloudways Copilot</a> as an expert sysadmin on your team. It handles the routine, often tedious, work. It alerts you to what’s important and provides clear, actionable context. This gives you back the mental space and time to focus on architecture, innovation, and client strategy.</p>

<blockquote>“The challenge isn’t managing servers anymore &mdash; it’s managing focus,”<br /><br /><a href="https://www.linkedin.com/in/zaheersuhaib/">Suhaib Zaheer</a> noted.<br /><br />“AI-driven infrastructure should help developers spend less time reacting to issues and more time creating better digital experiences.”</blockquote>

<h2 id="a-practical-path-forward">A Practical Path Forward</h2>

<p>For freelancers, WordPress experts, and small agency developers, this shift offers a tangible way to:</p>

<ul>
<li>Drastically reduce the hours spent manually troubleshooting infrastructure issues.</li>
<li>Implement predictive monitoring that catches slowdowns and bottlenecks early.</li>
<li>Manage your entire stack through clear, plain-English AI insights instead of raw data.</li>
<li>Balance speed, security, and uptime without needing an enterprise-scale budget or team.</li>
</ul>

<p>The goal is to make powerful infrastructure simple, while also giving you back control and your time so you can focus on what you do best: creating exceptional web experiences.</p>

<p><em>You can <a href="https://unified.cloudways.com/signup?coupon=BFCM5050">use promo code BFCM5050</a> to get 50% off for 3 months plus 50 Free Migrations using Cloudways. This offer is valid from November 18th to December 4th, 2025.</em></p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Paul Boag</author><title>AI In UX: Achieve More With Less</title><link>https://www.smashingmagazine.com/2025/10/ai-ux-achieve-more-with-less/</link><pubDate>Fri, 17 Oct 2025 08:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2025/10/ai-ux-achieve-more-with-less/</guid><description>A simple but powerful mental model for working with AI: treat it like an enthusiastic intern with no real-world experience. Paul Boag shares lessons learned from real client projects across user research, design, development, and content creation.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2025/10/ai-ux-achieve-more-with-less/" />
              <title>AI In UX: Achieve More With Less</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>AI In UX: Achieve More With Less</h1>
                  
                    
                    <address>Paul Boag</address>
                  
                  <time datetime="2025-10-17T08:00:00&#43;00:00" class="op-published">2025-10-17T08:00:00+00:00</time>
                  <time datetime="2025-10-17T08:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>I have made a lot of mistakes with AI over the past couple of years. I have wasted hours trying to get it to do things it simply cannot do. I have fed it terrible prompts and received terrible output. And I have definitely spent more time fighting with it than I care to admit.</p>

<p>But I have also discovered that when you stop treating AI like magic and start treating it like what it actually is (a very enthusiastic intern with zero life experience), things start to make more sense.</p>

<p>Let me share what I have learned from working with AI on real client projects across user research, design, development, and content creation.</p>

<h2 id="how-to-work-with-ai">How To Work With AI</h2>

<p>Here is the mental model that has been most helpful for me. Treat AI like an <strong>intern with zero experience</strong>.</p>

<p>An intern fresh out of university has lots of enthusiasm and qualifications, but no real-world experience. You would not trust them to do anything unsupervised. You would explain tasks in detail. You would expect to review their work multiple times. You would give feedback and ask them to try again.</p>

<p>This is exactly how you should work with AI.</p>

<h3 id="the-basics-of-prompting">The Basics Of Prompting</h3>

<p>I am not going to pretend to be an expert. I have just spent way too much time playing with this stuff because I like anything shiny and new. But here is what works for me.</p>

<ul>
<li><strong>Define the role.</strong><br />
Start with something like <em>“Act as a user researcher”</em>  or <em>“Act as a copywriter.”</em>  This gives the AI context for how to respond.</li>
<li><strong>Break it into steps.</strong><br />
Do not just say <em>“Analyze these interview transcripts.”</em> Instead, say <em>“I want you to complete the following steps. One, identify recurring themes. Two, look for questions users are trying to answer. Three, note any objections that come up. Four, output a summary of each.”</em></li>
<li><strong>Define success.</strong><br />
Tell it what good looks like. <em>“I am looking for a report that gives a clear indication of recurring themes and questions in a format I can send to stakeholders. Do not use research terminology because they will not understand it.”</em></li>
<li><strong>Make it think.</strong><br />
Tell it to think deeply about its approach before responding. Get it to create a way to test for success (known as a rubric) and iterate on its work until it passes that test.</li>
</ul>

<p>Here is a real prompt I use for online research:</p>

<blockquote>Act as a user researcher. I would like you to carry out deep research online into [brand name]. In particular, I would like you to focus on what people are saying about the brand, what the overall sentiment is, what questions people have, and what objections people mention. The goal is to create a detailed report that helps me better understand the brand perception.<br /><br />Think deeply about your approach before carrying out the research. Create a rubric for the report to ensure it is as useful as possible. Keep iterating until the report scores extremely high on the rubric. Only then, output the report.</blockquote>

<p>That second paragraph (the bit about thinking deeply and creating a rubric), I basically copy and paste into everything now. It is a universal way to get better output.</p>

<h3 id="learn-when-to-trust-it">Learn When To Trust It</h3>

<p>You should never fully trust AI. Just like you would never fully trust an intern you have only just met.</p>

<p>To begin with, double-check absolutely everything. Over time, you will get a sense of when it is losing its way. You will spot the patterns. You will know when to start a fresh conversation because the current one has gone off the rails.</p>

<p>But even after months of working with it daily, I still check its work. I still challenge it. I still make it <strong>cite sources</strong> and <strong>explain its reasoning</strong>.</p>

<p>The key is that even with all that checking, it is still faster than doing it yourself. Much faster.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="using-ai-for-user-research">Using AI For User Research</h2>

<p>This is where AI has genuinely transformed my work. I use it constantly for five main things.</p>

<h3 id="online-research">Online Research</h3>

<p>I love AI for this. I can ask it to go and research a brand online. What people are saying about it, what questions they have, what they like, and what frustrates them. Then do the same for competitors and compare.</p>

<p>This would have taken me days of trawling through social media and review sites. Now it takes minutes.</p>

<p>I recently did this for an e-commerce client. I wanted to understand what annoyed people about the brand and what they loved. I got detailed insights that shaped the entire conversion optimization strategy. All from one prompt.</p>

<h3 id="analyzing-interviews-and-surveys">Analyzing Interviews And Surveys</h3>

<p>I used to avoid open-ended questions in surveys. They were such a pain to review. Now I use them all the time because AI can analyze hundreds of text responses in seconds.</p>

<p>For interviews, I upload the transcripts and ask it to identify recurring themes, questions, and requests. I always get it to quote directly from the transcripts so I can verify it is not making things up.</p>

<p>The quality is good. Really good. As long as you give it <strong>clear instructions</strong> about what you want.</p>

<h3 id="making-sense-of-data">Making Sense Of Data</h3>

<p>I am terrible with spreadsheets. Put me in front of a person and I can understand them. Put me in front of data, and my eyes glaze over.</p>

<p>AI has changed that. I upload spreadsheets to ChatGPT and just ask questions. <em>“What patterns do you see?”</em> <em>“Can you reformat this?”</em> <em>“Show me this data in a different way.”</em></p>

<p><a href="https://clarity.microsoft.com/">Microsoft Clarity</a> now has Copilot built in, so you can ask it questions about your analytics data. <a href="https://www.triplewhale.com/">Triple Whale</a> does the same for e-commerce sites. These tools are game changers if you struggle with data like I do.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/ai-ux-achieve-more-with-less/1-microsoft-clarity.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="465"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/1-microsoft-clarity.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/1-microsoft-clarity.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/1-microsoft-clarity.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/1-microsoft-clarity.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/1-microsoft-clarity.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/1-microsoft-clarity.png"
			
			sizes="100vw"
			alt="Screenshot of the Microsoft Clarity with the built-in Copilot"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Microsoft Clarity has co-pilot built in, making it so much easier to uncover insights. (<a href='https://files.smashing.media/articles/ai-ux-achieve-more-with-less/1-microsoft-clarity.png'>Large preview</a>)
    </figcaption>
  
</figure>

<div class="partners__lead-place"></div>

<h3 id="research-projects">Research Projects</h3>

<p>This is probably my favorite technique. In ChatGPT and Claude, you can create projects. In other tools, they are called spaces. Think of them as self-contained folders where everything you put in is available to every conversation in that project.</p>

<p>When I start working with a new client, I create a project and throw everything in. Old user research. Personas. Survey results. Interview transcripts. Documentation. Background information. Site copy. Anything I can find.</p>

<p>Then I give it custom instructions. Here is one I use for my own business:</p>

<blockquote>Act as a business consultant and marketing strategy expert with good copywriting skills. Your role is to help me define the future of my <a href="https://boagworld.com/l/ux-consultant/">UX consultant business</a> and better articulate it, especially via my website. When I ask for your help, ask questions to improve your answers and challenge my assumptions where appropriate.</blockquote>

<p>I have even uploaded a virtual board of advisors (people I wish I had on my board) and asked AI to research how they think and respond as they would.</p>

<p>Now I have this project that knows everything about my business. I can ask it questions. Get it to review my work. <strong>Challenge my thinking.</strong> It is like having a co-worker who never gets tired and has a perfect memory.</p>

<p>I do this for every client project now. It is invaluable.</p>

<h3 id="creating-personas">Creating Personas</h3>

<p>AI has reinvigorated my interest in personas. I had lost heart in them a bit. They took too long to create, and clients always said they already had marketing personas and did not want to pay to do them again.</p>

<p>Now I can create what I call <a href="https://www.smashingmagazine.com/2025/09/functional-personas-ai-lean-practical-workflow/">functional personas</a>. Personas that are actually useful to people who work in UX. Not marketing fluff about what brands people like, but real information about what questions they have and what tasks they are trying to complete.</p>

<p>I upload all my research to a project and say:</p>

<blockquote>Act as a user researcher. Create a persona for [audience type]. For this persona, research the following information: questions they have, tasks they want to complete, goals, states of mind, influences, and success metrics. It is vital that all six criteria are addressed in depth and with equal vigor.</blockquote>

<p>The output is really good. Detailed. Useful. Based on actual data rather than pulled out of thin air.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/ai-ux-achieve-more-with-less/2-ai-creating-personas.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="2480"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/2-ai-creating-personas.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/2-ai-creating-personas.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/2-ai-creating-personas.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/2-ai-creating-personas.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/2-ai-creating-personas.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/2-ai-creating-personas.png"
			
			sizes="100vw"
			alt="Ai-generated functional persona"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      AI makes creating detailed personas so much faster. (<a href='https://files.smashing.media/articles/ai-ux-achieve-more-with-less/2-ai-creating-personas.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Here is my challenge to anyone who thinks AI-generated personas are somehow fake. What makes you think your personas are so much better? Every persona is a story of a <strong>hypothetical user</strong>. You make judgment calls when you create personas, too. At least AI can process far more information than you can and is brilliant at pattern recognition.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aMy%20only%20concern%20is%20that%20relying%20too%20heavily%20on%20AI%20could%20disconnect%20us%20from%20real%20users.%20We%20still%20need%20to%20talk%20to%20people.%20We%20still%20need%20that%20empathy.%20But%20as%20a%20tool%20to%20synthesize%20research%20and%20create%20reference%20points?%20It%20is%20excellent.%0a&url=https://smashingmagazine.com%2f2025%2f10%2fai-ux-achieve-more-with-less%2f">
      
My only concern is that relying too heavily on AI could disconnect us from real users. We still need to talk to people. We still need that empathy. But as a tool to synthesize research and create reference points? It is excellent.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<h2 id="using-ai-for-design-and-development">Using AI For Design And Development</h2>

<p>Let me start with a warning. AI is not production-ready. Not yet. Not for the kind of client work I do, anyway.</p>

<p>Three reasons why:</p>

<ol>
<li>It is slow if you want something specific or complicated.</li>
<li>It can be frustrating because it gets close but not quite there.</li>
<li>And the quality is often subpar. Unpolished code, questionable design choices, that kind of thing.</li>
</ol>

<p>But that does not mean it is not useful. It absolutely is. Just not for final production work.</p>

<h3 id="functional-prototypes">Functional Prototypes</h3>

<p>If you are not too concerned with matching a specific design, AI can quickly prototype functionality in ways that are hard to match in Figma. Because Figma is terrible at prototyping functionality. You cannot even create an active form field in a Figma prototype. It’s the biggest thing people do online other than click links &mdash; and you cannot test it.</p>

<p>Tools like <a href="https://www.relume.io/">Relume</a> and <a href="https://bolt.new/">Bolt</a> can create quick functional mockups that show roughly how things work. They are great for non-designers who just need to throw together a prototype quickly. For designers, they can be useful for showing developers how you want something to work.</p>

<p>But you can spend ages getting them to put a hamburger menu on the right side of the screen. So use them for quick iteration, not pixel-perfect design.</p>

<h3 id="small-coding-tasks">Small Coding Tasks</h3>

<p>I use AI constantly for small, low-risk coding work. I am not a developer anymore. I used to be, back when dinosaurs roamed the earth, but not for years.</p>

<p>AI lets me create the little tools I need. <a href="https://boagworld.com/boagworks/convince-the-boss/">A calculator that calculates the ROI of my UX work</a>. An app for running top task analysis. Bits of JavaScript for hiding elements on a page. WordPress plugins for updating dates automatically.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/ai-ux-achieve-more-with-less/3-bolt-tool.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="465"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/3-bolt-tool.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/3-bolt-tool.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/3-bolt-tool.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/3-bolt-tool.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/3-bolt-tool.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/3-bolt-tool.png"
			
			sizes="100vw"
			alt="Screenshot of the Bolt tool"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      I find Bolt an incredibly intuitive tool for building quick prototypes for low-risk apps. (<a href='https://files.smashing.media/articles/ai-ux-achieve-more-with-less/3-bolt-tool.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Just before running my workshop on this topic, I needed a tool to create calendar invites for multiple events. All the online services wanted £16 a month. I asked ChatGPT to build me one. One prompt. It worked. It looked rubbish, but I did not care. It did what I needed.</p>

<p>If you are a developer, you should absolutely be using tools like <a href="https://cursor.com/">Cursor</a> by now. They are invaluable for pair programming with AI. But if you are not a developer, just stick with Claude or Bolt for quick throwaway tools.</p>

<h3 id="reviewing-existing-services">Reviewing Existing Services</h3>

<p>There are some great tools for getting quick feedback on existing websites when budget and time are tight.</p>

<p>If you need to conduct a <a href="https://boagworld.com/l/ux-audit/">UX audit</a>, <a href="https://wevo.ai/takeapulse/">Wevo Pulse</a> is an excellent starting point. It automatically reviews a website based on personas and provides visual attention heatmaps, friction scores, and specific improvement recommendations. It generates insights in minutes rather than days.</p>

<p>Now, let me be clear. This does not replace having an experienced person conduct a proper UX audit. You still need that human expertise to understand context, make judgment calls, and spot issues that AI might miss. But as a starting point to identify obvious problems quickly? It is a great tool. Particularly when budget or time constraints mean a full audit is not on the table.</p>

<p>For e-commerce sites, <a href="https://baymard.com/product/ux-ray">Baymard has UX Ray</a>, which analyzes flaws based on their massive database of user research.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/ai-ux-achieve-more-with-less/4-baymard-ux-ray.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="465"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/4-baymard-ux-ray.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/4-baymard-ux-ray.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/4-baymard-ux-ray.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/4-baymard-ux-ray.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/4-baymard-ux-ray.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/4-baymard-ux-ray.png"
			
			sizes="100vw"
			alt="Screenshot of the Baymard UX-ray"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Baymard UX-ray is an incredibly handy tool for improving the quality of your UX audits. (<a href='https://files.smashing.media/articles/ai-ux-achieve-more-with-less/4-baymard-ux-ray.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="checking-your-designs">Checking Your Designs</h3>

<p><a href="https://attentioninsight.com/">Attention Insight</a> has taken thousands of hours of eye-tracking studies and trained AI on it to predict where people will look on a page. It has about 90 to 96 percent accuracy.</p>

<p>You upload a screenshot of your design, and it shows you where attention is going. Then you can play around with your imagery and layout to guide attention to the right place.</p>

<p>It is great for dealing with stakeholders who say, <em>“People won’t see that.”</em> You can prove they will. Or equally, when stakeholders try to crowd the interface with too much stuff, you can show them attention shooting everywhere.</p>

<p>I use this constantly. Here is a real example from a pet insurance company. They had photos of a dog, cat, and rabbit for different types of advice. The dog was far from the camera. The cat was looking directly at the camera, pulling all the attention. The rabbit was half off-frame. Most attention went to the cat’s face.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/ai-ux-achieve-more-with-less/5-attention-insight.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="421"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/5-attention-insight.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/5-attention-insight.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/5-attention-insight.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/5-attention-insight.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/5-attention-insight.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/5-attention-insight.png"
			
			sizes="100vw"
			alt="An example from a pet insurance company tested by Attention Insight"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      (<a href='https://files.smashing.media/articles/ai-ux-achieve-more-with-less/5-attention-insight.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>I redesigned it using AI-generated images, where I could control exactly where each animal looked. Dog looking at the camera. Cat looking right. Rabbit looking left. All the attention drawn into the center. Made a massive difference.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/ai-ux-achieve-more-with-less/6-redesigned-ai-version.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="394"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/6-redesigned-ai-version.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/6-redesigned-ai-version.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/6-redesigned-ai-version.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/6-redesigned-ai-version.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/6-redesigned-ai-version.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/6-redesigned-ai-version.png"
			
			sizes="100vw"
			alt="Redesigned version of the previous example with AI-generated images."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      AI can be used to create images that are consistent with a brand identity and are designed to draw attention to specific elements. (<a href='https://files.smashing.media/articles/ai-ux-achieve-more-with-less/6-redesigned-ai-version.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="creating-the-perfect-image">Creating The Perfect Image</h3>

<p>I use AI all the time for creating images that do a specific job. My preferred tools are <a href="https://www.midjourney.com/">Midjourney</a> and Gemini.</p>

<p>I like Midjourney because, visually, it creates stunning imagery. You can dial in the tone and style you want. The downside is that it is not great at following specific instructions.</p>

<p>So I produce an image in Midjourney that is close, then upload it to Gemini. Gemini is not as good at visual style, but it is much better at following instructions. <em>“Make the guy reach here”</em> or <em>“Add glasses to this person.”</em> I can get pretty much exactly what I want.</p>

<p>The other thing I love about Midjourney is that you can upload a photograph and say, <em>“Replicate this style.”</em> This keeps <strong>consistency</strong> across a website. I have a master image I use as a reference for all my site imagery to keep the style consistent.</p>

<h2 id="using-ai-for-content">Using AI For Content</h2>

<p>Most clients give you terrible copy. Our job is to improve the user experience or conversion rate, and anything we do gets utterly undermined by bad copy.</p>

<p>I have completely stopped asking clients for copy since AI came along. Here is my process.</p>

<h3 id="build-everything-around-questions">Build Everything Around Questions</h3>

<p>Once I have my information architecture, I get AI to generate a massive list of questions users will ask. Then I run a <a href="https://www.smashingmagazine.com/2022/05/top-tasks-focus-what-matters-must-defocus-what-doesnt/">top task analysis</a> where people vote on which questions matter most.</p>

<p>I assign those questions to pages on the site. Every page gets a list of the questions it needs to answer.</p>

<h3 id="get-bullet-point-answers-from-stakeholders">Get Bullet Point Answers From Stakeholders</h3>

<p>I spin up the content management system with a really basic theme. Just HTML with very basic formatting. I go through every page and assign the questions.</p>

<p>Then I go to my clients and say: <em>“I do not want you to write copy. Just go through every page and bullet point answers to the questions. If the answer exists on the old site, copy and paste some text or link to it. But just bullet points.”</em></p>

<p>That is their job done. Pretty much.</p>

<div class="partners__lead-place"></div>

<h3 id="let-ai-draft-the-copy">Let AI Draft The Copy</h3>

<p>Now I take control. I feed ChatGPT the questions and bullet points and say:</p>

<blockquote>Act as an online copywriter. Write copy for a webpage that answers the question [question]. Use the following bullet points to answer that question: [bullet points]. Use the following guidelines: Aim for a ninth-grade reading level or below. Sentences should be short. Use plain language. Avoid jargon. Refer to the reader as you. Refer to the writer as us. Ensure the tone is friendly, approachable, and reassuring. The goal is to [goal]. Think deeply about your approach. Create a rubric and iterate until the copy is excellent. Only then, output it.</blockquote>

<p>I often upload a full style guide as well, with details about how I want it to be written.</p>

<p>The output is genuinely good. As a first draft, it is excellent. Far better than what most stakeholders would give me.</p>

<h3 id="stakeholders-review-and-provide-feedback">Stakeholders Review And Provide Feedback</h3>

<p>That goes into the website, and stakeholders can comment on it. Once I get their feedback, I take the original copy and all their comments back into ChatGPT and say, <em>“Rewrite using these comments.”</em></p>

<p>Job done.</p>

<p>The great thing about this approach is that even if stakeholders make loads of changes, they are making changes to a good foundation. The overall quality still comes out better than if they started with a blank sheet.</p>

<p>It also makes things go smoother because you are not criticizing their content, where they get defensive. They are criticizing AI content.</p>

<h3 id="tools-that-help">Tools That Help</h3>

<p>If your stakeholders are still giving you content, <a href="https://hemingwayapp.com/">Hemingway Editor</a> is brilliant. Copy and paste text in, and it tells you how readable and scannable it is. It highlights long sentences and jargon. You can use this to prove to clients that their content is not good web copy.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/ai-ux-achieve-more-with-less/7-hemingway-editor.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="497"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/7-hemingway-editor.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/7-hemingway-editor.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/7-hemingway-editor.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/7-hemingway-editor.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/7-hemingway-editor.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/ai-ux-achieve-more-with-less/7-hemingway-editor.png"
			
			sizes="100vw"
			alt="Screenshot of the Hemingway Editor"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Hemingway Editor is superb at rewriting copy to be more web-friendly. (<a href='https://files.smashing.media/articles/ai-ux-achieve-more-with-less/7-hemingway-editor.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>If you pay for the pro version, you get AI tools that will rewrite the copy to be more readable. It is excellent.</p>

<h2 id="what-this-means-for-you">What This Means for You</h2>

<p>Let me be clear about something. None of this is perfect. AI makes mistakes. It hallucinates. It produces bland output if you do not push it hard enough. It requires constant checking and challenging.</p>

<p>But here is what I know from two years of using this stuff daily. It has made me <strong>faster</strong>. It has made me <strong>better</strong>. It has freed me up to do <strong>more strategic thinking</strong> and <strong>less grunt work</strong>.</p>

<p>A report that would have taken me five days now takes three hours. That is not an exaggeration. That is real.</p>

<p>Overall, AI probably gives me a 25 to 33 percent increase in what I can do. That is significant.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aYour%20value%20as%20a%20UX%20professional%20lies%20in%20your%20ideas,%20your%20questions,%20and%20your%20thinking.%20Not%20your%20ability%20to%20use%20Figma.%20Not%20your%20ability%20to%20manually%20review%20transcripts.%20Not%20your%20ability%20to%20write%20reports%20from%20scratch.%0a&url=https://smashingmagazine.com%2f2025%2f10%2fai-ux-achieve-more-with-less%2f">
      
Your value as a UX professional lies in your ideas, your questions, and your thinking. Not your ability to use Figma. Not your ability to manually review transcripts. Not your ability to write reports from scratch.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>AI cannot innovate. It cannot make creative leaps. It cannot know whether its output is good. It cannot understand what it is like to be human.</p>

<p>That is where you come in. That is where you will always come in.</p>

<p>Start small. Do not try to learn everything at once. Just ask yourself throughout your day: Could I do this with AI? Try it. See what happens. Double-check everything. Learn what works and what does not.</p>

<p>Treat it like an enthusiastic intern with zero life experience. Give it clear instructions. Check its work. Make it try again. Challenge it. Push it further.</p>

<p>And remember, it is not going to take your job. It is going to change it. For the better, I think. As long as we learn to work with it rather than against it.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Yegor Gilyov</author><title>Intent Prototyping: A Practical Guide To Building With Clarity (Part 2)</title><link>https://www.smashingmagazine.com/2025/10/intent-prototyping-practical-guide-building-clarity/</link><pubDate>Fri, 03 Oct 2025 10:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2025/10/intent-prototyping-practical-guide-building-clarity/</guid><description>Ready to move beyond static mockups? Here is a practical, step-by-step guide to Intent Prototyping &amp;mdash; a disciplined method that uses AI to turn your design intent (UI sketches, conceptual models, and user flows) directly into a live prototype, making it your primary canvas for ideation.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2025/10/intent-prototyping-practical-guide-building-clarity/" />
              <title>Intent Prototyping: A Practical Guide To Building With Clarity (Part 2)</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Intent Prototyping: A Practical Guide To Building With Clarity (Part 2)</h1>
                  
                    
                    <address>Yegor Gilyov</address>
                  
                  <time datetime="2025-10-03T10:00:00&#43;00:00" class="op-published">2025-10-03T10:00:00+00:00</time>
                  <time datetime="2025-10-03T10:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>In <strong><a href="https://www.smashingmagazine.com/2025/09/intent-prototyping-pure-vibe-coding-enterprise-ux/">Part 1</a></strong> of this series, we explored the “lopsided horse” problem born from mockup-centric design and demonstrated how the seductive promise of vibe coding often leads to structural flaws. The main question remains:</p>

<blockquote>How might we close the gap between our design intent and a live prototype, so that we can iterate on real functionality from day one, without getting caught in the ambiguity trap?</blockquote>

<p>In other words, we need a way to build prototypes that are both fast to create and founded on a clear, unambiguous blueprint.</p>

<p>The answer is a more disciplined process I call <strong>Intent Prototyping</strong> (kudos to Marco Kotrotsos, who coined <a href="https://kotrotsos.medium.com/intent-oriented-programming-bridging-human-thought-and-ai-machine-execution-3a92373cc1b6">Intent-Oriented Programming</a>). This method embraces the power of AI-assisted coding but rejects ambiguity, putting the designer’s explicit <em>intent</em> at the very center of the process. It receives a holistic expression of <em>intent</em> (sketches for screen layouts, conceptual model description, boxes-and-arrows for user flows) and uses it to generate a live, testable prototype.</p>














<figure class="
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/1-intent-prototyping.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="491"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/1-intent-prototyping.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/1-intent-prototyping.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/1-intent-prototyping.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/1-intent-prototyping.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/1-intent-prototyping.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/1-intent-prototyping.jpg"
			
			sizes="100vw"
			alt="Diagram showing sketches, a conceptual model, and user flows as inputs to Intent Prototyping, which outputs a live prototype."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The Intent Prototyping workflow. (<a href='https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/1-intent-prototyping.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>This method solves the concerns we’ve discussed in Part 1 in the best way possible:</p>

<ul>
<li><strong>Unlike static mockups,</strong> the prototype is fully interactive and can be easily populated with a large amount of realistic data. This lets us test the system’s underlying logic as well as its surface.</li>
<li><strong>Unlike a vibe-coded prototype</strong>, it is built from a stable, unambiguous specification. This prevents the conceptual model failures and design debt that happen when things are unclear. The engineering team doesn’t need to reverse-engineer a black box or become “code archaeologists” to guess at the designer’s vision, as they receive not only a live prototype but also a clearly documented design intent behind it.</li>
</ul>

<p>This combination makes the method especially suited for designing complex enterprise applications. It allows us to test the system’s most critical point of failure, its underlying structure, at a speed and flexibility that was previously impossible. Furthermore, the process is built for iteration. You can explore as many directions as you want simply by changing the intent and evolving the design based on what you learn from user testing.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="my-workflow">My Workflow</h2>

<p>To illustrate this process in action, let’s walk through a case study. It’s the very same example I’ve used to illustrate the vibe coding trap: a simple tool to track tests to validate product ideas. You can find the complete project, including all the source code and documentation files discussed below, in this <a href="https://github.com/YegorGilyov/reality-check">GitHub repository</a>.</p>

<h3 id="step-1-expressing-an-intent">Step 1: Expressing An Intent</h3>

<p>Imagine we’ve already done proper research, and having mused on the defined problem, I begin to form a vague idea of what the solution might look like. I need to capture this idea immediately, so I quickly sketch it out:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/2-low-fidelity-sketch-initial-idea.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="583"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/2-low-fidelity-sketch-initial-idea.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/2-low-fidelity-sketch-initial-idea.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/2-low-fidelity-sketch-initial-idea.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/2-low-fidelity-sketch-initial-idea.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/2-low-fidelity-sketch-initial-idea.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/2-low-fidelity-sketch-initial-idea.png"
			
			sizes="100vw"
			alt="A rough sketch of screens to manage product ideas and reality checks."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      A low-fidelity sketch of the initial idea. (<a href='https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/2-low-fidelity-sketch-initial-idea.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>In this example, I used Excalidraw, but the tool doesn’t really matter. Note that we deliberately keep it rough, as visual details are not something we need to focus on at this stage. And we are not going to be stuck here: we want to make a leap from this initial sketch directly to a live prototype that we can put in front of potential users. Polishing those sketches would not bring us any closer to achieving our goal.</p>

<p>What we need to move forward is to add to those sketches just enough details so that they may serve as a sufficient input for a junior frontend developer (or, in our case, an AI assistant). This requires explaining the following:</p>

<ul>
<li>Navigational paths (clicking here takes you to).</li>
<li>Interaction details that can’t be shown in a static picture (e.g., non-scrollable areas, adaptive layout, drag-and-drop behavior).</li>
<li>What parts might make sense to build as reusable components.</li>
<li>Which components from the design system (I’m using <a href="https://ant.design/">Ant Design Library</a>) should be used.</li>
<li>Any other comments that help understand how this thing should work (while sketches illustrate how it should look).</li>
</ul>

<p>Having added all those details, we end up with such an annotated sketch:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/3-sketch-annotated-details.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="399"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/3-sketch-annotated-details.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/3-sketch-annotated-details.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/3-sketch-annotated-details.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/3-sketch-annotated-details.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/3-sketch-annotated-details.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/3-sketch-annotated-details.png"
			
			sizes="100vw"
			alt="The initial sketch with annotations specifying components, navigation, and interaction details."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The sketch annotated with details. (<a href='https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/3-sketch-annotated-details.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>As you see, this sketch covers both the Visualization and Flow aspects. You may ask, what about the Conceptual Model? Without that part, the expression of our <em>intent</em> will not be complete. One way would be to add it somewhere in the margins of the sketch (for example, as a UML Class Diagram), and I would do so in the case of a more complex application, where the model cannot be simply derived from the UI. But in our case, we can save effort and ask an LLM to generate a comprehensive description of the conceptual model based on the sketch.</p>

<p>For tasks of this sort, the LLM of my choice is Gemini 2.5 Pro. What is important is that this is a multimodal model that can accept not only text but also images as input (GPT-5 and Claude-4 also fit that criteria). I use Google AI Studio, as it gives me enough control and visibility into what’s happening:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/4-google-ai-studio.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="579"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/4-google-ai-studio.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/4-google-ai-studio.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/4-google-ai-studio.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/4-google-ai-studio.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/4-google-ai-studio.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/4-google-ai-studio.png"
			
			sizes="100vw"
			alt="Screenshot of Google AI Studio with an annotated sketch as input."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Generating a conceptual model from the sketch using Google AI Studio. (<a href='https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/4-google-ai-studio.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p><strong>Note</strong>: <em>All the prompts that I use here and below can be found in the <a href="#appendices">Appendices</a>. The prompts are not custom-tailored to any particular project; they are supposed to be reused as they are.</em></p>

<p>As a result, Gemini gives us a description and the following diagram:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/5-uml-class.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="480"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/5-uml-class.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/5-uml-class.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/5-uml-class.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/5-uml-class.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/5-uml-class.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/5-uml-class.jpg"
			
			sizes="100vw"
			alt="UML class diagram showing two connected entities: “ProductIdea” and “RealityCheck”."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      UML class diagram. (<a href='https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/5-uml-class.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>The diagram might look technical, but I believe that a clear understanding of all objects, their attributes, and relationships between them is key to good design. That’s why I consider the Conceptual Model to be an essential part of expressing <em>intent</em>, along with the Flow and Visualization.</p>

<p>As a result of this step, our <em>intent</em> is fully expressed in two files: <code>Sketch.png</code> and <code>Model.md</code>. This will be our durable source of truth.</p>

<h3 id="step-2-preparing-a-spec-and-a-plan">Step 2: Preparing A Spec And A Plan</h3>

<p>The purpose of this step is to create a comprehensive technical specification and a step-by-step plan. Most of the work here is done by AI; you just need to keep an eye on it.</p>

<p>I separate the Data Access Layer and the UI layer, and create specifications for them using two different prompts (see <a href="#appendices">Appendices 2 and 3</a>). The output of the first prompt (the Data Access Layer spec) serves as an input for the second one. Note that, as an additional input, we give the guidelines tailored for prototyping needs (see <a href="#appendices">Appendices 8, 9, and 10</a>). They are not specific to this project. The technical approach encoded in those guidelines is out of the scope of this article.</p>

<p>As a result, Gemini provides us with content for <code>DAL.md</code> and <code>UI.md</code>. Although in most cases this result is quite reliable enough, you might want to scrutinize the output. You don’t need to be a real programmer to make sense of it, but some level of programming literacy would be really helpful. However, even if you don’t have such skills, don’t get discouraged. The good news is that if you don’t understand something, you always know who to ask. Do it in Google AI Studio before refreshing the context window. If you believe you’ve spotted a problem, let Gemini know, and it will either fix it or explain why the suggested approach is actually better.</p>

<p>It’s important to remember that by their nature, <strong>LLMs are not deterministic</strong> and, to put it simply, can be forgetful about small details, especially when it comes to details in sketches. Fortunately, you don’t have to be an expert to notice that the “Delete” button, which is in the upper right corner of the sketch, is not mentioned in the spec.</p>

<p>Don’t get me wrong: Gemini does a stellar job most of the time, but there are still times when it slips up. Just let it know about the problems you’ve spotted, and everything will be fixed.</p>

<p>Once we have <code>Sketch.png</code>, <code>Model.md</code>, <code>DAL.md</code>, <code>UI.md</code>, and we have reviewed the specs, we can grab a coffee. We deserve it: our technical design documentation is complete. It will serve as a stable foundation for building the actual thing, without deviating from our original intent, and ensuring that all components fit together perfectly, and all layers are stacked correctly.</p>

<p>One last thing we can do before moving on to the next steps is to prepare a step-by-step plan. We split that plan into two parts: one for the Data Access Layer and another for the UI. You can find prompts I use to create such a plan in <a href="#appendices">Appendices 4 and 5</a>.</p>

<h3 id="step-3-executing-the-plan">Step 3: Executing The Plan</h3>

<p>To start building the actual thing, we need to switch to another category of AI tools. Up until this point, we have relied on Generative AI. It excels at creating new content (in our case, specifications and plans) based on a single prompt. I’m using Google Gemini 2.5 Pro in Google AI Studio, but other similar tools may also fit such one-off tasks: ChatGPT, Claude, Grok, and DeepSeek.</p>

<p>However, at this step, this wouldn’t be enough. Building a prototype based on specs and according to a plan requires an AI that can read context from multiple files, execute a sequence of tasks, and maintain coherence. A simple generative AI can’t do this. It would be like asking a person to build a house by only ever showing them a single brick. What we need is an agentic AI that can be given the full house blueprint and a project plan, and then get to work building the foundation, framing the walls, and adding the roof in the correct sequence.</p>

<p>My coding agent of choice is Google Gemini CLI, simply because Gemini 2.5 Pro serves me well, and I don’t think we need any middleman like Cursor or Windsurf (which would use Claude, Gemini, or GPT under the hood anyway). If I used Claude, my choice would be Claude Code, but since I’m sticking with Gemini, Gemini CLI it is. But if you prefer Cursor or Windsurf, I believe you can apply the same process with your favourite tool.</p>

<p>Before tasking the agent, we need to create a basic template for our React application. I won’t go into this here. You can find plenty of tutorials on how to scaffold an empty React project using Vite.</p>

<p>Then we put all our files into that project:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/6-project-structure-design-intent-spec-files.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="666"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/6-project-structure-design-intent-spec-files.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/6-project-structure-design-intent-spec-files.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/6-project-structure-design-intent-spec-files.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/6-project-structure-design-intent-spec-files.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/6-project-structure-design-intent-spec-files.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/6-project-structure-design-intent-spec-files.png"
			
			sizes="100vw"
			alt="A file directory showing the docs folder containing DAL.md, Model.md, Sketch.png, and UI.md."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Project structure with design intent and spec files. (<a href='https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/6-project-structure-design-intent-spec-files.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Once the basic template with all our files is ready, we open Terminal, go to the folder where our project resides, and type “gemini”:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/7-gemini.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="419"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/7-gemini.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/7-gemini.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/7-gemini.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/7-gemini.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/7-gemini.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/7-gemini.png"
			
			sizes="100vw"
			alt="Screenshot of a terminal showing the Gemini CLI."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Gemini CLI. (<a href='https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/7-gemini.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>And we send the prompt to build the Data Access Layer (see <a href="#appendices">Appendix 6</a>). That prompt implies step-by-step execution, so upon completion of each step, I send the following:</p>

<div class="break-out">
<pre><code class="language-markdown">Thank you! Now, please move to the next task.
Remember that you must not make assumptions based on common patterns; always verify them with the actual data from the spec. 
After each task, stop so that I can test it. Don’t move to the next task before I tell you to do so.
</code></pre>
</div>

<p>As the last task in the plan, the agent builds a special page where we can test all the capabilities of our Data Access Layer, so that we can manually test it. It may look like this:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/8-ai-generated-test-page-data-access-layer.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="572"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/8-ai-generated-test-page-data-access-layer.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/8-ai-generated-test-page-data-access-layer.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/8-ai-generated-test-page-data-access-layer.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/8-ai-generated-test-page-data-access-layer.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/8-ai-generated-test-page-data-access-layer.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/8-ai-generated-test-page-data-access-layer.png"
			
			sizes="100vw"
			alt="A basic webpage with forms and buttons to test the Data Access Layer’s CRUD functions."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The AI-generated test page for the Data Access Layer. (<a href='https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/8-ai-generated-test-page-data-access-layer.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>It doesn’t look fancy, to say the least, but it allows us to ensure that the Data Access Layer works correctly before we proceed with building the final UI.</p>

<p>And finally, we clear the Gemini CLI context window to give it more headspace and send the prompt to build the UI (see <a href="#appendices">Appendix 7</a>). This prompt also implies step-by-step execution. Upon completion of each step, we test how it works and how it looks, following the “Manual Testing Plan” from <code>UI-plan.md</code>. I have to say that despite the fact that the sketch has been uploaded to the model context and, in general, Gemini tries to follow it, attention to visual detail is not one of its strengths (yet). Usually, a few additional nudges are needed at each step to improve the look and feel:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/9-refined-ai-generated-ui.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="320"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/9-refined-ai-generated-ui.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/9-refined-ai-generated-ui.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/9-refined-ai-generated-ui.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/9-refined-ai-generated-ui.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/9-refined-ai-generated-ui.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/9-refined-ai-generated-ui.png"
			
			sizes="100vw"
			alt="A before-and-after comparison showing the UI&#39;s visual improvement."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Refining the AI-generated UI to match the sketch. (<a href='https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/9-refined-ai-generated-ui.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Once I’m happy with the result of a step, I ask Gemini to move on:</p>

<div class="break-out">
<pre><code class="language-markdown">Thank you! Now, please move to the next task.
Make sure you build the UI according to the sketch; this is very important. Remember that you must not make assumptions based on common patterns; always verify them with the actual data from the spec and the sketch.  
After each task, stop so that I can test it. Don’t move to the next task before I tell you to do so.
</code></pre>
</div>

<p>Before long, the result looks like this, and in every detail it works exactly as we <em>intended</em>:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/10-final-interactive-prototype.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="486"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/10-final-interactive-prototype.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/10-final-interactive-prototype.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/10-final-interactive-prototype.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/10-final-interactive-prototype.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/10-final-interactive-prototype.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/10-final-interactive-prototype.png"
			
			sizes="100vw"
			alt="Screenshots of the final, polished application UI."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The final interactive prototype. (<a href='https://files.smashing.media/articles/intent-prototyping-practical-guide-building-clarity/10-final-interactive-prototype.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>The prototype is up and running and looking nice. Does it mean that we are done with our work? Surely not, the most fascinating part is just beginning.</p>

<div class="partners__lead-place"></div>

<h3 id="step-4-learning-and-iterating">Step 4: Learning And Iterating</h3>

<p>It’s time to put the prototype in front of potential users and learn more about whether this solution relieves their pain or not.</p>

<p>And as soon as we learn something new, we iterate. We adjust or extend the sketches and the conceptual model, based on that new input, we update the specifications, create plans to make changes according to the new specifications, and execute those plans. In other words, for every iteration, we repeat the steps I’ve just walked you through.</p>

<h3 id="is-this-workflow-too-heavy">Is This Workflow Too Heavy?</h3>

<p>This four-step workflow may create an impression of a somewhat heavy process that requires too much thinking upfront and doesn’t really facilitate creativity. But before jumping to that conclusion, consider the following:</p>

<ul>
<li>In practice, only the first step requires real effort, as well as learning in the last step. AI does most of the work in between; you just need to keep an eye on it.</li>
<li>Individual iterations don’t need to be big. You can start with a <a href="https://wiki.c2.com/?WalkingSkeleton">Walking Skeleton</a>: the bare minimum implementation of the thing you have in mind, and add more substance in subsequent iterations. You are welcome to change your mind about the overall direction in between iterations.</li>
<li>And last but not least, maybe the idea of “think before you do” is not something you need to run away from. A clear and unambiguous statement of intent can prevent many unnecessary mistakes and save a lot of effort down the road.</li>
</ul>

<h2 id="intent-prototyping-vs-other-methods">Intent Prototyping Vs. Other Methods</h2>

<p>There is no method that fits all situations, and Intent Prototyping is not an exception. Like any specialized tool, it has a specific purpose. The most effective teams are not those who master a single method, but those who understand which approach to use to mitigate the most significant risk at each stage. The table below gives you a way to make this choice clearer. It puts Intent Prototyping next to other common methods and tools and explains each one in terms of the primary goal it helps achieve and the specific risks it is best suited to mitigate.</p>

<table class="tablesaw break-out" style="grid-column: 3 / 18; font-size: 13pt;">
    <thead>
        <tr>
            <th>Method/Tool</th>
            <th>Goal</th>
            <th>Risks it is best suited to mitigate</th>
            <th width="300">Examples</th>
            <th>Why</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Intent Prototyping</td>
            <td>To rapidly iterate on the fundamental architecture of a data-heavy application with a complex conceptual model, sophisticated business logic, and non-linear user flows.</td>
            <td>Building a system with a flawed or incoherent conceptual model, leading to critical bugs and costly refactoring.</td>
            <td><ul><li>A CRM (Customer Relationship Management system).</li><li>A Resource Management Tool.</li><li>A No-Code Integration Platform (admin’s UI).</li></ul></td>
            <td>It enforces conceptual clarity. This not only de-risks the core structure but also produces a clear, documented blueprint that serves as a superior specification for the engineering handoff.</td>
        </tr>
        <tr>
            <td>Vibe Coding (Conversational)</td>
            <td>To rapidly explore interactive ideas through improvisation.</td>
            <td>Losing momentum because of analysis paralysis.</td>
            <td><ul><li>An interactive data table with live sorting/filtering.</li><li>A novel navigation concept.</li><li>A proof-of-concept for a single, complex component.</li></ul></td>
            <td>It has the smallest loop between an idea conveyed in natural language and an interactive outcome.</td>
        </tr>
        <tr>
            <td>Axure</td>
            <td>To test complicated conditional logic within a specific user journey, without having to worry about how the whole system works.</td>
            <td>Designing flows that break when users don’t follow the “happy path.”</td>
            <td><ul><li>A multi-step e-commerce checkout.</li><li>A software configuration wizard.</li><li>A dynamic form with dependent fields.</li></ul></td>
            <td>It’s made to create complex <code>if-then</code> logic and manage variables visually. This lets you test complicated paths and edge cases in a user journey without writing any code.</td>
        </tr>
        <tr>
            <td>Figma</td>
            <td>To make sure that the user interface looks good, aligns with the brand, and has a clear information architecture.</td>
            <td>Making a product that looks bad, doesn't fit with the brand, or has a layout that is hard to understand.</td>
            <td><ul><li>A marketing landing page.</li><li>A user onboarding flow.</li><li>Presenting a new visual identity.</li></ul></td>
            <td>It excels at high-fidelity visual design and provides simple, fast tools for linking static screens.</td>
        </tr>
        <tr>
            <td>ProtoPie, Framer</td>
            <td>To make high-fidelity micro-interactions feel just right.</td>
            <td>Shipping an application that feels cumbersome and unpleasant to use because of poorly executed interactions.</td>
            <td><ul><li>A custom pull-to-refresh animation.</li><li>A fluid drag-and-drop interface.</li><li>An animated chart or data visualization.</li></ul></td>
            <td>These tools let you manipulate animation timelines, physics, and device sensor inputs in great detail. Designers can carefully work on and test the small things that make an interface feel really polished and fun to use.</td>
        </tr>
        <tr>
            <td>Low-code / No-code Tools (e.g., Bubble, Retool)</td>
            <td>To create a working, data-driven app as quickly as possible.</td>
            <td>The application will never be built because traditional development is too expensive.</td>
            <td><ul><li>An internal inventory tracker.</li><li>A customer support dashboard.</li><li>A simple directory website.</li></ul></td>
            <td>They put a UI builder, a database, and hosting all in one place. The goal is not merely to make a prototype of an idea, but to make and release an actual, working product. This is the last step for many internal tools or MVPs.</td>
        </tr>
    </tbody>
</table>

<p><br /></p>

<p>The key takeaway is that each method is a <strong>specialized tool for mitigating a specific type of risk</strong>. For example, Figma de-risks the visual presentation. ProtoPie de-risks the feel of an interaction. Intent Prototyping is in a unique position to tackle the most foundational risk in complex applications: building on a flawed or incoherent conceptual model.</p>

<div class="partners__lead-place"></div>

<h2 id="bringing-it-all-together">Bringing It All Together</h2>

<p>The era of the “lopsided horse” design, sleek on the surface but structurally unsound, is a direct result of the trade-off between fidelity and flexibility. This trade-off has led to a process filled with redundant effort and misplaced focus. Intent Prototyping, powered by modern AI, eliminates that conflict. It’s not just a shortcut to building faster &mdash; it’s a <strong>fundamental shift in how we design</strong>. By putting a clear, unambiguous <em>intent</em> at the heart of the process, it lets us get rid of the redundant work and focus on architecting a sound and robust system.</p>

<p>There are three major benefits to this renewed focus. First, by going straight to live, interactive prototypes, we shift our validation efforts from the surface to the deep, testing the system’s actual logic with users from day one. Second, the very act of documenting the design <em>intent</em> makes us clear about our ideas, ensuring that we fully understand the system’s underlying logic. Finally, this documented <em>intent</em> becomes a durable source of truth, eliminating the ambiguous handoffs and the redundant, error-prone work of having engineers reverse-engineer a designer’s vision from a black box.</p>

<p>Ultimately, Intent Prototyping changes the object of our work. It allows us to move beyond creating <strong>pictures of a product</strong> and empowers us to become architects of <strong>blueprints for a system</strong>. With the help of AI, we can finally make the live prototype the primary canvas for ideation, not just a high-effort afterthought.</p>

<h3 id="appendices">Appendices</h3>

<p>You can find the full <strong>Intent Prototyping Starter Kit</strong>, which includes all those prompts and guidelines, as well as the example from this article and a minimal boilerplate project, in this <a href="https://github.com/YegorGilyov/intent-prototyping-starter-kit">GitHub repository</a>.</p>

<div class="js-table-accordion accordion book__toc" id="TOC" aria-multiselectable="true">
    <dl class="accordion-list" style="margin-bottom: 1em" data-handler="Accordion">
          <dt tabindex="0" class="accordion-item" id="accordion-item-0" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  Appendix 1: Sketch to UML Class Diagram
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd style="max-height: none;" class="accordion-desc" id="accordion-desc-0" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p><div class="break-out">
<pre><code class="language-markdown">You are an expert Senior Software Architect specializing in Domain-Driven Design. You are tasked with defining a conceptual model for an app based on information from a UI sketch.

&#35;&#35; Workflow

Follow these steps precisely:

&#42;&#42;Step 1:&#42;&#42; Analyze the sketch carefully. There should be no ambiguity about what we are building.

&#42;&#42;Step 2:&#42;&#42; Generate the conceptual model description in the Mermaid format using a UML class diagram.

&#35;&#35; Ground Rules

- Every entity must have the following attributes:
    - `id` (string)
    - `createdAt` (string, ISO 8601 format)
    - `updatedAt` (string, ISO 8601 format)
- Include all attributes shown in the UI: If a piece of data is visually represented as a field for an entity, include it in the model, even if it's calculated from other attributes.
- Do not add any speculative entities, attributes, or relationships ("just in case"). The model should serve the current sketch's requirements only. 
- Pay special attention to cardinality definitions (e.g., if a relationship is optional on both sides, it cannot be `"1" -- "0..*"`, it must be `"0..1" -- "0..*"`).
- Use only valid syntax in the Mermaid diagram.
- Do not include enumerations in the Mermaid diagram.
- Add comments explaining the purpose of every entity, attribute, and relationship, and their expected behavior (not as a part of the diagram, in the Markdown file).

&#35;&#35; Naming Conventions

- Names should reveal intent and purpose.
- Use PascalCase for entity names.
- Use camelCase for attributes and relationships.
- Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError).

&#35;&#35; Final Instructions

- &#42;&#42;No Assumptions:** Base every detail on visual evidence in the sketch, not on common design patterns. 
- &#42;*Double-Check:** After composing the entire document, read through it to ensure the hierarchy is logical, the descriptions are unambiguous, and the formatting is consistent. The final document should be a self-contained, comprehensive specification. 
- &#42;&#42;Do not add redundant empty lines between items.&#42;&#42; 

Your final output should be the complete, raw markdown content for `Model.md`.
</code></pre>
</div>
</p>
             </div>
         </dd>
          <dt tabindex="0" class="accordion-item" id="accordion-item-1" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  Appendix 2: Sketch to DAL Spec
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd style="max-height: none;" class="accordion-desc" id="accordion-desc-1" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p><div class="break-out">
<pre><code class="language-markdown">You are an expert Senior Frontend Developer specializing in React, TypeScript, and Zustand. You are tasked with creating a comprehensive technical specification for the development team in a structured markdown document, based on a UI sketch and a conceptual model description. 

&#35;&#35; Workflow

Follow these steps precisely:

&#42;&#42;Step 1:&#42;&#42; Analyze the documentation carefully:

- `Model.md`: the conceptual model
- `Sketch.png`: the UI sketch

There should be no ambiguity about what we are building.

&#42;&#42;Step 2:&#42;&#42; Check out the guidelines:

- `TS-guidelines.md`: TypeScript Best Practices
- `React-guidelines.md`: React Best Practices
- `Zustand-guidelines.md`: Zustand Best Practices

&#42;&#42;Step 3:&#42;&#42; Create a Markdown specification for the stores and entity-specific hook that implements all the logic and provides all required operations.

---

&#35;&#35; Markdown Output Structure

Use this template for the entire document.

```markdown

&#35; Data Access Layer Specification

This document outlines the specification for the data access layer of the application, following the principles defined in `docs/guidelines/Zustand-guidelines.md`.

&#35;&#35; 1. Type Definitions

Location: `src/types/entities.ts`

&#35;&#35;&#35; 1.1. `BaseEntity`

A shared interface that all entities should extend.

[TypeScript interface definition]

&#35;&#35;&#35; 1.2. `[Entity Name]`

The interface for the [Entity Name] entity.

[TypeScript interface definition]

&#35;&#35; 2. Zustand Stores

&#35;&#35;&#35; 2.1. Store for `[Entity Name]`

&#42;&#42;Location:&#42;&#42; `src/stores/[Entity Name (plural)].ts`

The Zustand store will manage the state of all [Entity Name] items.

&#42;&#42;Store State (`[Entity Name]State`):&#42;&#42;

[TypeScript interface definition]

&#42;&#42;Store Implementation (`use[Entity Name]Store`):&#42;&#42;

- The store will be created using `create&lt;[Entity Name]State&gt;()(...)`.
- It will use the `persist` middleware from `zustand/middleware` to save state to `localStorage`. The persistence key will be `[entity-storage-key]`.
- `[Entity Name (plural, camelCase)]` will be a dictionary (`Record&lt;string, [Entity]&gt;`) for O(1) access.

&#42;&#42;Actions:&#42;&#42;

- &#42;&#42;`add[Entity Name]`&#42;&#42;:  
    [Define the operation behavior based on entity requirements]
- &#42;&#42;`update[Entity Name]`&#42;&#42;:  
    [Define the operation behavior based on entity requirements]
- &#42;&#42;`remove[Entity Name]`&#42;&#42;:  
    [Define the operation behavior based on entity requirements]
- &#42;&#42;`doSomethingElseWith[Entity Name]`&#42;&#42;:  
    [Define the operation behavior based on entity requirements]
    
&#35;&#35; 3. Custom Hooks

&#35;&#35;&#35; 3.1. `use[Entity Name (plural)]`

&#42;&#42;Location:&#42;&#42; `src/hooks/use[Entity Name (plural)].ts`

The hook will be the primary interface for UI components to interact with [Entity Name] data.

&#42;&#42;Hook Return Value:&#42;&#42;

[TypeScript interface definition]

&#42;&#42;Hook Implementation:&#42;&#42;

[List all properties and methods returned by this hook, and briefly explain the logic behind them, including data transformations, memoization. Do not write the actual code here.]

```

--- 

&#35;&#35; Final Instructions

- &#42;&#42;No Assumptions:&#42;&#42; Base every detail in the specification on the conceptual model or visual evidence in the sketch, not on common design patterns. 
- &#42;&#42;Double-Check:&#42;&#42; After composing the entire document, read through it to ensure the hierarchy is logical, the descriptions are unambiguous, and the formatting is consistent. The final document should be a self-contained, comprehensive specification. 
- &#42;&#42;Do not add redundant empty lines between items.&#42;&#42; 

Your final output should be the complete, raw markdown content for `DAL.md`.
</code></pre>
</div>
</p>
             </div>
         </dd>
          <dt tabindex="0" class="accordion-item" id="accordion-item-2" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  Appendix 3: Sketch to UI Spec
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd style="max-height: none;" class="accordion-desc" id="accordion-desc-2" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p><div class="break-out">
<pre><code class="language-markdown">You are an expert Senior Frontend Developer specializing in React, TypeScript, and the Ant Design library. You are tasked with creating a comprehensive technical specification by translating a UI sketch into a structured markdown document for the development team.

&#35;&#35; Workflow

Follow these steps precisely:

&#42;&#42;Step 1:&#42;&#42; Analyze the documentation carefully: 

- `Sketch.png`: the UI sketch
  - Note that red lines, red arrows, and red text within the sketch are annotations for you and should not be part of the final UI design. They provide hints and clarification. Never translate them to UI elements directly.
- `Model.md`: the conceptual model
- `DAL.md`: the Data Access Layer spec

There should be no ambiguity about what we are building.

&#42;&#42;Step 2:&#42;&#42; Check out the guidelines:

- `TS-guidelines.md`: TypeScript Best Practices
- `React-guidelines.md`: React Best Practices

&#42;&#42;Step 3:&#42;&#42; Generate the complete markdown content for a new file, `UI.md`.

---

&#35;&#35; Markdown Output Structure

Use this template for the entire document.

```markdown

&#35; UI Layer Specification

This document specifies the UI layer of the application, breaking it down into pages and reusable components based on the provided sketches. All components will adhere to Ant Design's principles and utilize the data access patterns defined in `docs/guidelines/Zustand-guidelines.md`.

&#35;&#35; 1. High-Level Structure

The application is a single-page application (SPA). It will be composed of a main layout, one primary page, and several reusable components. 

&#35;&#35;&#35; 1.1. `App` Component

The root component that sets up routing and global providers.

-   &#42;&#42;Location&#42;&#42;: `src/App.tsx`
-   &#42;&#42;Purpose&#42;&#42;: To provide global context, including Ant Design's `ConfigProvider` and `App` contexts for message notifications, and to render the main page.
-   &#42;&#42;Composition&#42;&#42;:
  -   Wraps the application with `ConfigProvider` and `App as AntApp` from 'antd' to enable global message notifications as per `simple-ice/antd-messages.mdc`.
  -   Renders `[Page Name]`.

&#35;&#35; 2. Pages

&#35;&#35;&#35; 2.1. `[Page Name]`

-   &#42;&#42;Location:&#42;&#42; `src/pages/PageName.tsx`
-   &#42;&#42;Purpose:&#42;&#42; [Briefly describe the main goal and function of this page]
-   &#42;&#42;Data Access:&#42;&#42;
  [List the specific hooks and functions this component uses to fetch or manage its data]
-   &#42;&#42;Internal State:&#42;&#42;
    [Describe any state managed internally by this page using `useState`]
-   &#42;&#42;Composition:&#42;&#42;
    [Briefly describe the content of this page]
-   &#42;&#42;User Interactions:&#42;&#42;
    [Describe how the user interacts with this page] 
-   &#42;&#42;Logic:&#42;&#42;
  [If applicable, provide additional comments on how this page should work]

&#35;&#35; 3. Components

&#35;&#35;&#35; 3.1. `[Component Name]`

-   &#42;&#42;Location:&#42;&#42; `src/components/ComponentName.tsx`
-   &#42;&#42;Purpose:&#42;&#42; [Explain what this component does and where it's used]
-   &#42;&#42;Props:&#42;&#42;
  [TypeScript interface definition for the component's props. Props should be minimal. Avoid prop drilling by using hooks for data access.]
-   &#42;&#42;Data Access:&#42;&#42;
    [List the specific hooks and functions this component uses to fetch or manage its data]
-   &#42;&#42;Internal State:&#42;&#42;
    [Describe any state managed internally by this component using `useState`]
-   &#42;&#42;Composition:&#42;&#42;
    [Briefly describe the content of this component]
-   &#42;&#42;User Interactions:&#42;&#42;
    [Describe how the user interacts with the component]
-   &#42;&#42;Logic:&#42;&#42;
  [If applicable, provide additional comments on how this component should work]
  
```

--- 

&#35;&#35; Final Instructions

- &#42;&#42;No Assumptions:&#42;&#42; Base every detail on the visual evidence in the sketch, not on common design patterns. 
- &#42;&#42;Double-Check:&#42;&#42; After composing the entire document, read through it to ensure the hierarchy is logical, the descriptions are unambiguous, and the formatting is consistent. The final document should be a self-contained, comprehensive specification. 
- &#42;&#42;Do not add redundant empty lines between items.&#42;&#42; 

Your final output should be the complete, raw markdown content for `UI.md`.
</code></pre>
</div>
</p>
             </div>
         </dd>
          <dt tabindex="0" class="accordion-item" id="accordion-item-3" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  Appendix 4: DAL Spec to Plan
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd style="max-height: none;" class="accordion-desc" id="accordion-desc-3" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p><div class="break-out">
<pre><code class="language-markdown">You are an expert Senior Frontend Developer specializing in React, TypeScript, and Zustand. You are tasked with creating a plan to build a Data Access Layer for an application based on a spec.

&#35;&#35; Workflow

Follow these steps precisely:

&#42;&#42;Step 1:&#42;&#42; Analyze the documentation carefully:

- `DAL.md`: The full technical specification for the Data Access Layer of the application. Follow it carefully and to the letter.

There should be no ambiguity about what we are building.

&#42;&#42;Step 2:&#42;&#42; Check out the guidelines:

- `TS-guidelines.md`: TypeScript Best Practices
- `React-guidelines.md`: React Best Practices
- `Zustand-guidelines.md`: Zustand Best Practices

&#42;&#42;Step 3:&#42;&#42; Create a step-by-step plan to build a Data Access Layer according to the spec. 

Each task should:

- Focus on one concern
- Be reasonably small
- Have a clear start + end
- Contain clearly defined Objectives and Acceptance Criteria

The last step of the plan should include creating a page to test all the capabilities of our Data Access Layer, and making it the start page of this application, so that I can manually check if it works properly. 

I will hand this plan over to an engineering LLM that will be told to complete one task at a time, allowing me to review results in between.

&#35;&#35; Final Instructions
 
- Note that we are not starting from scratch; the basic template has already been created using Vite.
- Do not add redundant empty lines between items.

Your final output should be the complete, raw markdown content for `DAL-plan.md`.
</code></pre>
</div></p>
             </div>
         </dd>
          <dt tabindex="0" class="accordion-item" id="accordion-item-4" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  Appendix 5: UI Spec to Plan
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd style="max-height: none;" class="accordion-desc" id="accordion-desc-4" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p><div class="break-out">
<pre><code class="language-markdown">You are an expert Senior Frontend Developer specializing in React, TypeScript, and the Ant Design library. You are tasked with creating a plan to build a UI layer for an application based on a spec and a sketch.

&#35;&#35; Workflow

Follow these steps precisely:

&#42;&#42;Step 1:&#42;&#42; Analyze the documentation carefully:

- `UI.md`: The full technical specification for the UI layer of the application. Follow it carefully and to the letter.
- `Sketch.png`: Contains important information about the layout and style, complements the UI Layer Specification. The final UI must be as close to this sketch as possible.

There should be no ambiguity about what we are building.

&#42;&#42;Step 2:&#42;&#42; Check out the guidelines:

- `TS-guidelines.md`: TypeScript Best Practices
- `React-guidelines.md`: React Best Practices

&#42;&#42;Step 3:&#42;&#42; Create a step-by-step plan to build a UI layer according to the spec and the sketch. 

Each task must:

- Focus on one concern.
- Be reasonably small.
- Have a clear start + end.
- Result in a verifiable increment of the application. Each increment should be manually testable to allow for functional review and approval before proceeding.
- Contain clearly defined Objectives, Acceptance Criteria, and Manual Testing Plan.

I will hand this plan over to an engineering LLM that will be told to complete one task at a time, allowing me to test in between.

&#35;&#35; Final Instructions

- Note that we are not starting from scratch, the basic template has already been created using Vite, and the Data Access Layer has been built successfully.
- For every task, describe how components should be integrated for verification. You must use the provided hooks to connect to the live Zustand store data—do not use mock data (note that the Data Access Layer has been already built successfully).
- The Manual Testing Plan should read like a user guide. It must only contain actions a user can perform in the browser and must never reference any code files or programming tasks.
- Do not add redundant empty lines between items.

Your final output should be the complete, raw markdown content for `UI-plan.md`.
</code></pre>
</div>
</p>
             </div>
         </dd>         
         <dt tabindex="0" class="accordion-item" id="accordion-item-4" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  Appendix 6: DAL Plan to Code
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd style="max-height: none;" class="accordion-desc" id="accordion-desc-4" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p><div class="break-out">
<pre><code class="language-markdown">You are an expert Senior Frontend Developer specializing in React, TypeScript, and Zustand. You are tasked with building a Data Access Layer for an application based on a spec.

&#35;&#35; Workflow

Follow these steps precisely:

&#42;&#42;Step 1:&#42;&#42; Analyze the documentation carefully:

- @docs/specs/DAL.md: The full technical specification for the Data Access Layer of the application. Follow it carefully and to the letter. 

There should be no ambiguity about what we are building.

&#42;&#42;Step 2:&#42;&#42; Check out the guidelines:

- @docs/guidelines/TS-guidelines.md: TypeScript Best Practices
- @docs/guidelines/React-guidelines.md: React Best Practices
- @docs/guidelines/Zustand-guidelines.md: Zustand Best Practices

&#42;&#42;Step 3:&#42;&#42; Read the plan:

- @docs/plans/DAL-plan.md: The step-by-step plan to build the Data Access Layer of the application.

&#42;&#42;Step 4:&#42;&#42; Build a Data Access Layer for this application according to the spec and following the plan. 

- Complete one task from the plan at a time. 
- After each task, stop, so that I can test it. Don’t move to the next task before I tell you to do so. 
- Do not do anything else. At this point, we are focused on building the Data Access Layer.

&#35;&#35; Final Instructions

- Do not make assumptions based on common patterns; always verify them with the actual data from the spec and the sketch. 
- Do not start the development server, I'll do it by myself.
</code></pre>
</div></p>
             </div>
         </dd>
         <dt tabindex="0" class="accordion-item" id="accordion-item-4" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  Appendix 7: UI Plan to Code
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd style="max-height: none;" class="accordion-desc" id="accordion-desc-4" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p><div class="break-out">
<pre><code class="language-markdown">You are an expert Senior Frontend Developer specializing in React, TypeScript, and the Ant Design library. You are tasked with building a UI layer for an application based on a spec and a sketch.

&#35;&#35; Workflow

Follow these steps precisely:

&#42;&#42;Step 1:&#42;&#42; Analyze the documentation carefully:

- @docs/specs/UI.md: The full technical specification for the UI layer of the application. Follow it carefully and to the letter.
- @docs/intent/Sketch.png: Contains important information about the layout and style, complements the UI Layer Specification. The final UI must be as close to this sketch as possible.
- @docs/specs/DAL.md: The full technical specification for the Data Access Layer of the application. That layer is already ready. Use this spec to understand how to work with it. 

There should be no ambiguity about what we are building.

&#42;&#42;Step 2:&#42;&#42; Check out the guidelines:

- @docs/guidelines/TS-guidelines.md: TypeScript Best Practices
- @docs/guidelines/React-guidelines.md: React Best Practices

&#42;&#42;Step 3:&#42;&#42; Read the plan:

- @docs/plans/UI-plan.md: The step-by-step plan to build the UI layer of the application.

&#42;&#42;Step 4:&#42;&#42; Build a UI layer for this application according to the spec and the sketch, following the step-by-step plan: 

- Complete one task from the plan at a time. 
- Make sure you build the UI according to the sketch; this is very important.
- After each task, stop, so that I can test it. Don’t move to the next task before I tell you to do so. 

&#35;&#35; Final Instructions

- Do not make assumptions based on common patterns; always verify them with the actual data from the spec and the sketch. 
- Follow Ant Design's default styles and components. 
- Do not touch the data access layer: it's ready and it's perfect. 
- Do not start the development server, I'll do it by myself.
</code></pre>
</div></p>
             </div>
         </dd>
         <dt tabindex="0" class="accordion-item" id="accordion-item-4" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  Appendix 8: TS-guidelines.md
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd style="max-height: none;" class="accordion-desc" id="accordion-desc-4" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p><div class="break-out">
<pre><code class="language-markdown">&#35; Guidelines: TypeScript Best Practices

&#35;&#35; Type System & Type Safety

- Use TypeScript for all code and enable strict mode.
- Ensure complete type safety throughout stores, hooks, and component interfaces.
- Prefer interfaces over types for object definitions; use types for unions, intersections, and mapped types.
- Entity interfaces should extend common patterns while maintaining their specific properties.
- Use TypeScript type guards in filtering operations for relationship safety.
- Avoid the 'any' type; prefer 'unknown' when necessary.
- Use generics to create reusable components and functions.
- Utilize TypeScript's features to enforce type safety.
- Use type-only imports (import type { MyType } from './types') when importing types, because verbatimModuleSyntax is enabled.
- Avoid enums; use maps instead.

&#35;&#35; Naming Conventions

- Names should reveal intent and purpose.
- Use PascalCase for component names and types/interfaces.
- Prefix interfaces for React props with 'Props' (e.g., ButtonProps).
- Use camelCase for variables and functions.
- Use UPPER_CASE for constants.
- Use lowercase with dashes for directories, and PascalCase for files with components (e.g., components/auth-wizard/AuthForm.tsx).
- Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError).
- Favor named exports for components.

&#35;&#35; Code Structure & Patterns

- Write concise, technical TypeScript code with accurate examples.
- Use functional and declarative programming patterns; avoid classes.
- Prefer iteration and modularization over code duplication.
- Use the "function" keyword for pure functions.
- Use curly braces for all conditionals for consistency and clarity.
- Structure files appropriately based on their purpose.
- Keep related code together and encapsulate implementation details.

&#35;&#35; Performance & Error Handling

- Use immutable and efficient data structures and algorithms.
- Create custom error types for domain-specific errors.
- Use try-catch blocks with typed catch clauses.
- Handle Promise rejections and async errors properly.
- Log errors appropriately and handle edge cases gracefully.

&#35;&#35; Project Organization

- Place shared types in a types directory.
- Use barrel exports (index.ts) for organizing exports.
- Structure files and directories based on their purpose.

&#35;&#35; Other Rules

- Use comments to explain complex logic or non-obvious decisions.
- Follow the single responsibility principle: each function should do exactly one thing.
- Follow the DRY (Don't Repeat Yourself) principle.
- Do not implement placeholder functions, empty methods, or "just in case" logic. Code should serve the current specification's requirements only.
- Use 2 spaces for indentation (no tabs).
</code></pre>
</div></p>
             </div>
         </dd>
         <dt tabindex="0" class="accordion-item" id="accordion-item-4" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  Appendix 9: React-guidelines.md
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd style="max-height: none;" class="accordion-desc" id="accordion-desc-4" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p><div class="break-out">
<pre><code class="language-markdown">&#35; Guidelines: React Best Practices

&#35;&#35; Component Structure

- Use functional components over class components
- Keep components small and focused
- Extract reusable logic into custom hooks
- Use composition over inheritance
- Implement proper prop types with TypeScript
- Structure React files: exported component, subcomponents, helpers, static content, types
- Use declarative TSX for React components
- Ensure that UI components use custom hooks for data fetching and operations rather than receive data via props, except for simplest components

&#35;&#35; React Patterns

- Utilize useState and useEffect hooks for state and side effects
- Use React.memo for performance optimization when needed
- Utilize React.lazy and Suspense for code-splitting
- Implement error boundaries for robust error handling
- Keep styles close to components

&#35;&#35; React Performance

- Avoid unnecessary re-renders
- Lazy load components and images when possible
- Implement efficient state management
- Optimize rendering strategies
- Optimize network requests
- Employ memoization techniques (e.g., React.memo, useMemo, useCallback)

&#35;&#35; React Project Structure

```
/src
- /components - UI components (every component in a separate file)
- /hooks - public-facing custom hooks (every hook in a separate file)
- /providers - React context providers (every provider in a separate file)
- /pages - page components (every page in a separate file)
- /stores - entity-specific Zustand stores (every store in a separate file)
- /styles - global styles (if needed)
- /types - shared TypeScript types and interfaces
```
</code></pre>
</div></p>
             </div>
         </dd>
         <dt tabindex="0" class="accordion-item" id="accordion-item-4" aria-expanded="false">
              <div class="book__toc__accordion-text">
                <div class="book__toc__chapter-col chapter__title">
                  Appendix 10: Zustand-guidelines.md
                </div>
              </div>
              <div class="accordion-expand-btn-wrapper">
                  <span class="accordion-expand-btn js-accordion-expand-btn">+</span>
              </div>
          </dt>
          <dd style="max-height: none;" class="accordion-desc" id="accordion-desc-4" aria-hidden="true">
              <div class="book__toc__chapter-col chapter__summary">
                <p><div class="break-out">
<pre><code class="language-markdown">&#35; Guidelines: Zustand Best Practices

&#35;&#35; Core Principles

- &#42;&#42;Implement a data layer&#42;&#42; for this React application following this specification carefully and to the letter.
- &#42;&#42;Complete separation of concerns&#42;&#42;: All data operations should be accessible in UI components through simple and clean entity-specific hooks, ensuring state management logic is fully separated from UI logic.
- &#42;&#42;Shared state architecture&#42;&#42;: Different UI components should work with the same shared state, despite using entity-specific hooks separately.

&#35;&#35; Technology Stack

- &#42;&#42;State management&#42;&#42;: Use Zustand for state management with automatic localStorage persistence via the `persist` middleware.

&#35;&#35; Store Architecture

- &#42;&#42;Base entity:&#42;&#42; Implement a BaseEntity interface with common properties that all entities extend:
```typescript 
export interface BaseEntity { 
  id: string; 
  createdAt: string; // ISO 8601 format 
  updatedAt: string; // ISO 8601 format 
}
```
- &#42;&#42;Entity-specific stores&#42;&#42;: Create separate Zustand stores for each entity type.
- &#42;&#42;Dictionary-based storage&#42;&#42;: Use dictionary/map structures (`Record<string, Entity>`) rather than arrays for O(1) access by ID.
- &#42;&#42;Handle relationships&#42;&#42;: Implement cross-entity relationships (like cascade deletes) within the stores where appropriate.

&#35;&#35; Hook Layer

The hook layer is the exclusive interface between UI components and the Zustand stores. It is designed to be simple, predictable, and follow a consistent pattern across all entities.

&#35;&#35;&#35; Core Principles

1.  &#42;&#42;One Hook Per Entity&#42;&#42;: There will be a single, comprehensive custom hook for each entity (e.g., `useBlogPosts`, `useCategories`). This hook is the sole entry point for all data and operations related to that entity. Separate hooks for single-item access will not be created.
2.  &#42;&#42;Return reactive data, not getter functions&#42;&#42;: To prevent stale data, hooks must return the state itself, not a function that retrieves state. Parameterize hooks to accept filters and return the derived data directly. A component calling a getter function will not update when the underlying data changes.
3.  &#42;&#42;Expose Dictionaries for O(1) Access&#42;&#42;: To provide simple and direct access to data, every hook will return a dictionary (`Record<string, Entity>`) of the relevant items.

&#35;&#35;&#35; The Standard Hook Pattern

Every entity hook will follow this implementation pattern:

1.  &#42;&#42;Subscribe&#42;&#42; to the entire dictionary of entities from the corresponding Zustand store. This ensures the hook is reactive to any change in the data.
2.  &#42;&#42;Filter&#42;&#42; the data based on the parameters passed into the hook. This logic will be memoized with `useMemo` for efficiency. If no parameters are provided, the hook will operate on the entire dataset.
3.  &#42;&#42;Return a Consistent Shape&#42;&#42;: The hook will always return an object containing:
    &#42;   A &#42;&#42;filtered and sorted array&#42;&#42; (e.g., `blogPosts`) for rendering lists.
    &#42;   A &#42;&#42;filtered dictionary&#42;&#42; (e.g., `blogPostsDict`) for convenient `O(1)` lookup within the component.
    &#42;   All necessary &#42;&#42;action functions&#42;&#42; (`add`, `update`, `remove`) and &#42;&#42;relationship operations&#42;&#42;.
    &#42;   All necessary &#42;&#42;helper functions&#42;&#42; and &#42;&#42;derived data objects&#42;&#42;. Helper functions are suitable for pure, stateless logic (e.g., calculators). Derived data objects are memoized values that provide aggregated or summarized information from the state (e.g., an object containing status counts). They must be derived directly from the reactive state to ensure they update automatically when the underlying data changes.

&#35;&#35; API Design Standards

- &#42;&#42;Object Parameters&#42;&#42;: Use object parameters instead of multiple direct parameters for better extensibility:
```typescript

// ✅ Preferred

add({ title, categoryIds })

// ❌ Avoid

add(title, categoryIds)

```
- &#42;&#42;Internal Methods&#42;&#42;: Use underscore-prefixed methods for cross-store operations to maintain clean separation.

&#35;&#35; State Validation Standards

- &#42;&#42;Existence checks&#42;&#42;: All `update` and `remove` operations should validate entity existence before proceeding.
- &#42;&#42;Relationship validation&#42;&#42;: Verify both entities exist before establishing relationships between them.

&#35;&#35; Error Handling Patterns

- &#42;&#42;Operation failures&#42;&#42;: Define behavior when operations fail (e.g., updating non-existent entities).
- &#42;&#42;Graceful degradation&#42;&#42;: How to handle missing related entities in helper functions.

&#35;&#35; Other Standards

- &#42;&#42;Secure ID generation&#42;&#42;: Use `crypto.randomUUID()` for entity ID generation instead of custom implementations for better uniqueness guarantees and security.
- &#42;&#42;Return type consistency&#42;&#42;: `add` operations return generated IDs for component workflows requiring immediate entity access, while `update` and `remove` operations return `void` to maintain clean modification APIs.
</code></pre>
</div></p>
             </div>
         </dd>    
    <span></span></dl>
</div>
                

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Lyndon Cerejo</author><title>From Prompt To Partner: Designing Your Custom AI Assistant</title><link>https://www.smashingmagazine.com/2025/09/from-prompt-to-partner-designing-custom-ai-assistant/</link><pubDate>Fri, 26 Sep 2025 10:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2025/09/from-prompt-to-partner-designing-custom-ai-assistant/</guid><description>What if your best AI prompts didn’t disappear into your unorganized chat history, but came back tomorrow as a reliable assistant? In this article, you’ll learn how to turn one-off “aha” prompts into reusable assistants that are tailored to your audience, grounded in your knowledge, and consistent every time, saving you (and your team) from typing the same 448-word prompt ever again. No coding, just designing, and by the end, you’ll have a custom AI assistant that can augment your team.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2025/09/from-prompt-to-partner-designing-custom-ai-assistant/" />
              <title>From Prompt To Partner: Designing Your Custom AI Assistant</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>From Prompt To Partner: Designing Your Custom AI Assistant</h1>
                  
                    
                    <address>Lyndon Cerejo</address>
                  
                  <time datetime="2025-09-26T10:00:00&#43;00:00" class="op-published">2025-09-26T10:00:00+00:00</time>
                  <time datetime="2025-09-26T10:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>In “<a href="https://www.smashingmagazine.com/2025/08/week-in-life-ai-augmented-designer/">A Week In The Life Of An AI-Augmented Designer</a>”, Kate stumbled her way through an AI-augmented sprint (coffee was chugged, mistakes were made). In “<a href="https://www.smashingmagazine.com/2025/08/prompting-design-act-brief-guide-iterate-ai/">Prompting Is A Design Act</a>”, we introduced WIRE+FRAME, a framework to structure prompts like designers structure creative briefs. Now we’ll take the next step: packaging those structured prompts into AI assistants you can design, reuse, and share.</p>

<p>AI assistants go by different names: CustomGPTs (ChatGPT), Agents (Copilot), and Gems (Gemini). But they all serve the same function &mdash; allowing you to customize the default AI model for your unique needs. If we carry over our smart intern analogy, think of these as interns trained to assist you with specific tasks, eliminating the need for repeated instructions or information, and who can support not just you, but your entire team.</p>

<h2 id="why-build-your-own-assistant">Why Build Your Own Assistant?</h2>

<p>If you’ve ever copied and pasted the same mega-prompt for the n<sup>th</sup> time, you’ve experienced the pain. An AI assistant turns a one-off “great prompt” into a dependable teammate. And if you’ve used any of the publicly available AI Assistants, you’ve realized quickly that they’re usually generic and not tailored for your use.</p>

<p>Public AI assistants are great for inspiration, but nothing beats an assistant that solves a repeated problem for you and your team, in <strong>your voice</strong>, with <strong>your context and constraints</strong> baked in. Instead of reinventing the wheel by writing new prompts each time, or repeatedly copy-pasting your structured prompts every time, or spending cycles trying to make a public AI Assistant work the way you need it to, your own AI Assistant allows you and others to easily get better, repeatable, consistent results faster.</p>

<h3 id="benefits-of-reusing-prompts-even-your-own">Benefits Of Reusing Prompts, Even Your Own</h3>

<p>Some of the benefits of building your own AI Assistant over writing or reusing your prompts include:</p>

<ul>
<li><strong>Focused on a real repeating problem</strong><br />
A good AI Assistant isn’t a general-purpose “do everything” bot that you need to keep tweaking. It focuses on a single, recurring problem that takes a long time to complete manually and often results in varying quality depending on who’s doing it (e.g., analyzing customer feedback).</li>
<li><strong>Customized for your context</strong><br />
Most large language models (LLMs, such as ChatGPT) are designed to be everything to everyone. An AI Assistant changes that by allowing you to customize it to automatically work like you want it to, instead of a generic AI.</li>
<li><strong>Consistency at scale</strong><br />
You can use the <a href="https://www.smashingmagazine.com/2025/08/prompting-design-act-brief-guide-iterate-ai/#anatomy-structure-it-like-a-designer">WIRE+FRAME prompt framework</a> to create structured, reusable prompts. An AI Assistant is the next logical step: instead of copy-pasting that fine-tuned prompt and sharing contextual information and examples each time, you can bake it into the assistant itself, allowing you and others achieve the same consistent results every time.</li>
<li><strong>Codifying expertise</strong><br />
Every time you turn a great prompt into an AI Assistant, you’re essentially bottling your expertise. Your assistant becomes a living design guide that outlasts projects (and even job changes).</li>
<li><strong>Faster ramp-up for teammates</strong><br />
Instead of new designers starting from a blank slate, they can use pre-tuned assistants. Think of it as knowledge transfer without the long onboarding lecture.

<br /></li>
</ul>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h3 id="reasons-for-your-own-ai-assistant-instead-of-public-ai-assistants">Reasons For Your Own AI Assistant Instead Of Public AI Assistants</h3>

<p>Public AI assistants are like stock templates. While they serve a specific purpose compared to the generic AI platform, and are useful starting points, if you want something tailored to your needs and team, you should really build your own.</p>

<p>A few reasons for building your AI Assistant instead of using a public assistant someone else created include:</p>

<ul>
<li><strong>Fit</strong>: Public assistants are built for the masses. Your work has quirks, tone, and processes they’ll never quite match.</li>
<li><strong>Trust &amp; Security</strong>: You don’t control what instructions or hidden guardrails someone else baked in. With your own assistant, you know exactly what it will (and won’t) do.</li>
<li><strong>Evolution</strong>: An AI Assistant you design and build can grow with your team. You can update files, tweak prompts, and maintain a changelog &mdash; things a public bot won’t do for you.</li>
</ul>

<p>Your own AI Assistants allow you to take your successful ways of interacting with AI and make them repeatable and shareable. And while they are tailored to your and your team’s way of working, remember that they are still based on generic AI models, so the usual AI disclaimers apply:</p>

<p><em>Don’t share anything you wouldn’t want screenshotted in the next company all-hands. Keep it safe, private, and user-respecting. A shared AI Assistant can potentially reveal its inner workings or data.</em></p>

<p><strong><em>Note</em></strong>: <em>We will be building an AI assistant using ChatGPT, aka a CustomGPT, but you can try the same process with any decent LLM sidekick. As of publication, a paid account is required to create CustomGPTs, but once created, they can be shared and used by anyone, regardless of whether they have a paid or free account. Similar limitations apply to the other platforms. Just remember that outputs can vary depending on the LLM model used, the model’s training, mood, and flair for creative hallucinations.</em></p>

<h3 id="when-not-to-build-an-ai-assistant-yet">When Not to Build An AI Assistant (Yet)</h3>

<p>An AI Assistant is great when the <em>same</em> audience has the <em>same</em> problem <em>often</em>. When the fit isn’t there, the risk is high; you should skip building an AI Assistant for now, as explained below:</p>

<ul>
<li><strong>One-off or rare tasks</strong><br />
If it won’t be reused at least monthly, I’d recommend keeping it as a saved WIRE+FRAME prompt. For example, something for a one-time audit or creating placeholder content for a specific screen.</li>
<li><strong>Sensitive or regulated data</strong><br />
If you need to build in personally identifiable information (PII), health, finance, legal, or trade secrets, err on the side of not building an AI Assistant. Even if the AI platform promises not to use your data, I’d strongly suggest using redaction or an approved enterprise tool with necessary safeguards in place (company-approved enterprise versions of Microsoft Copilot, for instance).</li>
<li><strong>Heavy orchestration or logic</strong><br />
Multi-step workflows, API calls, database writes, and approvals go beyond the scope of an AI Assistant into Agentic territory (as of now). I’d recommend not trying to build an AI Assistant for these cases.</li>
<li><strong>Real-time information</strong><br />
AI Assistants may not be able to access real-time data like prices, live metrics, or breaking news. If you need these, you can upload near-real-time data (as we do below) or connect with data sources that you or your company controls, rather than relying on the open web.</li>
<li><strong>High-stakes outputs</strong><br />
For cases related to compliance, legal, medical, or any other area requiring auditability, consider implementing process guardrails and training to keep humans in the loop for proper review and accountability.</li>
<li><strong>No measurable win</strong><br />
If you can’t name a success metric (such as time saved, first-draft quality, or fewer re-dos), I’d recommend keeping it as a saved WIRE+FRAME prompt.</li>
</ul>

<p>Just because these are signs that you should not build your AI Assistant now, doesn’t mean you shouldn’t ever. Revisit this decision when you notice that you’re starting to repeatedly use the same prompt weekly, multiple teammates ask for it, or manual time copy-pasting and refining start exceeding ~15 minutes. Those are some signs that an AI Assistant will pay back quickly.</p>

<p>In a nutshell, build an AI Assistant when you can name the problem, the audience, frequency, and the win. The rest of this article shows how to turn your successful WIRE+FRAME prompt into a CustomGPT that you and your team can actually use. No advanced knowledge, coding skills, or hacks needed.</p>

<h2 id="as-always-start-with-the-user">As Always, Start with the User</h2>

<p>This should go without saying to UX professionals, but it’s worth a reminder: if you’re building an AI assistant for anyone besides yourself, start with the user and their needs before you build anything.</p>

<ul>
<li>Who will use this assistant?</li>
<li>What’s the specific pain or task they struggle with today?</li>
<li>What language, tone, and examples will feel natural to them?</li>
</ul>

<p>Building without doing this first is a sure way to end up with clever assistants nobody actually wants to use. Think of it like any other product: before you build features, you understand your audience. The same rule applies here, even more so, because AI assistants are only as helpful as they are useful and usable.</p>

<h2 id="from-prompt-to-assistant">From Prompt To Assistant</h2>

<p>You’ve already done the heavy lifting with WIRE+FRAME. Now you’re just turning that refined and reliable prompt into a CustomGPT you can reuse and share. You can use MATCH as a checklist to go from a great prompt to a useful AI assistant.</p>

<ul>
<li><strong>M: Map your prompt</strong><br />
Port your successful WIRE+FRAME prompt into the AI assistant.</li>
<li><strong>A: Add knowledge and training</strong><br />
Ground the assistant in <em>your</em> world. Upload knowledge files, examples, or guides that make it uniquely yours.</li>
<li><strong>T: Tailor for audience</strong><br />
Make it feel natural to the people who will use it. Give it the right capabilities, but also adjust its settings, tone, examples, and conversation starters so they land with your audience.</li>
<li><strong>C: Check, test, and refine</strong><br />
Test the preview with different inputs and refine until you get the results you expect.</li>
<li><strong>H: Hand off and maintain</strong><br />
Set sharing options and permissions, share the link, and maintain it.</li>
</ul>

<p>A few weeks ago, we invited readers to share their ideas for AI assistants they wished they had. The top contenders were:</p>

<ul>
<li><strong>Prototype Prodigy</strong>: Transform rough ideas into prototypes and export them into Figma to refine.</li>
<li><strong>Critique Coach</strong>: Review wireframes or mockups and point out accessibility and usability gaps.</li>
</ul>

<p>But the favorite was an AI assistant to turn tons of customer feedback into actionable insights. Readers replied with variations of: <em>“An assistant that can quickly sort through piles of survey responses, app reviews, or open-ended comments and turn them into themes we can act on.”</em></p>

<p>And that’s the one we will build in this article &mdash; say hello to <strong>Insight Interpreter.</strong></p>

<div class="partners__lead-place"></div>

<h2 id="walkthrough-insight-interpreter">Walkthrough: Insight Interpreter</h2>

<p>Having lots of customer feedback is a nice problem to have. Companies actively seek out customer feedback through surveys and studies (solicited), but also receive feedback that may not have been asked for through social media or public reviews (unsolicited). This is a goldmine of information, but it can be messy and overwhelming trying to make sense of it all, and it’s nobody’s idea of fun. Here’s where an AI assistant like the Insight Interpreter can help. We’ll turn the example prompt created using the WIRE+FRAME framework in <a href="https://www.smashingmagazine.com/2025/08/prompting-design-act-brief-guide-iterate-ai/">Prompting Is A Design Act</a> into a CustomGPT.</p>

<p>When you start building a CustomGPT by visiting <a href="https://chat.openai.com/gpts/editor?utm_source=chatgpt.com">https://chat.openai.com/gpts/editor</a>, you’ll see two paths:</p>

<ul>
<li><strong>Conversational interface</strong><br />
Vibe-chat your way &mdash; it’s easy and quick, but similar to unstructured prompts, your inputs get baked in a little messily, so you may end up with vague or inconsistent instructions.</li>
<li><strong>Configure interface</strong><br />
The structured form where you type instructions, upload files, and toggle capabilities. Less instant gratification, less winging it, but more control. This is the option you’ll want for assistants you plan to share or depend on regularly.</li>
</ul>

<p>The good news is that MATCH works for both. In conversational mode, you can use it as a mental checklist, and we’ll walk through using it in configure mode as a more formal checklist in this article.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/1-customgpt-configure-interface.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="451"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/1-customgpt-configure-interface.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/1-customgpt-configure-interface.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/1-customgpt-configure-interface.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/1-customgpt-configure-interface.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/1-customgpt-configure-interface.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/1-customgpt-configure-interface.png"
			
			sizes="100vw"
			alt="CustomGPT Configure Interface"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      CustomGPT Configure Interface. (<a href='https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/1-customgpt-configure-interface.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="m-map-your-prompt">M: Map Your Prompt</h3>

<p>Paste your full WIRE+FRAME prompt into the <em>Instructions</em> section exactly as written. As a refresher, I’ve included the mapping and snippets of the detailed prompt from before:</p>

<ul>
<li><strong>W</strong>ho &amp; What: The AI persona and the core deliverable (<em>“…senior UX researcher and customer insights analyst… specialize in synthesizing qualitative data from diverse sources…”</em>).</li>
<li><strong>I</strong>nput Context: Background or data scope to frame the task (<em>“…analyzing customer feedback uploaded from sources such as…”</em>).</li>
<li><strong>R</strong>ules &amp; Constraints: Boundaries (<em>“…do not fabricate pain points, representative quotes, journey stages, or patterns…”</em>).</li>
<li><strong>E</strong>xpected Output: Format and fields of the deliverable (<em>“…a structured list of themes. For each theme, include…”</em>).</li>
<li><strong>F</strong>low: Explicit, ordered sub-tasks (<em>“Recommended flow of tasks: Step 1…”</em>).</li>
<li><strong>R</strong>eference Voice: Tone, mood, or reference (<em>“…concise, pattern-driven, and objective…”</em>).</li>
<li><strong>A</strong>sk for Clarification: Ask questions if unclear (<em>“…if data is missing or unclear, ask before continuing…”</em>).</li>
<li><strong>M</strong>emory: Memory to recall earlier definitions (<em>“Unless explicitly instructed otherwise, keep using this process…”</em>).</li>
<li><strong>E</strong>valuate &amp; Iterate: Have the AI self-critique outputs (<em>“…critically evaluate…suggest improvements…”</em>).</li>
</ul>

<p>If you’re building Copilot Agents or Gemini Gems instead of CustomGPTs, you still paste your WIRE+FRAME prompt into their respective <em>Instructions</em> sections.</p>

<h3 id="a-add-knowledge-and-training">A: Add Knowledge And Training</h3>

<p>In the knowledge section, upload up to 20 files, clearly labeled, that will help the CustomGPT respond effectively. Keep files small and versioned: <em>reviews_Q2_2025.csv</em> beats <em>latestfile_final2.csv</em>. For this prompt for analyzing customer feedback, generating themes organized by customer journey, rating them by severity and effort, files could include:</p>

<ul>
<li>Taxonomy of themes;</li>
<li>Instructions on parsing uploaded data;</li>
<li>Examples of real UX research reports using this structure;</li>
<li>Scoring guidelines for severity and effort, e.g., what makes something a 3 vs. a 5 in severity;</li>
<li>Customer journey map stages;</li>
<li>Customer feedback file templates (not actual data).</li>
</ul>

<p>An example of a file to help it parse uploaded data is shown below:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/2-gpt-file-parsing-instructions.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="447"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/2-gpt-file-parsing-instructions.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/2-gpt-file-parsing-instructions.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/2-gpt-file-parsing-instructions.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/2-gpt-file-parsing-instructions.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/2-gpt-file-parsing-instructions.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/2-gpt-file-parsing-instructions.png"
			
			sizes="100vw"
			alt="GPT file parsing instructions"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      (<a href='https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/2-gpt-file-parsing-instructions.png'>Large preview</a>)
    </figcaption>
  
</figure>

<h3 id="t-tailor-for-audience">T: Tailor For Audience</h3>

<ul>
<li><strong>Audience tailoring</strong><br />
If you are building this for others, your prompt should have addressed tone in the “Reference Voice” section. If you didn’t, do it now, so the CustomGPT can be tailored to the tone and expertise level of users who will use it. In addition, use the <em>Conversation starters</em> section to add a few examples or common prompts for users to start using the CustomGPT, again, worded for your users. For instance, we could use “Analyze feedback from the attached file” for our Insights Interpreter to make it more self-explanatory for anyone, instead of “Analyze data,” which may be good enough if you were using it alone. For my Designerly Curiosity GPT, assuming that users may not know what it could do, I use “What are the types of curiosity?” and “Give me a micro-practice to spark curiosity”.</li>
<li><strong>Functional tailoring</strong><br />
Fill in the CustomGPT name, icon, description, and capabilities.

<ul>
<li><em>Name</em>: Pick one that will make it clear what the CustomGPT does. Let’s use “Insights Interpreter &mdash; Customer Feedback Analyzer”. If needed, you can also add a version number. This name will show up in the sidebar when people use it or pin it, so make the first part memorable and easily identifiable.</li>
<li><em>Icon</em>: Upload an image or generate one. Keep it simple so it can be easily recognized in a smaller dimension when people pin it in their sidebar.</li>
<li><em>Description</em>: A brief, yet clear description of what the CustomGPT can do. If you plan to list it in the GPT store, this will help people decide if they should pick yours over something similar.</li>
<li><em>Recommended Model</em>: If your CustomGPT needs the capabilities of a particular model (e.g., needs GPT-5 thinking for detailed analysis), select it. In most cases, you can safely leave it up to the user or select the most common model.</li>
<li><em>Capabilities</em>: Turn off anything you won’t need. We’ll turn off “Web Search” to allow the CustomGPT to focus only on uploaded data, without expanding the search online, and we will turn on “Code Interpreter &amp; Data Analysis” to allow it to understand and process uploaded files. “Canvas” allows users to work on a shared canvas with the GPT to edit writing tasks; “Image generation” - if the CustomGPT needs to create images.</li>
<li><em>Actions</em>: Making <a href="https://platform.openai.com/docs/actions/introduction">third-party APIs</a> available to the CustomGPT, advanced functionality we don’t need.</li>
<li><em>Additional Settings</em>: Sneakily hidden and opted in by default, I opt out of training OpenAI’s models.</li>
</ul></li>
</ul>

<h3 id="c-check-test-refine">C: Check, Test &amp; Refine</h3>

<p>Do one last visual check to make sure you’ve filled in all applicable fields and the basics are in place: is the concept sharp and clear (not a do-everything bot)? Are the roles, goals, and tone clear? Do we have the right assets (docs, guides) to support it? Is the flow simple enough that others can get started easily? Once those boxes are checked, move into testing.</p>

<p>Use the <em>Preview</em> panel to verify that your CustomGPT performs as well, or better, than your original WIRE+FRAME prompt, and that it works for your intended audience. Try a few representative inputs and compare the results to what you expected. If something worked before but doesn’t now, check whether new instructions or knowledge files are overriding it.</p>

<p>When things don’t look right, here are quick debugging fixes:</p>

<ul>
<li><strong>Generic answers?</strong><br />
Tighten <em>Input Context</em> or update the knowledge files.</li>
<li><strong>Hallucinations?</strong><br />
Revisit your <em>Rules</em> section. Turn off web browsing if you don’t need external data.</li>
<li><strong>Wrong tone?</strong><br />
Strengthen <em>Reference Voice</em> or swap in clearer examples.</li>
<li><strong>Inconsistent?</strong><br />
Test across models in preview and set the most reliable one as “Recommended.”</li>
</ul>

<h3 id="h-hand-off-and-maintain">H: Hand Off And Maintain</h3>

<p>When your CustomGPT is ready, you can publish it via the “Create” option. Select the appropriate access option:</p>

<ul>
<li><strong>Only me</strong>: Private use. Perfect if you’re still experimenting or keeping it personal.</li>
<li><strong>Anyone with the link</strong>: Exactly what it means. Shareable but not searchable. Great for pilots with a team or small group. Just remember that links can be reshared, so treat them as semi-public.</li>
<li><strong>GPT Store</strong>: Fully public. Your assistant is listed and findable by anyone browsing the store. <em>(This is the option we’ll use.)</em></li>
<li><strong>Business workspace</strong> (if you’re on GPT Business): Share with others within your business account only &mdash; the easiest way to keep it in-house and controlled.</li>
</ul>

<p>But hand off doesn’t end with hitting publish, you should maintain it to keep it relevant and useful:</p>

<ul>
<li><strong>Collect feedback</strong>: Ask teammates what worked, what didn’t, and what they had to fix manually.</li>
<li><strong>Iterate</strong>: Apply changes directly or duplicate the GPT if you want multiple versions in play. You can find all your CustomGPTs at: <a href="https://chatgpt.com/gpts/mine">https://chatgpt.com/gpts/mine</a></li>
<li><strong>Track changes</strong>: Keep a simple changelog (date, version, updates) for traceability.</li>
<li><strong>Refresh knowledge</strong>: Update knowledge files and examples on a regular cadence so answers don’t go stale.</li>
</ul>

<p>And that’s it! <a href="https://go.cerejo.com/insights-interpreter">Our Insights Interpreter is now live!</a></p>

<p>Since we used the WIRE+FRAME prompt from the previous article to create the Insights Interpreter CustomGPT, I compared the outputs:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/3-results-structured-wire-frame-prompt.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="325"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/3-results-structured-wire-frame-prompt.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/3-results-structured-wire-frame-prompt.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/3-results-structured-wire-frame-prompt.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/3-results-structured-wire-frame-prompt.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/3-results-structured-wire-frame-prompt.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/3-results-structured-wire-frame-prompt.png"
			
			sizes="100vw"
			alt="Results of the structured WIRE&#43;FRAME prompt from the previous article"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Results of the structured WIRE+FRAME prompt from the previous article. (<a href='https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/3-results-structured-wire-frame-prompt.png'>Large preview</a>)
    </figcaption>
  
</figure>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/4-results-insights-interpreter-customgpt.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="276"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/4-results-insights-interpreter-customgpt.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/4-results-insights-interpreter-customgpt.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/4-results-insights-interpreter-customgpt.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/4-results-insights-interpreter-customgpt.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/4-results-insights-interpreter-customgpt.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/4-results-insights-interpreter-customgpt.png"
			
			sizes="100vw"
			alt="Results of the Insights Interpreter CustomGPT based on the same prompt"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Results of the Insights Interpreter CustomGPT based on the same prompt. (<a href='https://files.smashing.media/articles/from-prompt-to-partner-designing-custom-ai-assistant/4-results-insights-interpreter-customgpt.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>The results are similar, with slight differences, and that’s expected. If you compare the results carefully, the themes, issues, journey stages, frequency, severity, and estimated effort match with some differences in wording of the theme, issue summary, and problem statement. The opportunities and quotes have more visible differences. Most of it is because of the CustomGPT knowledge and training files, including instructions, examples, and guardrails, now live as always-on guidance.</p>

<p>Keep in mind that in reality, Generative AI is by nature generative, so outputs will vary. Even with the same data, you won’t get identical wording every time. In addition, underlying models and their capabilities rapidly change. If you want to keep things as consistent as possible, recommend a model (though people can change it), track versions of your data, and compare for structure, priorities, and evidence rather than exact wording.</p>

<p>While I’d love for you to use Insights Interpreter, I strongly recommend taking 15 minutes to follow the steps above and create your own. That is exactly what you or your team needs &mdash; including the tone, context, output formats, and get the real AI Assistant you need!</p>

<div class="partners__lead-place"></div>

<h2 id="inspiration-for-other-ai-assistants">Inspiration For Other AI Assistants</h2>

<p>We just built the Insight Interpreter and mentioned two contenders: Critique Coach and Prototype Prodigy. Here are a few other realistic uses that can spark ideas for your own AI Assistant:</p>

<ul>
<li><strong>Workshop Wizard</strong>: Generates workshop agendas, produces icebreaker questions, and follows up survey drafts.</li>
<li><strong>Research Roundup Buddy</strong>: Summarizes raw transcripts into key themes, then creates highlight reels (quotes + visuals) for team share-outs.</li>
<li><strong>Persona Refresher</strong>: Updates stale personas with the latest customer feedback, then rewrites them in different tones (boardroom formal vs. design-team casual).</li>
<li><strong>Content Checker</strong>: Proofs copy for tone, accessibility, and reading level before it ever hits your site.</li>
<li><strong>Trend Tamer</strong>: Scans competitor reviews and identifies emerging patterns you can act on before they reach your roadmap.</li>
<li><strong>Microcopy Provocateur</strong>: Tests alternate copy options by injecting different tones (sassy, calm, ironic, nurturing) and role-playing how users might react, especially useful for error states or Call to Actions.</li>
<li><strong>Ethical UX Debater</strong>: Challenges your design decisions and deceptive designs by simulating the voice of an ethics board or concerned user.</li>
</ul>

<p>The best AI Assistants come from carefully inspecting your workflow and looking for areas where AI can augment your work regularly and repetitively. Then follow the steps above to build a team of customized AI assistants.</p>

<h2 id="ask-me-anything-about-assistants">Ask Me Anything About Assistants</h2>

<ul>
<li><strong>What are some limitations of a CustomGPT?</strong><br />
Right now, the best parallels for AI are a very smart intern with access to a lot of information. CustomGPTs are still running on LLM models that are basically trained on a lot of information and programmed to predictively generate responses based on that data, including possible bias, misinformation, or incomplete information. Keeping that in mind, you can make that intern provide better and more relevant results by using your uploads as onboarding docs, your guardrails as a job description, and your updates as retraining.</li>
<li><strong>Can I copy someone else’s public CustomGPT and tweak it?</strong><br />
Not directly, but if you get inspired by another CustomGPT, you can look at how it’s framed and rebuild your own using WIRE+FRAME &amp; MATCH. That way, you make it your own and have full control of the instructions, files, and updates. But you can do that with Google’s equivalent &mdash; Gemini Gems. Shared Gems behave similarly to shared Google Docs, so once shared, any Gem instructions and files that you have uploaded can be viewed by any user with access to the Gem. Any user with edit access to the Gem can also update and delete the Gem.</li>
<li><strong>How private are my uploaded files?</strong><br />
The files you upload are stored and used to answer prompts to your CustomGPT. If your CustomGPT is not private or you didn’t disable the hidden setting to allow CustomGPT conversations to improve the model, that data could be referenced. Don’t upload sensitive, confidential, or personal data you wouldn’t want circulating. Enterprise accounts do have some protections, so check with your company.</li>
<li><strong>How many files can I upload, and does size matter?</strong><br />
Limits vary by platform, but smaller, specific files usually perform better than giant docs. Think “chapter” instead of “entire book.” At the time of publishing, CustomGPTs allow up to 20 files, Copilot Agents up to 200 (if you need anywhere near that many, chances are your agent is not focused enough), and Gemini Gems up to 10.</li>
<li><strong>What’s the difference between a CustomGPT and a Project?</strong><br />
A CustomGPT is a focused assistant, like an intern trained to do one role well (like “Insight Interpreter”). A Project is more like a workspace where you can group multiple prompts, files, and conversations together for a broader effort. CustomGPTs are specialists. Projects are containers. If you want something reusable, shareable, and role-specific, go to CustomGPT. If you want to organize broader work with multiple tools and outputs, and shared knowledge, Projects are the better fit.</li>
</ul>

<h2 id="from-reading-to-building">From Reading To Building</h2>

<p>In this AI x Design series, we’ve gone from messy prompting (“<a href="https://www.smashingmagazine.com/2025/08/week-in-life-ai-augmented-designer/">A Week In The Life Of An AI-Augmented Designer</a>”) to a structured prompt framework, WIRE+FRAME (“<a href="https://www.smashingmagazine.com/2025/08/prompting-design-act-brief-guide-iterate-ai/">Prompting Is A Design Act</a>”). And now, in this article, your very own reusable AI sidekick.</p>

<p>CustomGPTs don’t replace designers but augment them. The real magic isn’t in the tool itself, but in <em>how</em> you design and manage it. You can use public CustomGPTs for inspiration, but the ones that truly fit your workflow are the ones you design yourself. They <strong>extend your craft</strong>, <strong>codify your expertise</strong>, and give your team leverage that generic AI models can’t.</p>

<p>Build one this week. Even better, today. Train it, share it, stress-test it, and refine it into an AI assistant that can augment your team.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item><item><author>Yegor Gilyov</author><title>Intent Prototyping: The Allure And Danger Of Pure Vibe Coding In Enterprise UX (Part 1)</title><link>https://www.smashingmagazine.com/2025/09/intent-prototyping-pure-vibe-coding-enterprise-ux/</link><pubDate>Wed, 24 Sep 2025 17:00:00 +0000</pubDate><guid>https://www.smashingmagazine.com/2025/09/intent-prototyping-pure-vibe-coding-enterprise-ux/</guid><description>Yegor Gilyov examines the problem of over-reliance on static high-fidelity mockups, which often leave the conceptual model and user flows dangerously underdeveloped. He then explores whether AI-powered prototyping is the answer, questioning whether the path forward is the popular “vibe coding” approach or a more structured, intent-driven approach.</description><content:encoded><![CDATA[
          <html>
            <head>
              <meta charset="utf-8">
              <link rel="canonical" href="https://www.smashingmagazine.com/2025/09/intent-prototyping-pure-vibe-coding-enterprise-ux/" />
              <title>Intent Prototyping: The Allure And Danger Of Pure Vibe Coding In Enterprise UX (Part 1)</title>
            </head>
            <body>
              <article>
                <header>
                  <h1>Intent Prototyping: The Allure And Danger Of Pure Vibe Coding In Enterprise UX (Part 1)</h1>
                  
                    
                    <address>Yegor Gilyov</address>
                  
                  <time datetime="2025-09-24T17:00:00&#43;00:00" class="op-published">2025-09-24T17:00:00+00:00</time>
                  <time datetime="2025-09-24T17:00:00&#43;00:00" class="op-modified">2026-05-12T16:41:36+00:00</time>
                </header>
                
                

<p>There is a spectrum of opinions on how dramatically all creative professions will be changed by the coming wave of agentic AI, from the very skeptical to the wildly optimistic and even apocalyptic. I think that even if you are on the “skeptical” end of the spectrum, it makes sense to explore ways this new technology can help with your everyday work. As for my everyday work, I’ve been doing UX and product design for about 25 years now, and I’m always keen to learn new tricks and share them with colleagues. Right now, I’m interested in <strong>AI-assisted prototyping</strong>, and I’m here to share my thoughts on how it can change the process of designing digital products.</p>

<p>To set your expectations up front: this exploration focuses on a specific part of the product design lifecycle. Many people know about the Double Diamond framework, which shows the path from problem to solution. However, I think it’s the <a href="https://uxdesign.cc/why-the-double-diamond-isnt-enough-adaa48a8aec1">Triple Diamond model</a> that makes an important point for our needs. It explicitly separates the solution space into two phases: Solution Discovery (ideating and validating the right concept) and Solution Delivery (engineering the validated concept into a final product). This article is focused squarely on that middle diamond: <strong>Solution Discovery</strong>.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/01-diagram-triple-diamond-model.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="593"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/01-diagram-triple-diamond-model.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/01-diagram-triple-diamond-model.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/01-diagram-triple-diamond-model.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/01-diagram-triple-diamond-model.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/01-diagram-triple-diamond-model.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/01-diagram-triple-diamond-model.png"
			
			sizes="100vw"
			alt="Diagram of the Triple Diamond model: Problem Discovery, Solution Discovery, and Solution Delivery."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The Triple Diamond model and the prototyping sweet spot. (<a href='https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/01-diagram-triple-diamond-model.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>How AI can help with the preceding (Problem Discovery) and the following (Solution Delivery) stages is out of the scope of this article. Problem Discovery is less about prototyping and more about research, and while I believe AI can revolutionize the research process as well, I’ll leave that to people more knowledgeable in the field. As for Solution Delivery, it is more about engineering optimization. There’s no doubt that software engineering in the AI era is undergoing dramatic changes, but I’m not an engineer &mdash; I’m a designer, so let me focus on my “sweet spot”.</p>

<p>And my “sweet spot” has a specific flavor: <strong>designing enterprise applications</strong>. In this world, the main challenge is taming complexity: dealing with complicated data models and guiding users through non-linear workflows. This background has had a big impact on my approach to design, putting a lot of emphasis on the underlying logic and structure. This article explores the potential of AI through this lens.</p>

<p>I’ll start by outlining the typical artifacts designers create during Solution Discovery. Then, I’ll examine the problems with how this part of the process often plays out in practice. Finally, we’ll explore whether AI-powered prototyping can offer a better approach, and if so, whether it aligns with what people call “vibe coding,” or calls for a more deliberate and disciplined way of working.</p>

<div data-audience="non-subscriber" data-remove="true" class="feature-panel-container">

<aside class="feature-panel" style="">
<div class="feature-panel-left-col">

<div class="feature-panel-description"><p>Meet <strong><a data-instant href="https://www.smashingconf.com/online-workshops/">Smashing Workshops</a></strong> on <strong>front-end, design &amp; UX</strong>, with practical takeaways, live sessions, <strong>video recordings</strong> and a friendly Q&amp;A. With Brad Frost, Stéph Walter and <a href="https://smashingconf.com/online-workshops/workshops">so many others</a>.</p>
<a data-instant href="smashing-workshops" class="btn btn--green btn--large" style="">Jump to the workshops&nbsp;↬</a></div>
</div>
<div class="feature-panel-right-col"><a data-instant href="smashing-workshops" class="feature-panel-image-link">
<div class="feature-panel-image">
<img
    loading="lazy"
    decoding="async"
    class="feature-panel-image-img"
    src="/images/smashing-cat/cat-scubadiving-panel.svg"
    alt="Feature Panel"
    width="257"
    height="355"
/>

</div>
</a>
</div>
</aside>
</div>

<h2 id="what-we-create-during-solution-discovery">What We Create During Solution Discovery</h2>

<p>The Solution Discovery phase begins with the key output from the preceding research: <strong>a well-defined problem</strong> and <strong>a core hypothesis for a solution</strong>. This is our starting point. The artifacts we create from here are all aimed at turning that initial hypothesis into a tangible, testable concept.</p>

<p>Traditionally, at this stage, designers can produce artifacts of different kinds, progressively increasing fidelity: from napkin sketches, boxes-and-arrows, and conceptual diagrams to hi-fi mockups, then to interactive prototypes, and in some cases even live prototypes. Artifacts of lower fidelity allow fast iteration and enable the exploration of many alternatives, while artifacts of higher fidelity help to understand, explain, and validate the concept in all its details.</p>

<p>It’s important to <strong>think holistically</strong>, considering different aspects of the solution. I would highlight three dimensions:</p>

<ol>
<li><strong>Conceptual model</strong>: Objects, relations, attributes, actions;</li>
<li><strong>Visualization</strong>: Screens, from rough sketches to hi-fi mockups;</li>
<li><strong>Flow</strong>: From the very high-level user journeys to more detailed ones.</li>
</ol>

<p>One can argue that those are layers rather than dimensions, and each of them builds on the previous ones (for example, according to <a href="https://www.interaction-design.org/literature/article/the-magic-of-semantic-interaction-design?srsltid=AfmBOoq4-4YG8RR7SDZn7CX1GJ1ZKNdiZx-trER7oKCefud3V2TjeumD">Semantic IxD</a> by Daniel Rosenberg), but I see them more as different facets of the same thing, so the design process through them is not necessarily linear: you may need to switch from one perspective to another many times.</p>

<p>This is how different types of design artifacts map to these dimensions:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/02-mapping-design-artifacts.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="596"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/02-mapping-design-artifacts.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/02-mapping-design-artifacts.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/02-mapping-design-artifacts.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/02-mapping-design-artifacts.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/02-mapping-design-artifacts.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/02-mapping-design-artifacts.png"
			
			sizes="100vw"
			alt="Diagram mapping design artifacts to dimensions of Conceptual Model, Visualization, and Flow."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Mapping design artifacts to dimensions of Conceptual Model, Visualization, and Flow. (<a href='https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/02-mapping-design-artifacts.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>As Solution Discovery progresses, designers move from the left part of this map to the right, from low-fidelity to high-fidelity, from ideating to validating, from diverging to converging.</p>

<p>Note that at the beginning of the process, different dimensions are supported by artifacts of different types (boxes-and-arrows, sketches, class diagrams, etc.), and only closer to the end can you build a live prototype that encompasses all three dimensions: conceptual model, visualization, and flow.</p>

<p>This progression shows a classic trade-off, like the difference between a pencil drawing and an oil painting. The drawing lets you explore ideas in the most flexible way, whereas the painting has a lot of detail and overall looks much more realistic, but is hard to adjust. Similarly, as we go towards artifacts that integrate all three dimensions at higher fidelity, our ability to iterate quickly and explore divergent ideas goes down. This inverse relationship has long been an accepted, almost unchallenged, limitation of the design process.</p>

<h2 id="the-problem-with-the-mockup-centric-approach">The Problem With The Mockup-Centric Approach</h2>

<p>Faced with this difficult trade-off, often teams opt for the easiest way out. On the one hand, they need to show that they are making progress and create things that appear detailed. On the other hand, they rarely can afford to build interactive or live prototypes. This leads them to over-invest in one type of artifact that seems to offer the best of both worlds. As a result, the neatly organized “bento box” of design artifacts we saw previously gets shrunk down to just one compartment: creating static high-fidelity mockups.</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/03-artifact-map-diagram.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="388"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/03-artifact-map-diagram.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/03-artifact-map-diagram.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/03-artifact-map-diagram.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/03-artifact-map-diagram.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/03-artifact-map-diagram.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/03-artifact-map-diagram.png"
			
			sizes="100vw"
			alt="The artifact map diagram, with “Hi-fi Mockup” enlarged to show an over-reliance on it."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The mockup-centric approach. (<a href='https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/03-artifact-map-diagram.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>This choice is understandable, as several forces push designers in this direction. Stakeholders are always eager to see nice pictures, while artifacts representing user flows and conceptual models receive much less attention and priority. They are too high-level and hardly usable for validation, and usually, not everyone can understand them.</p>

<p>On the other side of the fidelity spectrum, interactive prototypes require too much effort to create and maintain, and creating live prototypes in code used to require special skills (and again, effort). And even when teams make this investment, they do so at the end of Solution Discovery, during the convergence stage, when it is often too late to experiment with fundamentally different ideas. With so much effort already sunk, there is little appetite to go back to the drawing board.</p>

<p>It’s no surprise, then, that many teams default to the perceived safety of <strong>static mockups</strong>, seeing them as a middle ground between the roughness of the sketches and the overwhelming complexity and fragility that prototypes can have.</p>

<p>As a result, validation with users doesn’t provide enough confidence that the solution will actually solve the problem, and teams are forced to make a leap of faith to start building. To make matters worse, they do so without a clear understanding of the conceptual model, the user flows, and the interactions, because from the very beginning, designers’ attention has been heavily skewed toward visualization.</p>

<p>The result is often a design artifact that resembles the famous “horse drawing” meme: beautifully rendered in the parts everyone sees first (the mockups), but dangerously underdeveloped in its underlying structure (the conceptual model and flows).</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/04-lopsided-horse-problem.jpg">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="541"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/04-lopsided-horse-problem.jpg 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/04-lopsided-horse-problem.jpg 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/04-lopsided-horse-problem.jpg 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/04-lopsided-horse-problem.jpg 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/04-lopsided-horse-problem.jpg 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/04-lopsided-horse-problem.jpg"
			
			sizes="100vw"
			alt="The “horse drawing” meme, where the front is detailed and the back is a simple sketch."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The “lopsided horse” problem. (<a href='https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/04-lopsided-horse-problem.jpg'>Large preview</a>)
    </figcaption>
  
</figure>

<p>While this is a familiar problem across the industry, its severity <strong>depends on the nature of the project</strong>. If your core challenge is to optimize a well-understood, linear flow (like many B2C products), a mockup-centric approach can be perfectly adequate. The risks are contained, and the “lopsided horse” problem is unlikely to be fatal.</p>

<p>However, it’s different for the systems I specialize in: complex applications defined by intricate data models and non-linear, interconnected user flows. Here, the biggest risks are not on the surface but in the underlying structure, and a lack of attention to the latter would be a recipe for disaster.</p>

<div class="partners__lead-place"></div>

<h2 id="transforming-the-design-process">Transforming The Design Process</h2>

<p>This situation makes me wonder:</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aHow%20might%20we%20close%20the%20gap%20between%20our%20design%20intent%20and%20a%20live%20prototype,%20so%20that%20we%20can%20iterate%20on%20real%20functionality%20from%20day%20one?%0a&url=https://smashingmagazine.com%2f2025%2f09%2fintent-prototyping-pure-vibe-coding-enterprise-ux%2f">
      
How might we close the gap between our design intent and a live prototype, so that we can iterate on real functionality from day one?

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/05-design-intent-live-prototype.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="397"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/05-design-intent-live-prototype.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/05-design-intent-live-prototype.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/05-design-intent-live-prototype.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/05-design-intent-live-prototype.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/05-design-intent-live-prototype.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/05-design-intent-live-prototype.png"
			
			sizes="100vw"
			alt="Diagram showing bridging the gap between “Design Intent” and “Live Prototype.”"
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      How might we bridge the gap between design intent and a live prototype? (<a href='https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/05-design-intent-live-prototype.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>If we were able to answer this question, we would:</p>

<ul>
<li><strong>Learn faster.</strong><br />
By going straight from intent to a testable artifact, we cut the feedback loop from weeks to days.</li>
<li><strong>Gain more confidence.</strong><br />
Users interact with real logic, which gives us more proof that the idea works.</li>
<li><strong>Enforce conceptual clarity.</strong><br />
A live prototype cannot hide a flawed or ambiguous conceptual model.</li>
<li><strong>Establish a clear and lasting source of truth.</strong><br />
A live prototype, combined with a clearly documented design intent, provides the engineering team with an unambiguous specification.</li>
</ul>

<p>Of course, the desire for such a process is not new. This vision of a truly <strong>prototype-driven workflow</strong> is especially compelling for enterprise applications, where the benefits of faster learning and forced conceptual clarity are the best defense against costly structural flaws. But this ideal was still out of reach because prototyping in code took so much work and specialized talents. Now, the rise of powerful AI coding assistants changes this equation in a big way.</p>

<h2 id="the-seductive-promise-of-vibe-coding">The Seductive Promise Of “Vibe Coding”</h2>

<p>And the answer seems to be obvious: <strong>vibe coding</strong>!</p>

<blockquote>“Vibe coding is an artificial intelligence-assisted software development style popularized by Andrej Karpathy in early 2025. It describes a fast, improvisational, collaborative approach to creating software where the developer and a large language model (LLM) tuned for coding is acting rather like pair programmers in a conversational loop.”<br /><br />&mdash; <a href="https://en.wikipedia.org/wiki/Vibe_coding">Wikipedia</a></blockquote>

<p>The original tweet by Andrej Karpathy:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://x.com/karpathy/status/1886192184808149383">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="552"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/06-andrej-karpathy-tweet.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/06-andrej-karpathy-tweet.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/06-andrej-karpathy-tweet.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/06-andrej-karpathy-tweet.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/06-andrej-karpathy-tweet.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/06-andrej-karpathy-tweet.png"
			
			sizes="100vw"
			alt="Screenshot of Andrej Karpathy&#39;s tweet defining Vibe Coding."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      Andrej Karpathy’s tweet that popularized the term “vibe coding”. (Image source: <a href='https://x.com/karpathy/status/1886192184808149383'>X</a>) (<a href='https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/06-andrej-karpathy-tweet.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>The allure of this approach is undeniable. If you are not a developer, you are bound to feel awe when you describe a solution in plain language, and moments later, you can interact with it. This seems to be the ultimate fulfillment of our goal: a direct, frictionless path from an idea to a live prototype. But <strong>is this method reliable enough</strong> to build our new design process around it?</p>

<h3 id="the-trap-a-process-without-a-blueprint">The Trap: A Process Without A Blueprint</h3>

<p>Vibe coding mixes up a description of the UI with a description of the system itself, resulting in a <strong>prototype based on changing assumptions rather than a clear, solid model</strong>.</p>

<blockquote class="pull-quote">
  <p>
    <a class="pull-quote__link" aria-label="Share on Twitter" href="https://twitter.com/share?text=%0aThe%20pitfall%20of%20vibe%20coding%20is%20that%20it%20encourages%20us%20to%20express%20our%20intent%20in%20the%20most%20ambiguous%20way%20possible:%20by%20having%20a%20conversation.%0a&url=https://smashingmagazine.com%2f2025%2f09%2fintent-prototyping-pure-vibe-coding-enterprise-ux%2f">
      
The pitfall of vibe coding is that it encourages us to express our intent in the most ambiguous way possible: by having a conversation.

    </a>
  </p>
  <div class="pull-quote__quotation">
    <div class="pull-quote__bg">
      <span class="pull-quote__symbol">“</span></div>
  </div>
</blockquote>

<p>This is like hiring a builder and telling them what to do one sentence at a time without ever presenting them a blueprint. They could make a wall that looks great, but you can’t be sure that it can hold weight.</p>

<p>I’ll give you one example illustrating problems you may face if you try to jump over the chasm between your idea and a live prototype relying on pure vibe coding in the spirit of Andrej Karpathy’s tweet. Imagine I want to prototype a solution to keep track of tests to validate product ideas. I open my vibe coding tool of choice (I intentionally don’t disclose its name, as I believe they all are awesome yet prone to similar pitfalls) and start with the following prompt:</p>

<div class="break-out">
<pre><code class="language-markdown">I need an app to track tests. For every test, I need to fill out the following data:
- Hypothesis (we believe that...) 
- Experiment (to verify that, we will...)
- When (a single date, or a period) 
- Status (New/Planned/In Progress/Proven/Disproven)
</code></pre>
</div>

<p>And in a minute or so, I get a working prototype:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/7-test-tracker.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="610"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/7-test-tracker.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/7-test-tracker.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/7-test-tracker.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/7-test-tracker.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/7-test-tracker.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/7-test-tracker.png"
			
			sizes="100vw"
			alt="Screenshot of a simple Test Tracker app."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The initial prototype. (<a href='https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/7-test-tracker.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Inspired by success, I go further:</p>

<div class="break-out">
<pre><code class="language-markdown">Please add the ability to specify a product idea for every test. Also, I want to filter tests by product ideas and see how many tests each product idea has in each status.
</code></pre>
</div>

<p>And the result is still pretty good:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/8-test-tracker-updated.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="610"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/8-test-tracker-updated.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/8-test-tracker-updated.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/8-test-tracker-updated.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/8-test-tracker-updated.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/8-test-tracker-updated.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/8-test-tracker-updated.png"
			
			sizes="100vw"
			alt="The Test Tracker app screenshot, now with filtering by product ideas."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The prototype updated to include filtering tests by product ideas. (<a href='https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/8-test-tracker-updated.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>But then I want to extend the functionality related to product ideas:</p>

<div class="break-out">
<pre><code class="language-markdown">Okay, one more thing. For every product idea, I want to assess the impact score, the confidence score, and the ease score, and get the overall ICE score. Perhaps I need a separate page focused on the product idea, with all the relevant information and related tests.
</code></pre>
</div>

<p>And from this point on, the results are getting more and more confusing.</p>

<p>The flow of creating tests hasn’t changed much. I can still create a bunch of tests, and they seem to be organized by product ideas. But when I click “Product Ideas” in the top navigation, I see nothing:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/9-product-ideas-page.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="518"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/9-product-ideas-page.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/9-product-ideas-page.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/9-product-ideas-page.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/9-product-ideas-page.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/9-product-ideas-page.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/9-product-ideas-page.png"
			
			sizes="100vw"
			alt="Screenshot of the app’s blank Product Ideas page."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The Product Ideas page is empty. (<a href='https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/9-product-ideas-page.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>I need to create my ideas from scratch, and they are not connected to the tests I created before:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/10-product-ideas-disconnected-tests.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="519"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/10-product-ideas-disconnected-tests.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/10-product-ideas-disconnected-tests.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/10-product-ideas-disconnected-tests.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/10-product-ideas-disconnected-tests.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/10-product-ideas-disconnected-tests.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/10-product-ideas-disconnected-tests.png"
			
			sizes="100vw"
			alt="Screenshot of the Product Ideas page with newly created ideas not connected to tests."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      The newly created product ideas are disconnected from existing tests. (<a href='https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/10-product-ideas-disconnected-tests.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Moreover, when I go back to “Tests”, I see that they are all gone. Clearly something went wrong, and my AI assistant confirms that:</p>

<blockquote>No, this is not expected behavior &mdash; it’s a bug! The issue is that tests are being stored in two separate places (local state in the Index page and App state), so tests created on the main page don’t sync with the product ideas page.</blockquote>

<p>Sure, eventually it fixed that bug, but note that we encountered this just on the third step, when we asked to slightly extend the functionality of a very simple app. The more layers of complexity we add, the more roadblocks of this sort we are bound to face.</p>

<p>Also note that this specific problem of a not fully thought-out relationship between two entities (product ideas and tests) is not isolated at the technical level, and therefore, it didn’t go away once the technical bug was fixed. The underlying conceptual model is still broken, and it manifests in the UI as well.</p>

<p>For example, you can still create “orphan” tests that are not connected to any item from the “Product Ideas” page. As a result, you may end up with different numbers of ideas and tests on different pages of the app:</p>














<figure class="
  
    break-out article__image
  
  
  ">
  
    <a href="https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/11-conflicting-data-tests-product-ideas-page.png">
    
    <img
      loading="lazy"
      decoding="async"
      fetchpriority="low"
			width="800"
			height="305"
			
			srcset="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/11-conflicting-data-tests-product-ideas-page.png 400w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_800/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/11-conflicting-data-tests-product-ideas-page.png 800w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1200/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/11-conflicting-data-tests-product-ideas-page.png 1200w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_1600/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/11-conflicting-data-tests-product-ideas-page.png 1600w,
			        https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_2000/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/11-conflicting-data-tests-product-ideas-page.png 2000w"
			src="https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_80/w_400/https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/11-conflicting-data-tests-product-ideas-page.png"
			
			sizes="100vw"
			alt="Diagram showing conflicting data between the Tests page and the Product Ideas page."
		/>
    
    </a>
  

  
    <figcaption class="op-vertical-bottom">
      A poorly defined conceptual model leads to data inconsistencies across the app. (<a href='https://files.smashing.media/articles/intent-prototyping-pure-vibe-coding-enterprise-ux/11-conflicting-data-tests-product-ideas-page.png'>Large preview</a>)
    </figcaption>
  
</figure>

<p>Let’s diagnose what really happened here. The AI’s response that this is a “bug” is only half the story. The true root cause is a <strong>conceptual model failure</strong>. My prompts never explicitly defined the relationship between product ideas and tests. The AI was forced to guess, which led to the broken experience. For a simple demo, this might be a fixable annoyance. But for a data-heavy enterprise application, this kind of structural ambiguity is fatal. It demonstrates <strong>the fundamental weakness of building without a blueprint</strong>, which is precisely what vibe coding encourages.</p>

<p>Don’t take this as a criticism of vibe coding tools. They are creating real magic. However, the fundamental truth about “garbage in, garbage out” is still valid. If you don’t express your intent clearly enough, chances are the result won’t fulfill your expectations.</p>

<p>Another problem worth mentioning is that even if you wrestle it into a state that works, <strong>the artifact is a black box</strong> that can hardly serve as reliable specifications for the final product. The initial meaning is lost in the conversation, and all that’s left is the end result. This makes the development team “code archaeologists,” who have to figure out what the designer was thinking by reverse-engineering the AI’s code, which is frequently very complicated. Any speed gained at the start is lost right away because of this friction and uncertainty.</p>

<div class="partners__lead-place"></div>

<h2 id="from-fast-magic-to-a-solid-foundation">From Fast Magic To A Solid Foundation</h2>

<p>Pure vibe coding, for all its allure, encourages building without a blueprint. As we’ve seen, this results in <strong>structural ambiguity</strong>, which is not acceptable when designing complex applications. We are left with a seemingly quick but fragile process that creates a black box that is difficult to iterate on and even more so to hand off.</p>

<p>This leads us back to our main question: how might we close the gap between our design intent and a live prototype, so that we can iterate on real functionality from day one, without getting caught in the ambiguity trap? The answer lies in a more methodical, disciplined, and therefore trustworthy process.</p>

<p>In <a href="https://www.smashingmagazine.com/2025/10/intent-prototyping-practical-guide-building-clarity/"><strong>Part 2</strong></a> of this series, “A Practical Guide to Building with Clarity”, I will outline the entire workflow for <strong>Intent Prototyping.</strong> This method places the explicit <em>intent</em> of the designer at the forefront of the process while embracing the potential of AI-assisted coding.</p>

<p>Thank you for reading, and I look forward to seeing you in <a href="https://www.smashingmagazine.com/2025/10/intent-prototyping-practical-guide-building-clarity/"><strong>Part 2</strong></a>.</p>

<div class="signature">
  <img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" />
  <span>(yk)</span>
</div>


              </article>
            </body>
          </html>
        ]]></content:encoded></item></channel></rss>