1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="utf-8"> 5 6 <meta name="theme-color" content="#F7F5F1"> 7
7<script> 8 (function () { 9 var theme; 10 try { theme = localStorage.getItem('theme'); } catch (e) {} 11 if (theme !== 'light' && theme !== 'dark') { 12 theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; 13 } 14 document.documentElement.setAttribute('data-theme', theme); 15 var meta = document.querySelector('meta[name="theme-color"]'); 16 if (meta) meta.setAttribute('content', theme === 'dark' ? '#0C0E11' : '#F7F5F1'); 17 18 var subscribed = false; 19 try { subscribed = localStorage.getItem('lmSubscribe') === 'subscribed'; } catch (e) {} 20 if (!subscribed && document.cookie.indexOf('lmSubscribe=subscribed') !== -1) { 21 subscribed = true; 22 } 23 if (subscribed) document.documentElement.classList.add('is-subscribed'); 24 })(); 25 </script>
25 26 27 <title>Design & Product Development Insights from Lee Munroe</title> 28 <meta name="description" content="Writing about product design, web development, product leadership, user experience, email and messaging."> 29 30 31 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 32 <link rel="stylesheet" href="/css/style.css" media="screen"> 33 34 <link rel="alternate" type="application/rss+xml" title="Lee Munroe" href="https://feeds2.feedburner.com/LeeMunroeBlog"> 35 36 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> 37 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> 38 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> 39 <link rel="shortcut icon" href="/favicon.ico"> 40 41</head> 42 43<body class="blog"> 44 45 46<header> 47<div class="header__nav-wrap"> 48 <nav class="header__nav"> 49 <a class="header__avatar" href="/"><img src="/img/leemunroe.jpg" alt="Lee Munroe" width="40" height="40"></a> 50 <a class="selected" href="/blog"><b>Blog</b></a> 51 <a href="/portfolio"><b>Portfolio</b></a> 52 <a href="/about"><b>About</b></a> 53 <a href="/contact"><b>Contact</b></a> 54 <button class="theme-toggle js-theme-toggle" type="button" aria-label="Switch between dark and light mode"> 55 <svg class="theme-toggle__sun" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/></svg> 56 <svg class="theme-toggle__moon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/></svg> 57 </button> 58 </nav> 59</div> 60 61 62 63 <div class="header__heading"> 64 <div class="container"> 65 <h1>Product Design & Development Blog</h1> 66 <h2 class="meta">Sharing lessons learned in UX and product design.</h2> 67 </div> 68 </div> 69 70</header> 71 72<main> 73 <div class="container"> 74 75 <div class="group"> 76 <div class="span8 offset2"> 77 <form class="search-form" action="https://www.google.com/search" method="get"> 78 <input type="search" name="q" placeholder="Search the blog"> 79 <input type="hidden" name="sitesearch" value="leemunroe.com"> 80</form> 81 82<ul class="posts"> 83 84 85 <li><a href="/designing-for-2026-ai/"><span class="title">Designing for 2026: Process, Agency, and Decision Quality in the Age of AI</span> <span class="date"> - Jan 2026</span><span class="excerpt">Reflections from a design team workshop on how the design process is evolving as AI reshapes the pace and shape of work, with a focus on agency, decision quality, and...</span></a></li> 86 87 88 89 <li><a href="/dogfooding/"><span class="title">Dogfooding: The Habit That Builds Better Products</span> <span class="date"> - Oct 2025</span><span class="excerpt">Using your own product might be the single most powerful habit a product team can build. How leaning into dogfooding builds empathy, surfaces friction, and creates a culture of continuous...</span></a></li> 90 91 92 93 <li><a href="/ui-power-hour/"><span class="title">The UI Power Hour: A 60-Minute Ritual For Product Polish</span> <span class="date"> - Sep 2025</span><span class="excerpt">Every two weeks a designer and engineer team up, set a one-hour timer, and hammer through small but meaningful UX or UI updates that often donât make it into a...</span></a></li> 94 95 96 97 <li><a href="/ai-design-agency-prototyping/"><span class="title">Empowering Design Agency: How AI is Revolutionizing Early-Stage Prototyping</span> <span class="date"> - Apr 2025</span><span class="excerpt">How AI âvibe codingâ tools are putting rapid code-based prototyping power directly into the hands of designers, giving them greater agency in the creative process from the very start. 98 99</span></a></li> 100 101 102 103 <li><a href="/rise-of-the-design-engineer/"><span class="title">The Rise of the Design Engineer</span> <span class="date"> - Sep 2024</span><span class="excerpt">Having a Design Engineer on your team is a game changer. Attention to detail, product quality, and velocity all benef
103it from this hybrid role that finesses the overlap between design...</span></a></li> 104 105 106 107 <li><a href="/design-craft-details/"><span class="title">Design Craft & Shipping the Details</span> <span class="date"> - Jun 2024</span><span class="excerpt">Craft & quality in design, or any work you do, is important. Yet most companies are really bad at following through with the details. Here are examples of companies doing...</span></a></li> 108 109 110 111 <li><a href="/figma-plugins-for-designers/"><span class="title">How to develop your first Figma plugin for designers</span> <span class="date"> - Apr 2024</span><span class="excerpt">I recently developed my first Figma plugin. It wasnât hard, and my whole team joined in, exposing us to what is possible with the Figma API. Hereâs a quick tutorialâ¦...</span></a></li> 112 113 114 115 <li><a href="/design-team-principles/"><span class="title">Why & How to Create Design Team Principles</span> <span class="date"> - Jan 2024</span><span class="excerpt">As your design team grows, itâs important to establish a set of design principles. This keeps the team (+ org) aligned across all functions of design. For us that includes...</span></a></li> 116 117 118 119 <li><a href="/engineering-product-design-triad/"><span class="title">How Product Design works with Product Managers and Engineers</span> <span class="date"> - Nov 2023</span><span class="excerpt">When interviewing designers, PMs or engineers, Iâll usually get asked âhow do you all work together?â. How does engineering work with PMs? PMs with design? Design with engineering? My response...</span></a></li> 120 121 122 123 <li><a href="/organize-figma-files-cover-pages/"><span class="title">How we Organize Design Files and Cover Pages in Figma</span> <span class="date"> - Nov 2023</span><span class="excerpt">Not everyone on your team knows how to navigate Figma the way you do. Other designers have different methods. Engineers and PMs may not know where to start. This is...</span></a></li> 124 125 126</ul> 127 128<!-- Pagination links --> 129<div class="pagination"> 130 131 <span class="page_number ">Page 1 of 25</span> 132 133 <a href="/blog/page/2" class="next">Next »</a> 134 135</div> 136 </div> 137 </div> 138 139 </div> 140</main> 141 142 143<!-- Scripts -->
144<script src="/js/build/production.min.js" defer></script>
144 145 146<!-- Analytics --> 147<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 147-148
147 148<script async src="https://www.googletagmanager.com/gtag/js?id=
148G-4YSC16VXVD
vendor: 12 bytes, line 148
148"></script>
149<script> 150
vendor: 134 bytes, lines 150-154
150window.dataLayer = window.dataLayer || []; 151 function gtag(){dataLayer.push(arguments);} 152 gtag('js', new Date()); 153 154 gtag('config', '
154G-4YSC16VXVD
vendor: 4 bytes, line 154
154');
155</script>
155 156
157<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"2a7282a0c5ab422b8b21e521e47ee9a3","r":1,"spa":2}' crossorigin="anonymous"></script>
157 158</body> 159</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.