<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>LukeW | Digital Product Design + Strategy</title>
    <description>Expert articles about user experience, mobile, Web applications, usability, interaction design and visual design.</description>
    <link>http://www.lukew.com</link>
    <language>en</language>
    <copyright>LukeW Ideation + Design</copyright>
    <pubDate>Thu, 30 Apr 2026 14:00:00 +0000</pubDate>
    <lastBuildDate>Thu, 30 Apr 2026 14:00:00 +0000</lastBuildDate>
<!--    <atom:link href="http://www.yourdomain.com/yourfeed.xml" rel="self" type="application/rss+xml" /> -->
    <image>
      <title>LukeW | Digital Product Design + Strategy</title>
      <url>http://www.rssFeedFolder.com/images/rssFeedFolderLogo.gif</url>
      <link>http://www.lukew.com</link>
    </image>

    <item>
      <title><![CDATA[Finally, the Handoff is Dead]]></title>
      <description><![CDATA[<p class="feature">The designer/developer handoff has been with us for years. And even though today's AI tools are dramatically increasing everyone's output, the walls between disciplines haven't changed. So now we're throwing more stuff over the wall, faster. We've been iterating on a different workflow, which <a href="https://wattenberger.com/">Amelia Wattenberger</a> and I demoed at <a href="https://assemblydesign.ai/future/">Design Futures Assembly</a>.</p>

<p>Most companies have years of cemented process. Changing how designers and developers work together means unwinding habits, tools, and politics that have been building for a long time. We're in a different situation because we're spinning up new companies regularly. Which means we can recreate the design/dev process each time. And as the technology evolves and we learn what works, we adapt and carry those lessons into the next one. Today we'll share our current approach.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.001.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.001.png" alt="With AI, I Don't Even Need Developers"></a></p>

<p>Where a lot of the discourse on AI is these days, and where a lot of AI tools are at, is individual empowerment. Designers saying: "I can finally ship code, I don't even need developers anymore." Developers saying the reverse.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.002.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.002.png" alt="With AI, I Don't Even Need Designers"></a></p>

<p>But very few people are actually asking the question: how do we use AI to work better together?</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.003.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.003.png" alt="How Can We Use AI to Work Together?"></a></p>

<p>Because pretty much everybody, in this room and beyond, is working with other people. And that's where the magic lies. Being able to pull multiple folks, their skills, and their experience together to create something better than you could do yourself.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.004.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.004.png" alt="Throwing Things Over The Wall"></a></p>

<p>Why doesn't this kind of collaboration happen already? As user experience, front-end development, and product management have matured as disciplines, we've fallen into a throw-it-over-the-wall modality. Partially because as these roles have matured, specific tools have been made for designers, like Figma. Likewise specific tools for developers, tools for PMs, et.c</p>

<p>And now we're adding a lot more tools, thanks to AI. So we're all able to produce more at a higher rate. Which means we're more throwing stuff over the wall faster. That's why you hear stories of developers just being overwhelmed with PRs as everyone starts "shipping" their ideas.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.005.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.005.png" alt="Even a Blog Post Requires Collaboration"></a></p>

<p>That applies to big complex projects but also nearly everything we do. Like publishing a blog post on your Web site. Maybe these days, the PM writes the content in ChatGPT, the designer makes the assets in Nano Banana, the developer writes the code in Codex. Everyone's productive, but are they aligned? </p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.006.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.006.png" alt="The Workspace Primitive in the Intent App"></a></p>

<p>To help solve this, we've been building an app called <a href="https://www.intentapp.dev/">Intent</a>. The goal: make it easier to build software together. For any task, you spin up a workspace, which is a bundle of everything you need. Files (an isolated copy of the codebase, so you can change without messing up what others are doing), context (specs, scratchpad, data from external systems via MCP, etc), and agents (with tools and the ability to delegate and orchestrate work). Because these are all in one bundle, it becomes easier to put things down, pick them up, and hand them off.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.007.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.007.png" alt="The Workspace Primitive in the Intent App"></a></p>

<p>Here's why that matters in practice. A designer keeps working where they already work (like Figma or paper) and brings their expertise into the workspace: grid, typography. That all gets encoded. A developer gets to work in their tools: CSS frameworks, deployment, structure. Same surface, different expertise.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.008.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.008.png" alt="Encoding Design and Development outcomes into a Workspace in Intent"></a></p>

<p>The same surface that makes it easy to collaborate with people on your team is the same one that makes it easy to collaborate with agents. And true collaboration means respecting everyone's taste. So any workspace that gets spun up will align with how the designer encoded the styles to work and how the developer encoded the code to work.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.009.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.009.png" alt="Figma File with layouts and styles for Aria Website"></a></p>

<p>To illustrate as a designer, I've got a Figma file with a grid and layouts. I go into a workspace in Intent and say: "Agent, look at the Figma file. Create the grid. Here's what the breakpoints are." Now that's encoded in the workspace and anybody that creates a new page or drops in a new asset, it works within that system.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.010.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.010.png" alt="Encoding Design  grid and breakpoints into a Workspace in Intent"></a></p>

<p>I can also set up how animations should work to give everything made in the workspace silky smooth transitions.</p>
<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.011.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.011.png" alt="Encoding Design  grid layouts and responsive behaviors"></a></p>

<p>Same idea on the developer side. The dev can say: here's the agent's MD file, here's how we're testing the code, here's the tailwind config. The agent encodes all of that.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.013.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.013.png" alt="Encoding Development configurations into a Workspace in Intent"></a></p>

<p>Taste gets baked into code files and markdown files in the repo. And because things are built on top of the same version control that developers use, it gets automatically included into every new workspace.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.014.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.014.png" alt="Assets from an illustrator and text from a write for an Aria blog post"></a></p>

<p>The great thing is that this same pattern works for anybody on the team. An illustrator can use their own tools to make assets. A content writer can write their copy in Word.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.015.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.015.png" alt="Turn this into an  Aria blog post command in Intent app"></a></p>

<p>Then anybody on the team can spin up a workspace and say: we're making a blog post, here are the assets, here's the Word doc. Because that workspace already includes the designer and developer's tastes, what pops out the other end is a blog post that's fully aligned with the rest of the site.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.016.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.016.png" alt="An Intent workspace turns assets into a unified design and development result"></a></p>

<p>You can also run these workspaces in parallel so many people can be working on different parts of the experience simultaneously. And because every workspace is  encoded in the same way, everything that gets added ends up unified by default.</p>

<p><a href="http://static.lukew.com/IntentDemo_April2026_fin.017.png"><img src="http://static.lukew.com/IntentDemo_April2026_fin.017.png" alt="Running many workspace in parallel in Intent"></a></p>

<p>This gives us massive parallelism and the ability to accommodate all kinds of last-minute requests. Which, even in an age of AI, still happen. Here's me busting out 10 last-minute 8pm asks in minutes using multiple workspaces without messing up the design or code integrity of the <a href="https://arianetworks.com/">site</a>.</p>

<p>AI tools are making individuals faster, but speed isn't the problem. Cohesion is. When taste is encoded into a shared workspace in <a href="https://www.intentapp.dev/">Intent</a>, designers keep designing, developers keep developing, and everything that comes out the other end holds together. No handoffs necessary.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2150</link>
      <pubDate>Thu, 30 Apr 2026 14:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[Podcast: Agents, Interfaces, and More]]></title>
      <description><![CDATA[<p class="feature">I recently sat down with Mark Swaine on the <a href="https://podcasts.apple.com/ie/podcast/14-the-interface-is-dissolving-luke-wroblewski-on/id1510832977?i=1000763391673">UX Institute podcast</a> to talk about where interfaces are heading, what's changing for designers, and why most of the software we use today is still kind of crappy. Here's some of the threads we pulled on.</p>

<h2>You're Not a Hammer User</h2>
<p>We don't call carpenters "hammer users." We call them carpenters. We focus on what they make. Yet the tech industry turned everyone into "users." The goal should be letting people accomplish what they came to do without forcing them to be conscious of operating a computer. That's been the north star for decades, and it's finally starting to feel possible.</p>

<p>Photoshop has thirty-plus years of interface built around manipulating pixels. But when you want to edit a photo, you're thinking "make her hair flow to the left," not "select these pixels and apply a transform." At <a href="http://reve.com/">Reve</a>, we've been building around object-oriented editing, where you interact with semantic objects (a woman, hair, a vase) instead of drawing selection boxes. It matches how people actually think.</p>

<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/reve_annotations_demo.mp4"></video></div>

<h2>UI for AI</h2>
<p>A developer I work with has this great framing for how people relate to AI agents. Some treat them like pets and some treat them like cattle. If you design for pet people, you show the full trace, every step expanded, every decision explained. But that creates walls of information that cattle people will never read. If you design for cattle people, you roll everything up into a clean result. But pet people feel blind and anxious. Depending on which group you're hearing from, you may up end up with very different UI.</p>

<p>Across every AI product I've worked on, three challenges keep showing up. Capability awareness: what can this thing actually do? Context awareness: what is it paying attention to right now? And walls of text: reasoning traces, tool calls, all streaming at you. We're making progress, but some of these may never fully go away.</p>

<p><a href="http://static.lukew.com/3coreproblems_aiproducts.png"><img src="http://static.lukew.com/3coreproblems_aiproducts.png" alt="Three Common AI Problems"></a></p>

<p>Everyone talks about using a company's data with AI agents. The problem is most of that data is stale. Your CRM gets touched when someone remembers to. The real source of truth is the sales call happening right now, the Slack conversation from this morning. Code is a rare exception because the codebase is actually current. Almost nothing else is.</p>

<h2>Jump In or..</h2>
<p>I've lived through the birth and growth of the Web and mobile. Designers who aren't adapting to the new reality of AI are going to feel the ground shift even more than in those earlier tech transitions. You have capabilities right now that didn't exist a year ago. Go make things.</p>

<p>Listen to the full conversation on the <a href="https://podcasts.apple.com/ie/podcast/14-the-interface-is-dissolving-luke-wroblewski-on/id1510832977?i=1000763391673">UX Institute podcast</a>.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2149</link>
      <pubDate>Fri, 24 Apr 2026 14:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[The New Designer/Developer Collaboration]]></title>
      <description><![CDATA[<p class="feature">There's lots of ways to build a website. Most of them involve designers working in one tool, developers working in another, and a painful handoff process somewhere in between. We recently used <a href="https://www.intentapp.dev/">Intent</a> to design, build and ship a well-crafted <a href="https://arianetworks.com/">website</a> in about three weeks, and the collaboration model that emerged shined a light on how things could (no, should) be.</p>

<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/Dev%20Des4k.mov"></video></div>

<h2>Design First</h2>
<p>We started the way most Web projects start these days: in Figma. Visual explorations of what the style, wireframes for the structure, then bringing the two together into full page layouts. Our designer set up the grid, typography scales, color variables, buttons, and reusable components. Your typical design system.</p>

<p><a href="http://static.lukew.com/ariasite_figma_designsystem.png"><img src="http://static.lukew.com/ariasite_figma_designsystem.png" alt="Aria Design System in Figma"></a></p>

<p>This process took about two weeks and was pretty standard. Desktop and mobile comps, a couple rounds of feedback on visuals and copy, iterating until we had a visual style, a rough structure, and directional content. Just a solid Web design process.</p>

<p><a href="http://static.lukew.com/ariasite_figma_pages.png"><img src="http://static.lukew.com/ariasite_figma_pages.png" alt="Aria Web sites page designs in Figma"></a></p>

<h2>Development Foundation</h2>
<p>Once the designs were in a good place, our developer jumped in. But not by staring at a Figma file and manually translating pixels into code. Instead, he opened up <a href="https://www.intentapp.dev/">Intent</a>, set up the project scaffolding (Astro, Tailwind), connected to the Figma MCP, and wrote an agents.md file that pointed to all the artboards.</p>

<p>Then he kicked off a series of workspaces. The first one pulled the design tokens into Tailwind. The second started laying out the first page using those tokens. After that, he was able to break off into parallel workspaces, one for each page. Desktop layouts first, then separate passes for mobile.</p>

<p>This whole phase, the front-end infrastructure, took maybe one or two days of actual work. And by the end, every page existed in code, using the design system, at roughly 85% fidelity. Not pixel perfect, but pretty damn close.</p>

<h2>Parallel Work</h2>
<p>Once he deployed the site to a staging URL, the three of us started working in <a href="https://www.intentapp.dev/">Intent</a> simultaneously: our designer, our front-end developer, and me handling product/project management. Though we all were using the same tool, we each worked our own way.</p>

<p>Our designer set up a grid overlay so he could visually verify alignment. He would tell the agent "align to column three" and it would snap things into place (way better than guessing at percentage values). He preffered staying in one workspace to tweak alignment and refine grid positioning across a full page before committing things.</p>

<p><a href="http://static.lukew.com/aria_intent_design1.png"><img src="http://static.lukew.com/aria_intent_design1.png" alt="Designer Workflow in Intent - setting up a grid"></a></p>

<p>Once the pages were structurally solid, he moved on to animations. Entrance effects on homepage elements, scroll-triggered transitions, etc.. Work that normally takes days of back-and-forth between a designer specifying timing curves and a developer implementing them happened in about hours. He still maintained manual control where it mattered, finding the exact easing curve he wanted then telling the agent to use it. The implementation was handled for him so he could focus on how things felt.</p>

<p><a href="http://static.lukew.com/aria_intent_design2.png"><img src="http://static.lukew.com/aria_intent_design2.png" alt="Designer Workflow in Intent - animation tweaking"></a></p>

<P>Meanwhile, I was doing content and product work. Dumping in blog posts from Word docs, adding image assets, making text changes based on feedback from the broader team. My approach was simple: small discrete tasks with a single agent. Fix one thing, commit. Fix another thing, commit. Once I had four or five commits, I'd open a pull request, toss out the workspace, and start a new one. The design tokens and setup our developer created ensured my changes were all inline with our design and development architecture.</p>

<p><a href="http://static.lukew.com/ariasite_intent_screen.png"><img src="http://static.lukew.com/ariasite_intent_screen.png" alt="Working on Aria Web Site in the Intent app"></a></p>

<p>Our developer's job during this phase was partly creative and partly managerial. He handled the templatized pages (news, product detail) where variable content meant design rules mattered more. He also kept an eye on pull requests, merged changes, resolved conflicts, and updated the agents.md file when he noticed patterns emerging in the code that should be standardized.</p>

<p><a href="http://static.lukew.com/aria_intent_build4.png"><img src="http://static.lukew.com/aria_intent_build4.png" alt="Developer Workflow in Intent"></a></p>

<p>For example, when he saw icons being added in a way that wouldn't scale, he set up a better pattern and documented it. The next time anyone needed to add icons, the agent just followed the convention automatically. He used <a href="https://www.intentapp.dev/">Intent</a> for conflict resolution too, pulling up conflicting branches and having the agent sort them out. Out of maybe 30 or 40 pull requests across the project, only five needed real manual intervention.</p>

<p><a href="http://static.lukew.com/aria_intent_build3.png"><img src="http://static.lukew.com/aria_intent_build3.png" alt="Developer Workflow in Intent"></a></p>

<p>Same tool, three different workflows, nobody waiting on each other.</p>

<h2>Crunch Time</h2>
<p>Every web project has a crunch period right before launch and ours was no different. The broader team started paying attention (as they always do at the very end), and feedback flooded in. But because the three of us could all be in Intent making changes at the same time, the crunch was way more manageable than usual.</p>

<p><a href="http://static.lukew.com/ariasite_slack_crunch2.png"><img src="http://static.lukew.com/ariasite_slack_crunch2.png" alt="Crunch time for the Aria Web Site in Slack"></a></p>

<p>The biggest win was that  any one of us could contribute meaningfully to the codebase without breaking the design system, code structure, or the site. That's a fundamentally different dynamic than waiting for a developer to make every change.</p>

<h2>A New Way of Working?</h2>
<p>It wasn't perfect. CSS layout struggles are still a thing. Git seems to keep finding ways to bite you. And there's still a learning curve for non-developers, even with agents handling the hard parts.</p>

<p>But without the handoff, everyone builds. And that makes all the difference.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2148</link>
      <pubDate>Wed, 15 Apr 2026 14:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[Should Designers "Code"?]]></title>
      <description><![CDATA[<p class="feature">There's a question that never goes away in design: should designers code? My answer has always been yes. But for a decade or so, the complexity of front-end development made it impractical for most. Thankfully, AI <a href="https://lukew.com/ff/entry.asp?2137">coding agents</a> have reopened the door.</p>

<p>Just like a sculptor needs to know how marble chisels, breaks, and buffs, a Web designer should know how CSS, HTML, and Javascript construct interfaces within a Web browser. You need to be intimate with your medium to know what it can and cannot do. Whether Web apps, iOS native apps, <a href="https://lukew.com/ff/entry.asp?2096">AI apps</a>...</p>

<p>For years, many designers did exactly that. Looking at my personal GitHub history tells a story familiar to many. Steady coding until about 2014. Then almost nothing for a decade. Why?</p>

<p><a href="http://static.lukew.com/github_coding_history.png"><img src="http://static.lukew.com/github_coding_history.png" alt="GitHub contribution history showing steady coding activity in 2012-2013, tapering off from 2014 through 2023"></a></p>

<p>Before 2014, a designer could build a lot with HTML, CSS, and Javascript. Then React and Angular gained traction, and "web app" went from "pages with some interactivity" to single-page applications with state management, routing, and build pipelines. The gap between "I can code a website" and "I can code in my team's dev environment" widened fast.</p>

<p>Tooling got heavier and frameworks churned constantly. Deployment went from dragging files to a server to CI/CD and cloud infrastructure. So little wonder that a  designer who coded comfortably in 2012 could look at the 2015 landscape and reasonably decide to go back to Sketch (dated reference, I know.)<p>

<p>Thankfully technology never sits still and AI coding agents are now collapsing the gap between designing and building. Zooming in to the last few years of my GitHub history tells that story well.</p>

<p><a href="http://static.lukew.com/github_coding_recent.png"><img src="http://static.lukew.com/github_coding_recent.png" alt="GitHub contribution history showing renewed coding activity in 2025 and heavy activity in early 2026"></a></p>

<p>For years, it was faster to mock up software than to ship it. Designers stayed "ahead" of engineering with prototypes. Now AI coding agents make development so much faster that the loop has flipped. Henry Modisett described this new state as "prototype to productize" rather than "design to build," and that sounds right to me.</p>

<p>Designers can now work iteratively with production code, not just prototypes. This kind of hands-on work creates better designers, ones who work through issues that previously got left for developers to figure out.</p>

<p>As always, designing software is better when you work in the medium, not a level or two abstracted away. AI tools make that possible again.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2147</link>
      <pubDate>Tue, 07 Apr 2026 14:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[Consistent Character Maker Update]]></title>
      <description><![CDATA[<p class="feature">A couple months ago, I wrote about how <a href="https://lukew.com/ff/entry.asp?2140">design tools are</a> the new design deliverables and built the LukeW Character Maker to illustrate the idea. Since then, people have made over 4,500 characters and I regularly get asked how it stays consistent. I recently updated the image model, error-checking, and prompts, so here's what changed and why.</p>

<h2>New Image Model</h2>
<p>Google recently released a new version of their image generation model (Nano Banana 2) and I put it to the test on my <a href="https://lukew.com/maker/">Character Maker</a>. The results are noticeably more dynamic and three-dimensional than the previous version. Characters have more depth, better lighting, and more active poses. So I'm now using it as the default model (until <a href="https://blog.reve.com/posts/reve-1.5-is-here/">Reve 1.5</a> is available as an API).</p>

<p><a href="http://static.lukew.com/lukew_maker_comparison.png"><img src="http://static.lukew.com/lukew_maker_comparison.png" alt="Comparing Nano Banana 1 vs 2 for LukeW Character Maker"></a></p>

<p>One of the ways I <a href="https://lukew.com/ff/entry.asp?2140">originally reinforced consistency</a> in my character maker was by checking whether an image generation model's API returned images with the same dimensions as the reference images I sent it. If the dimensions didn't match, I knew the model had ignored the visual reference so I forced it to try again. In my testing, this was needed about 1 in every 30-40 images. A very simple check, but it worked well.</p>

<p>A week into using Nano Banana 2, that sizing check started throwing errors. Generated images were no longer coming back with the exact dimensions of my reference images, breaking my verification loop. I had to resize the reference images to match Google's default 1K image size (1365px by 768px). But that took away my consistency check, so I had reinforce my prompt rewriter to make up for it.</p>

<p><strong>Update:</strong> A day after publishing this overview, Google quietly changed the image format their API returns (from PNG to WEBP). This made image dimensions read incorrectly, causing every generation attempt to fail. Had to implementation a fix that works regardless of what format Google decides to send back.</p>

<h2>Prompt Rewriter Iteration</h2>
<p>This is where most of the ongoing work happens. As real people used the tool, edge cases piled up and the first step of <a href="https://lukew.com/ff/entry.asp?2140">my pipeline</a> (prompt rewriting) had to evolve. 
For example, my character is supposed to be faceless (no eyes, no mouth, no hair). This had to be reinforced progressively over several iterations. Turns out image models really want to put a face on things.</p>

<p>For color accuracy, I shifted from named colors like "lime-green" that relied on the reference images for accuracy to explicitly adding both HEX codes and RGB values. Getting the exact greens to reproduce consistently required that level of specificity. I also added default outfit color rules for when people try to request color changes.</p>

<p>Content moderation expanded steadily as people found creative ways to push boundaries. I blocked categories like gore, inappropriate clothing, and full body color changes, while loosening rejection criteria from blocking any "appearance changes" to only rejecting clearly inappropriate inputs. The goal: allow creative freedom while preventing abuse.</p>

<p>The overall approach was: start broad, then iteratively tighten character consistency while expanding content moderation guardrails as real usage revealed what was needed.</p>

<p><a href="http://static.lukew.com/lukew_maker_edits.png"><img src="http://static.lukew.com/lukew_maker_edits.png" alt="Updating LukeW Characters with an Image check"></a></p>

<p>At this point, my character comes back consistent almost every time. About 1 in 50 generations still produces an extra arm or a mouth (he's faceless, remember?). I've  tested checking each image with a vision model then sending it back for regeneration if something is off (examples above). But given how rarely this happens and how much latency and cost it would auto check every image, it's currently not worth the tradeoff for me. For other uses cases, it might be?</p>

<p>If you haven't already, try the <a href="https://lukew.com/maker/">LukeW Character Maker</a> yourself. Though I might have to revisit the pipeline again if you get too creative.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2146</link>
      <pubDate>Tue, 17 Mar 2026 14:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[Durable Patterns in AI Product Design]]></title>
      <description><![CDATA[<p class="feature">In my recent Designing AI Products talk, I outlined several of the lessons we've learned building AI-native companies over the past four years. Specifically the patterns that keep proving durable as we speed-run through this evolution of what AI products will ultimately become.</p>

<p>I opened by framing something I think is really important: every time there's a major technology platform shift, almost everything about what an "application" is <a href="https://lukew.com/ff/entry.asp?2117">changes</a>. From mainframes to personal computers, from desktop software to web apps, from web to mobile, the way we build, deliver, and experience software transforms completely each time.</p> 

<p><a href="http://static.lukew.com/DesigningAIApplications_Jan26.002.png"><img src="http://static.lukew.com/DesigningAIApplications_Jan26.002.png" alt="Designing AI Applications presentation"></a></p>

<p>There's always this awkward period where we try to cram the old paradigm into the new one. I dug up an old deck from when we were redesigning Yahoo, and even two years after the iPhone launched, we were still just trying to port the Yahoo webpage into a native iOS app. The same thing is happening now with AI. The difference is this evolution is moving really, really fast.</p>

<p>From there, I walked through the stages of <a href="https://lukew.com/ff/entry.asp?2096">AI product evolution</a> as I've experienced them.</p>

<p><a href="http://static.lukew.com/evolution_AI_apps.png"><img src="http://static.lukew.com/evolution_AI_apps.png" alt="The Evolution of AI Products"></a></p>

<p>The first stage is AI working behind the scenes. Back in 2016, Google Translate was "completely reinvented," but the interface itself changed not at all. What actually happened was they replaced all these separate translation systems with a single neural network that could translate between language pairs it was never explicitly trained on. YouTube made a similar move with deep learning for video recommendations. The UIs stayed the same; everything transformative was happening under the hood.</p>

<p><a href="http://static.lukew.com/DesigningAIApplications_Jan26.012.png"><img src="http://static.lukew.com/DesigningAIApplications_Jan26.012.png" alt="Google Translate: AI working behind the scenes"></a></p>

<p>I remember being at Google for years where the conversation was always about how to make machine learning more of a core part of the experience, but it never really got to the point where people were explicitly interacting with an AI model.</p>

<p>That changed with the explosion of chat. ChatGPT and everything that looks exactly like it made direct conversation with AI models the dominant pattern, and chat got bolted onto nearly every software product in a very short time. I illustrated this with Ask LukeW, a system I built almost three years ago that lets people talk to my body of work in natural language. It seems pretty simple now, but building and testing it surfaced a few patterns that have carried over into everything we've done since.</p>

<p>One is <a href="https://lukew.com/ff/entry.asp?2044">suggested questions</a>. When you ask something, the system shows follow-up suggestions tied to your question and the broader corpus. When we tested this, we found these did an enormous amount of heavy lifting. They helped people understand what the system could do and how to use it. </p>

<p><a href="http://static.lukew.com/DesigningAIApplications_Jan26.023.png"><img src="http://static.lukew.com/DesigningAIApplications_Jan26.023.png" alt="suggested questions in AI interfaces"></a></p>

<p>A huge percentage of all interactions kicked off from one of these suggestions. And they've only gotten better with stronger models. In our newer products like Rev (for creatives) and <a href="https://www.augmentcode.com/intent">Intent</a> (for developers), the suggestions have become so relevant that people often just pick them with keyboard shortcuts instead of typing anything at all.</p>

<p>Another pattern is <a href="https://lukew.com/ff/entry.asp?2077">citation</a>. Even just seeing where information comes from gives people a real trust boost. In Ask LukeW, you could hover over a citation and it would take you to the specific part of a document or video. This was an early example, but as AI systems gain access to more tools and can do much more than look up information, the question of how to represent what they did and why in the interface becomes increasingly important.</p>

<p><a href="http://static.lukew.com/DesigningAIApplications_Jan26.025.png"><img src="http://static.lukew.com/DesigningAIApplications_Jan26.025.png" alt="citations in AI interfaces"></a></p>

<p>And the third is what I call the walls of text problem. Because so much of this is built on large language models, people are often left staring at big blocks of text they have to parse and interpret. We found that bringing back multimedia, like <a href="https://lukew.com/ff/entry.asp?2079">responding with images</a> alongside text, or using diagrams and interactive elements, helped a lot.</p>

<p><a href="http://static.lukew.com/DesigningAIApplications_Jan26.027.png"><img src="http://static.lukew.com/DesigningAIApplications_Jan26.027.png" alt="responding with images in AI interfaces"></a></p>

<p>Through that walkthrough of what now seems like a pretty simple AI application, I'd actually touched on what I think are the <a href="https://lukew.com/ff/entry.asp?2107">three core issues</a> that remain with us today: capability awareness (what can I do here?), context awareness (what is the system looking at?), and the walls of text problem (too much output to process).</p>

<p><a href="http://static.lukew.com/3coreproblems_aiproducts.png"><img src="http://static.lukew.com/3coreproblems_aiproducts.png" alt="three core issues in AI interfaces"></a></p>

<p>The next major stage is things becoming agentic. When AI models can use tools, make plans, configure those tools, analyze results, think in between steps, and fire off more tools based on what they find, the complexity of what to show in the UI explodes. And this compounds when you remember that most of this is getting bolted into side panels of existing software. I showed a developer tool where a single request to an agent produced this enormous thread of tool calls, model responses, more tool calls, and on and on. It's just a lot to take in.</p>

<p><a href="http://static.lukew.com/DesigningAIApplications_Jan26.037.png"><img src="http://static.lukew.com/DesigningAIApplications_Jan26.037.png" alt="Many tool calls in an agentic coding UI"></a></p>

<p>A common reaction is to just show less of it, collapse it, or hide it entirely. And some AI products do that. But what I've seen consistently is that users fall into two groups. One group really wants to see what the system is thinking and doing and why. The other group just wants to let it rip and see what comes out. I originally thought this was a new-versus-experienced user thing, but it honestly feels more like two distinct mindsets.</p>

<p>We've tried many different approaches. In Bench, a workspace for knowledge work, we showed all tool calls on the left, let you click into each one to see what it did, and expand the thinking steps between them. You could even open individual tool calls and see their internal steps. That was a lot.</p>

<p><a href="http://static.lukew.com/bench_toolcalls.png"><img src="http://static.lukew.com/bench_toolcalls.png" alt="Agentic tool call designs in Bench"></a></p>

<p>As we <a href="https://lukew.com/ff/entry.asp?2142">iterated</a>, we moved from highlighting every tool call to condensing them, surfacing just what they were doing, and eventually showing processes inline as single lines you could expand if you wanted. The pattern we've landed on in <a href="https://www.augmentcode.com/intent">Intent</a> is collapsed single-line entries for each action. If you really want to, you can pop one open and see what happened inside, but for the most part, collapsing these things (and even finding ways to collapse collapses of these things) is <a href="https://lukew.com/ff/entry.asp?2142">where we are now</a>.</p>

<p>We also experimented with separating process from results entirely. In <a href="https://www.chatdb.io/">ChatDB</a>, when you ask a question, the thinking steps appear on the left while results show up on the right. You can scroll through results independently while keeping the summary visible, or open up the thought process to see why it did what it did. Changing the layout to give actual results more prominence while still making the reasoning accessible has <a href="https://lukew.com/ff/entry.asp?2136">worked well</a>.</p>

<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/ChatDB_UI_nov20.mp4"></video></div>

<p>On the capability awareness front, I showed several approaches we've explored. One is prompt enhancement, where you type something simple and the model rewrites it into a much more detailed, context-aware instruction. This gets really interesting when the system can automatically search a codebase (like our product Augment does) to find relevant patterns and write better instructions that account for them.</p>

<p>Another approach was Bench's <a href="https://lukew.com/ff/entry.asp?2113">visual task builder</a>, where you compose compound sentences from columns of capabilities: "I want to... search... Notion for... a topic... and create a PowerPoint summarizing the findings." This gives people tremendous visibility into what the system can do while also helping them point it in the right direction.</p>

<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/Bench_TaskBuilder.mp4"></video></div>

<p>And then there's onboarding. Designers are familiar with the empty screen problem, and the usual advice is to throw tooltips or tutorials at it. But it turns out we can have the AI model <a href="https://lukew.com/ff/entry.asp?2130">handle all of this instead</a>. In ChatDB, when you drag a spreadsheet onto the page, the system picks a color, picks an icon, names the dashboard, starts running analysis, and generates charts for you. You learn what it does by watching it do things, rather than trying to figure out what you can tell it to do.</p>

<p><a href="http://static.lukew.com/DesigningAIApplications_Jan26.053.png"><img src="http://static.lukew.com/DesigningAIApplications_Jan26.053.png"  alt="Empty pages vs Coach Marks vs AI Doing the Work"></a></p>

<p>For context awareness, I showed how products like <a href="http://reve.com/">Reve</a> let you spatially tell the model what to pay attention to. You can highlight an object in an image, drag in reference art, move elements around, and then apply all those changes. You're being very explicit through the interface about what the model should focus on. I also <a href="https://lukew.com/ff/entry.asp?2138">showed</a> context panels where you can attach files, select text, or point the model at specific folders.</p>

<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/reve_annotations_demo.mp4"></video></div>

<p>The final stage I explored is agents <a href="https://lukew.com/ff/entry.asp?2141">orchestrating</a> other agents. In <a href="https://www.augmentcode.com/intent">Intent</a>, there's an agent orchestration mode where a coordinator agent figures out the plan, shows it to you for review, and then kicks off a bunch of sub-agents to execute different parts of the work in parallel. You can watch each agent working on its piece. I think there's a big open question here about <a href="https://lukew.com/ff/entry.asp?2144">where the line is</a>.</p>

<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/intent_agents_managing_agents.mov"></video></div>

<p>How much can people actually process and manage? If you use the metaphor of being a manager or a CEO, can you be a CEO of CEOs? I don't think we know yet, but this is clearly where the evolution is heading.</p>

<p>The throughline of the whole talk was that while the final form of AI applications hasn't been figured out, certain patterns keep proving their value at each stage. Those durable patterns, the ones that hang around and sometimes become even more important as things evolve, are the ones worth paying close attention to.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2145</link>
      <pubDate>Thu, 12 Mar 2026 14:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[Finding the Role of Humans in AI Products]]></title>
      <description><![CDATA[<p class="feature">As AI products have <a href="https://lukew.com/ff/entry.asp?2096">evolved</a> from models behind the scenes to chat interfaces to agentic systems to agents coordinating other agents, the design question has begun to shift. It used to be about how people interact with AI. Now it's about where and how people fit in.</p>

<p>The clearest example of this is in software development. In Anthropic's <a href="https://www.anthropic.com/news/the-anthropic-economic-index">2025 data</a>, software developers made up 3% of U.S. workers but nearly 40% of all Claude conversations. A year later, their 2026 Measuring Agent Autonomy <a href="https://www.anthropic.com/research/measuring-agent-autonomy">report</a> showed software engineering accounting for roughly 50% of AI agent deployments. Whatever developers are doing with AI now, other domains are likely to follow suit.</p>

<p>And what developers have been doing is watching their role abstract upward at a pace that's hard to overstate.</p>

<p><a href="http://static.lukew.com/coding_evolution_AI.png"><img src="http://static.lukew.com/coding_evolution_AI.png" alt="Evolution of AI Coding tools in Augment"></a></p>

<ul>
<li><strong>First, humans wrote code.</strong> You typed, the computer did what you said.</li>

<li><strong>Then machines started suggesting.</strong> GitHub Copilot's early form was essentially AI behind the scenes, offering inline completions. You picked which suggestions to use. Still very much in the driver's seat.</li>

<li><strong>Then humans started talking to AI directly.</strong> The chat era. You could describe what you wanted in natural language, paste in a broken function, brainstorm architecture. The model became a collaborator.</li>

<li><strong>Then agents got tools.</strong> The model doesn't just respond with text anymore. It searches files, calls APIs, writes code, checks its own work, and decides what to do next based on the results. You're no longer directing each step.</li>

<li><strong>Then came orchestration.</strong> A coordinator agent receives your request, builds a plan, and delegates to specialized sub-agents. You review and approve the plan, but execution fans out across multiple autonomous workers.</li>
</ul>

<p><a href="http://static.lukew.com/evolution_AI_app2.png"><img src="http://static.lukew.com/evolution_AI_app2.png" alt="Evolution of AI Products"></a></p>

<p>To make this more tangible, our developer workspace, <a href="https://www.augmentcode.com/product/intent">Intent</a>, makes use of agent orchestration where a coordinator agent analyzes what needs to happen, searches across relevant resources, and generates a plan. Once you approve that plan, the coordinator kicks off specialized agents to do the work: one handling the design system, another building out navigation, another coordinating their outputs. Your role is to review, approve, and steer.</p>

<p><strong>Stack that one more level</strong> and you've got machines running machines running machines. At which point: where exactly does the human sit?</p>

<p>To use a metaphor we're all familiar with: a manager keeps tabs on a handful of direct reports. A director manages managers. A CEO manages directors. At each layer, the person at the top trades direct understanding for leverage. They see less of the actual work and more of the summaries, status updates, and roll-ups.</p>

<p>But being an effective CEO is extraordinarily rare. Not just thinking you can do it, but actually doing it well. And a CEO of CEOs? The number of people who have operated at that scale is vanishingly small.</p>

<p>Which raises two questions. First, how far up the stack can humans actually go? Agent orchestration? Orchestration of orchestration? Where does it break down? Second, at whatever level we land on, what skills do people need to operate there?</p>

<p>The durable skills may turn out to be steering, delegation, and awareness: knowing what to ask for, how much autonomy to grant, and when to look under the hood. These aren't programming skills. They're closer to the skills of a good leader who knows when to let the team run and when to step in.</p>

<p>We used to design how people interact with software. Now we're designing how much they need to.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2144</link>
      <pubDate>Tue, 10 Mar 2026 14:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[Small Teams Win, Again]]></title>
      <description><![CDATA[<p class="feature">I’ve always believed in the power of small teams. The start-ups I co-founded never exceeded five employees, yet achieved a lot. With today's technology, even more companies can remain extremely small and be extremely effective. And that's awesome.</p>

<p>When Twitter <a href="https://lukew.com/ff/entry.asp?1371">acquired</a> Bagcheck in 2011, Sam (CTO) and I were shipping multiple times a day. We started with a <a href="https://lukew.com/ff/entry.asp?1935">command line interface</a> that let us figure out what objects and actions we needed before ever building any UI. When we did, we used logic-less <a href="https://ask.lukew.com/chat?id=00f65bfd-3c11-4b2e-887c-ef1caff3bc05">templates</a> so I could iterate on the front-end quickly while Sam managed the back-end code.<p>

<p>The point was to <strong>move fast and learn</strong>. With just two people building the product, we never got bottlenecked on decision-making or coordination. While conventional wisdom says "add more resources" to go faster, it rarely works out that way. Most companies go slow because of plodding decision making and opaque alignment. Smaller teams naturally don't have this problem.</p>

<p>But small teams can only do so much right? That's why every team in a big company is always asking for more resources. Not anymore.</p>

<p>Armed with highly capable AI systems, everyone (designer, developer, etc.) on a team can get more done. In big teams, though, these new capabilities smack head first into the decision-making and alignment problems that have always been there. In small teams, they don't.</p>

<p><a href="http://static.lukew.com/AIroles_quote.png"><img src="http://static.lukew.com/AIroles_quote.png" alt="PMs using Al, Designers using Al, Developers using Al"></a></p>

<p>So how small? Surely we need at least 100? 50? Bagcheck never crossed four employees and when Google <a href="https://lukew.com/ff/entry.asp?1918">acquired</a> my next company, Polar, in 2014 there was five of us. These companies pre-dated AI coding agents and large language models. With today's AI capabilities, the number of people you need to get a lot done fast is probably a lot smaller than you think.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2143</link>
      <pubDate>Sun, 01 Mar 2026 14:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[Showing the Work of Agents in UI]]></title>
      <description><![CDATA[<p class="feature">As AI products <a href="https://lukew.com/ff/entry.asp?2096">lean more</a> heavily into agentic capabilities, the same design challenges keep surfacing across projects. Here's a look at how we've approached one of these recurring debates: showing the work of agents, or not.</p>

<p>An AI product <a href="https://ask.lukew.com/chat?id=6080d569-e4b7-4b0b-9ace-2529e856723e">becomes agentic</a> when the model doesn't just respond to a prompt, but plans which tools to use, configures them, and decides its next steps based on the results. This additional set of process means AI products are able to do more, check their work, and thereby provide better results. The downside, though, is it can be a lot for people to take in.</p>

<p>Whether people are using agentic products for coding, data analysis, or writing, I keep seeing the same split: some users find the agent's work overwhelming and want the interface to focus purely on results. Others say seeing that work is essential for monitoring and checking what the agent is doing. Strongly worded feedback comes in from both sides.</p>

<p>I initially assumed this was a temporary divide. New users tend to watch closely and check the system's progress, but as trust builds, that scrutiny fades and monitoring starts to feel like a chore. Yet it still seems like there's two camps (for now). So how does a product strike the balance?</p>

<p>When working on <a href="https://ask.lukew.com/chat?id=c9235393-7573-4b8f-b9bf-fd4ba134a77b">Bench</a>, a workspace for knowledge work, we explored many approaches to displaying tool use, results, and configuration. (though we quickly learned, no one configured tools, that's the agent's job.) In this exploration, results from each tool are grouped beneath it and open in the right column when selected (video below).</p>

<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/bench_toolresults.mov"></video></div>

<p>A later iteration featured several levels of progressive disclosure. Tool calls were collapsed by default, and selecting one would show its results in the right column. Selecting the timeline highlighted all the process and decision points between tool uses. You could even open each tool's settings, re-run it, or stop it mid-execution (video below). Tools were new back then and we were working off the assumption that people would want visibility and control. It was too much.</p>

<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/bench_toolresults2.mov"></video></div>

<p>In subsequent iterations we focused on reducing the visual weight of tools and showing less process by default. This became even more important as the number of tools grew..</p>

<p><a href="http://static.lukew.com/bench_toolcalls.png"><img src="http://static.lukew.com/bench_toolcalls.png" alt="Agentic tool call designs in Bench"></a></p>

<p>For <a href="https://www.chatdb.io/">ChatDB</a>, which helps people understand and visualize data, we split the interface into two columns. While the agent works (video below), the left side shows what it's doing: the decisions it's making, the tools it's picking, and so on. When results appear in the right column, the left side collapses down to a summary and link so the focus shifts to the output. Anyone who wants to review the steps can open it back up.</p>

<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/ChatDB_UI_nov20.mp4"></video></div>

<p><a href="https://lukew.com/ff/entry.asp?2136">This approach</a> allows the agent's work to serve a detailed progress indicator, instead of forcing people to watch a spinner while things work.</p>

<p><a href="http://static.lukew.com/bench_toolcalls.png"><img src="http://static.lukew.com/intent_toolcalls.png" alt="Agentic tool call designs in Intent"></a></p>

<p>More recently in <a href="https://www.augmentcode.com/intent">Intent</a>, a developer workspace for working with agents, we used a single line to show an agent's work with the ability to expand it for more details. It's an attempt to strike a balance between too much and not enough but I still hear opinions on both sides.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2142</link>
      <pubDate>Tue, 17 Feb 2026 14:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[Agent Orchestration UI]]></title>
      <description><![CDATA[<p class="feature">Quite quickly, AI products have transitioned from models behind the scenes powering features to people talking directly to models (chat) to models deciding which tools to use and how (agents) to agents orchestrating other agents. Like the shifts that came before it, orchestration is a another opportunity for new AI products and UI solutions.</p>

<p>I charted the transition from AI models behind the scenes to chat to agents last year in <a href="https://lukew.com/ff/entry.asp?2096">The Evolution of AI Products</a>. At the time, we were wrestling with how to spin up sub-agents and run them in the background. That's mostly been <a href="https://lukew.com/ff/entry.asp?2102">settled</a> and agent orchestration (coordinating and verifying the work of multiple agents on unified tasks) is today's AI product design challenge.</p>

<p><a href="http://static.lukew.com/AI_evolution_short.png"><img src="http://static.lukew.com/AI_evolution_short.png" alt="Evolution of AI products"></a></p>

<p>As Microsoft CEO, Satya Nadella put it: </p>

<blockquote>"One of the metaphors I think we're all sort of working towards is 'I do this macro delegation and micro steering [of AI agents]'. What is the UI that meets this new intelligence capability? It's just a different way than the chat interface. And I think that would be a new way for the human computer interface. Quite frankly, it's probably bigger." </blockquote>

<p><a href="https://www.youtube.com/watch?v=Gnl833wXRz0">He's</a> right. When you have multiple agents working together, you need more than a conversation thread as anyone that's tried to manage a team through a single Slack or email thread can attest.</p>

<h2>Introducing Intent</h2>
<p><a href="https://www.augmentcode.com/product/intent">Intent by Augment</a> (in early preview today) is a new software development app with agent orchestration at its core. You're not managing individual model calls or chat threads. You're setting up workspaces, defining your intent (what you want to get done), and letting specialized agents work in parallel while staying aligned.</p>

<p><a href="http://static.lukew.com/intentapp_full.png"><img src="http://static.lukew.com/intentapp_full.png" alt="Intent app demo"></a></p>

<p>To ground this in a real-world analogy, if you want to accomplish a large or complicated task you need...</p>

<ul>
<li>A team of the right people for the job, often specialists</li>
<li>To give the team the information they need to complete the job</li>
<li>The right environment where the team can coordinate and work safely</li>
</ul>

<p>That's a space in <a href="https://www.augmentcode.com/product/intent">Intent</a> in a nutshell. Software developers create a new space for every task they want to get done. Each space makes use of specific agents and context to complete the task. Each space is isolated using git worktrees so agents can work freely and safely. Fire up as many spaces as you want without having them interfere with each other.</p> 

<p><a href="http://static.lukew.com/Intent_homescreen.png"><img src="http://static.lukew.com/Intent_homescreen.png" alt="Intent app homescreen"></a></p>

<p>I've often said "<a href="https://lukew.com/ff/entry.asp?2110">context is king</a>" when talking about what makes AI products effective. That's especially true when you need to coordinate the work of multiple parallel agents with varying capabilities. In Intent, context is managed by a living spec which provides a shared understanding that multiple agents can reference while working on different parts of a problem. This living spec is written and updated by a coordinator agent as it manages the work of implementer and verifier agents. It's a whole agent dev team.</p>

<p><a href="http://static.lukew.com/intentapp_full4.png"><img src="http://static.lukew.com/Intent_livingspec2.png" alt="A living spec keeps parallel agents aligned in the Intent app"></a></p>

<p>Because agents operate from the same spec, parallel work becomes possible. Assumptions, tradeoffs, and decisions stay aligned and updated as code changes without requiring constant human intervention to keep things on the same page. For instance, one agent handles the theme system while another works on component styles. Both reference the same context, so their work fits together.</p>


<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/Intent_agentselection.mov"></video></div>

<p>By default, a coordinator writes a spec and delegates to specialists for you. But you can also set up spaces with custom agents and manage your own context if you want. Think of it as manual vs. auto mode.</p>

<p>The UI for agent orchestration in <a href="https://www.augmentcode.com/product/intent">Intent</a> isn't a fancier chat interface. It's context management, agent specialization, and a unified developer workflow. It's not hard to squint and see very similar orchestration UI being useful for lots of other domains too.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2141</link>
      <pubDate>Thu, 29 Jan 2026 14:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[Design Tools Are The New Design Deliverables]]></title>
      <description><![CDATA[<p class="feature">Design projects used to end when "final" assets were sent over to a client. If more assets were needed, the client would work with the same designer again or use brand guidelines to guide the work of others. But with today's AI software development tools, there's a third option: custom tools that create assets on demand, with brand guidelines encoded directly in.</p>

<p>For decades, designers delivered fixed assets. A project meant a set number of ads, illustrations, mockups, icons. When the client needed more, they came back to the designer and waited. To help others create on-brand assets without that bottleneck, designers crafted brand guidelines: documents that spelled out what could and couldn't be done with colors, typography, imagery, and layout.</p>

<p>But with today's <a href="https://www.augmentcode.com/">AI coding agents</a>, building software is remarkably easy. So instead of handing over static assets and static guidelines, designers can deliver custom software. Tools that let clients create their own on-brand assets whenever they need them.</p>

<p>This is something I've wanted to build ever since I started using AI image generators within Google years ago. I tried: LoRAs, ControlNet, IP-Adapter, character sheets. None of it worked well enough to consistently render assets the right way. Until now.</p>

<h2>LukeW Character Maker</h2>
<p>Since the late nineties, I've used <a href="https://lukew.com/ff/entry.asp?986">a green avatar</a> to represent the LukeW brand: big green head, green shirt, green trousers, and a distinct flat yet slightly rendered style. So to illustrate the idea of design tools as deliverables, I build a site that creates on-brand variations of this character.</p>

<p><a href="http://static.lukew.com/lukew_icons_years_wide.png"><img src="http://static.lukew.com/lukew_icons_years_wide.png" alt="LukeW Character over the years"></a></p>

<p><a href="https://lukew.com/maker/">The LukeW Character Maker</a> allows people to create custom LukeW characters while enforcing brand guidelines: specific colors, illustration style, format, and guardrails on what can and can't be generated. Have fun <a href="https://lukew.com/maker/">trying it</a> yourself.</p>

<p><a href="https://lukew.com/maker/"><img src="http://static.lukew.com/lukew_maker2.png" alt="LukeW Character Maker promo"></a></p>

<h2>How It Works</h2>

<p>Since most people will ask... a few words on how it works. A highly capable image model is critical. I've had good results using both <a href="http://reve.com/">Reve<a/> and Google's <a href="https://gemini.google/overview/image-generation/">Nano Banana</a> but there's more to it than just picking an image model.</p>

<p>People's asset creation requests are analyzed and <a href="https://lukew.com/ff/entry.asp?2097">rewritten</a> by a large language model that makes sure the request aligns with brand style and guidelines. Each generation also includes multiple reference images as <a href="https://lukew.com/ff/entry.asp?2138">context</a> to keep things on rails. And last but least, there's a verification step that checks results and fixes things when necessary.  For instance, Google's image generation API <a href="https://discuss.ai.google.dev/t/nano-banan-pro-ignoring-prompt-and-reference-images/112781/8">ignores</a> reference images about 10-20% of the time. The validation step checks when that's happening and re-renders images when needed. Oh, and I built and integrated the software using <a href="https://www.augmentcode.com/">Augment Code</a>.</p>

<p>The <a href="https://lukew.com/maker/">LukeW Character Maker</a> is a small (but for me, exciting) example of what design deliverables can be today. Not just guidelines. Not just assets. But Tools.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2140</link>
      <pubDate>Mon, 19 Jan 2026 14:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[AI Enables As-Needed Software Features]]></title>
      <description><![CDATA[<p class="feature">In traditional software development, designers and engineers anticipate what people might need, build those features, and then ship them. When integrated into an application, AI code generation upends this sequence. People can just describe what they want and the app writes the code needed to do it on demand.</p>

<p><a href="http://reve.com/">Reve's</a> recent launch of <a hrwef="https://blog.reve.com/posts/edit-with-effects/">Effects</a> illustrates this transition. Want a specific film grain look for your image or video? Just describe it in plain language or upload an example. Reve's AI agent will write code that produces the effect you want and figure out what parameters should be adjustable. Those parameters then become sliders in an interface built for you in real-time.</p>

<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/Reve_effects_video1.mp4"></video></div>

<p>Instead of having to find the menu item for an existing filter (if it even exists) in traditional software, you just say what you want and the system constructs it right then and there.</p>

<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/Reve_effects_video2.mp4"></video></div>

<p>When applications can generate capabilities on demand, the definition of "what this product does" becomes more fluid. Features aren't just what shipped in the last release, they're also what users will ask for in the next session. The application becomes a platform for creating its own abilities, guided by user intent rather than predetermined roadmaps.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2139</link>
      <pubDate>Wed, 14 Jan 2026 22:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[More on Context Management in AI Products]]></title>
      <description><![CDATA[<p class="feature">In AI products, context refers to the content, tools, and instructions provided to a model at any given moment. Because AI models have context limits, what's included (aka what a model is paying attention to) has a massive impact on results. So context management is key to letting people understand and shape what AI products produce.</p>

<p>In <a href="https://lukew.com/ff/entry.asp?2110">Context Management UI in AI Products</a> I looked at UI patterns for showing users what information is influencing AI model responses, from simple context chips to nested agent timelines. This time I want to highlight two examples of automatic and manual context management solutions.</p>

<p>Augment Code's <a href="https://www.augmentcode.com/context-engine">Context Engine</a> demonstrates how automatic context management can dramatically improve AI product outcomes. Their system continuously indexes code commit history (understanding why changes were made), team coding patterns, documentation, and what developers on a team are actively working on.</p> 

<p>When a developer asks to "add logging to payment requests," the system identifies exactly which files and patterns are relevant. This means developers don't have to manually specify what the AI should pay attention to. The system figures it out automatically and delivers much higher quality output as a <a href="https://www.augmentcode.com/context-engine">result</a> (see chart below).</p>

<p><a href="http://static.lukew.com/augment_contextengine_impact.png"><img src="http://static.lukew.com/augment_contextengine_impact.png" alt="Impact of Augment's Context Engine on AI agent coding results"></a></p>

<p>Having an intelligent system manage context for you is extremely helpful but not always possible. In many kinds of tasks, there is no clear record of history, current state, and relevance like there is in a company's codebase. Also, some tasks are bespoke or idiosyncratic meaning only the person running them knows what's truly relevant. For these reasons, AI products also need context management interfaces.</p>
 
<p>Reve's <a href="https://www.reve.com">creative tooling interface</a> not only makes manual context management possible but also provides a consistent way to reference context in instructions as well. When someone adds a file to Reve, a thumbnail of it appears in the instruction field with a numbered reference. People can then use this number when writing out instructions like "put these tires @1 on 
on my truck @2".</p>

<p><a href="http://static.lukew.com/reve_references.png"><img src="http://static.lukew.com/reve_references.png" alt="Numbered references in Reve's creative tool"></a></p>

<p>It's also worth noting that any file uploaded to or created by Reve can be put into context with a simple "one-click" action. Just select any image and it will appear in the instruction field with a reference number. Select it again to remove it from context just as easily.</p>

<p><a href="http://static.lukew.com/reve_references3.png"><img src="http://static.lukew.com/reve_references3.png" alt="Add images to context in Reve's creative tool"></a></p>

<p>While the later may seem like a clear UI requirement, it's surprising how many AI products don't support this behavior. For instance, <a href="http://gemini.google.com">Google's Gemini</a> has a nice overview panel of files uploaded to and created in a session but doesn't make them selectable as context.</p>

<p><a href="http://static.lukew.com/gemini_context_references.png"><img src="http://static.lukew.com/gemini_context_references.png" alt="Germini files drawer and full screen UI"></a></p>

<p>As usual, AI capabilities keep changing fast. So context management solutions, whether automatic or manual, and their interfaces are going to continue to evolve.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2138</link>
      <pubDate>Mon, 15 Dec 2025 16:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[AI Coding Agents for Designers]]></title>
      <description><![CDATA[<p class="feature">In an increasing number of technology companies, the majority of code is being written by AI coding agents. While that primarily boosts software developer productivity, they aren't the only ones that can benefit from this transformation. Here's how AI coding agents can also help designers.</p>

<p>As AI coding agents continue to <a href="https://x.com/sama/status/1985814135784042993">improve dramatically</a>, developers are turning to them more and more to not only write code but to review and improve it as well. The result isn't just more coder faster but the <a href="https://lukew.com/ff/entry.asp?2133">organizational changes</a> needed to support this transition as well.</p>

<blockquote>"The vast majority of code that is used to support Claude and to design the next Claude is now written by Claude. It's just the vast majority of it within Anthropic. And other fast moving companies, the same is true." <br />- <a href="https://x.com/rohanpaul_ai/status/1972759995105067193">Dario Amodei, Anthropic CEO</a></blockquote>

<blockquote>"Codex has transformed how OpenAI builds over the last few months." <br />- <a href="https://x.com/sama/status/1985814135784042993">Sam Altman, OpenAI CEO</a></blockquote>

<p>As just one example, a product manager I speak with regularly now spends his time using <a href="http://augmentcode.com">Augment Code</a> on his company's production codebase. He creates a branch, prompts Augment's agents until he has a build he's happy with then passes it on to Engineering for implementation. Instead of writing a Product Requirements Document (PRD) he creates code that can be used and experienced by the whole team leading to a clearer understanding of what to build and why.</p>

<p>This kind of accelerated prototyping is a <a href="https://lukew.com/ff/entry.asp?2133">common way</a> for designers to start applying AI coding agents to their workflow as well. But while the tools may be new, prototyping isn't new to designers. In fact, many larger design teams have specific prototyping roles within them. So what additional capabilities do AI coding agents give designers? Here's a few I've been using regularly.</p>

<p><a href="http://static.lukew.com/codingagents_designers.png"><img src="http://static.lukew.com/codingagents_designers.png" alt="Ways AI coding agents can benefit designers"></a></p>

<p><strong>Note: </strong> It's worth calling out that for these use cases to work well, you need AI coding tools that deeply understand your company's codebase. I, like the PM mentioned earlier, use Augment Code because their <a href="https://www.augmentcode.com/blog/announcing-context-lineage">Context Engine</a> is optimized for the kinds of large and complex codebases you'll find in most companies.</p>

<h2>Fix Production Bugs</h2>
<p>See a bug or user experience issue in production? Just prompt the agent with a description of the issue, test its solution, and push a fix. Not only will fixing bugs make you feel great, your engineering friends will appreciate the help. There's always lots of "small" issues that designers know can be improved but can't get development resources for. Now those resources come in the form of AI coding agents.</p>

<h2>Learn & Rethink Solutions</h2>
<p>Sometimes what seems like a small fix or improvement is just the tip of an iceberg. That is, changing something in the product has a fan-out effect. To change this, you also need to change that. That change will also impact these things. And so on.</p>

<p>Watching an AI coding agent go through its thinking process and steps can make all this clear. Even if you don't end up using any of the code it writes, seeing an agent's process  teaches you a lot about how a system works. I've ended up rethinking my approach, considering different options and ultimately getting to a better solution than I started with. Thanks AI.</p>

<h2>Get Engineering Involved</h2>
<p>Prompting an agent and seeing its process can also make something else clear: it's time to get Engineering involved. When it's obvious the scope of what an AI agent is trying to do to solve an issue or make an improvement is too broad, chances are it's time to sit down with the developers on your team to come up with a plan. This doesn't mean the agent failed, it means it prompted you to collaborate with your team.</p>

<p>Through these use cases, AI coding agents have helped me make more improvements <strong>and</strong> make more informed improvements to the products I work on. It's a great time to be a designer.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2137</link>
      <pubDate>Mon, 08 Dec 2025 03:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>
    <item>
      <title><![CDATA[Agentic AI Interface Improvements]]></title>
      <description><![CDATA[<p class="feature">Two weeks ago <a href="https://lukew.com/ff/entry.asp?2135">I shared</a> the evolution and thinking behind a new  user interface design for agentic AI products. We've continued to iterate on this layout and it's feeling much improved. Here's the latest incarnation.</p>

<p>Today's AI chat interfaces <a href="https://lukew.com/ff/entry.asp?2135">hit usability issues</a> when models engage in extended reasoning and tool use (aka they get more agentic). Instead of simple back-and-forth chat, these conversations look more like long internal monologues filled with thinking traces, tool calls, and multiple responses. This creates UI problems, especially in narrow side panels where people lose context as their initial instructions and subsequent steps are off-screen while the AI continues to work and evaluate its results.</p>

<div class="videobox"><video controls muted="1" preload="auto" width="100%;" src="https://static.lukew.com/ChatDB_UI_nov20.mp4"></video></div>

<p>As you can see in the video above, our dual-scroll pane layout addresses these issues by separating an AI model's process and results into two columns. User instructions, thinking traces, and tool calls appear in the left column, while outputs show up in the right column.</p>

<p>Once the AI completes its work, the thinking steps (traces, tool calls) collapse into a summary on the left while results remain persistent and scrollable on the right. This design keeps both instructions and outcomes visible simultaneously even when people move between different instructions. Once done, the collapsed thinking steps can also be re-opened if someone needs to review an AI model's work. Each step in this process list is also a link to its specific result making understanding and checking an AI model's work easier.</p>

<p>You can try out these interactions yourself on ChatDB with an example like this <a href="https://www.chatdb.io/apps/6d448f62-7a86-4fce-90ac-91f35fbf9316">retail site</a> or with <a href="http://chatdb.io">your own data</a>.</p>

<p>Thanks to <a href="https://x.com/sambreed">Sam Breed</a> and <a href="https://x.com/121pls">Alex Godfrey</a> for the continued evolution of this UI.</p>]]></description>
      <link>https://www.lukew.com/ff/entry.asp?2136</link>
      <pubDate>Mon, 24 Nov 2025 17:00:00 +0000</pubDate>
      <author>info@lukew.com</author>
    </item>

  </channel>
</rss>