<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Product Talk]]></title><description><![CDATA[Make better product decisions.]]></description><link>https://www.producttalk.org/</link><image><url>https://www.producttalk.org/favicon.png</url><title>Product Talk</title><link>https://www.producttalk.org/</link></image><generator>Ghost 6.45</generator><lastBuildDate>Wed, 10 Jun 2026 17:04:28 GMT</lastBuildDate><atom:link href="https://www.producttalk.org/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Most Package Hacks Get in the Same Way: How I Block Common Entry Points]]></title><description><![CDATA[<p><a href="https://www.producttalk.org/#/share" rel="noreferrer">Share this article</a> | <a href="#audio-version" rel="noreferrer">Listen to this article ($)</a></p><p>My initial reaction to the recent package hacks was fear. But I quickly learned I can mitigate much of the risk with a handful of configuration settings.</p><p>If you haven&apos;t been following along, a large number of packages (think of packages</p>]]></description><link>https://www.producttalk.org/package-hacks-installer-settings/</link><guid isPermaLink="false">6a27208c6eed96000108dfa9</guid><category><![CDATA[Generative AI]]></category><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Wed, 10 Jun 2026 13:00:45 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/Secure_Your_Code__Package_Safety.webp" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/Secure_Your_Code__Package_Safety.webp" alt="Most Package Hacks Get in the Same Way: How I Block Common Entry Points"><p><a href="https://www.producttalk.org/#/share" rel="noreferrer">Share this article</a> | <a href="#audio-version" rel="noreferrer">Listen to this article ($)</a></p><p>My initial reaction to the recent package hacks was fear. But I quickly learned I can mitigate much of the risk with a handful of configuration settings.</p><p>If you haven&apos;t been following along, a large number of packages (think of packages as bundles of reusable code) have been compromised by malicious actors. Software developers have long known to guard against these types of attacks. But as more of us turn to coding agents to write code on our local devices, we are finding that we also need to understand and mitigate this risk.</p><p><a href="https://www.producttalk.org/package-hacks-cowork/" rel="noreferrer">Last week</a>, we dove deep on how these malicious attacks work, how we might defend against them, and explored whether <a href="https://www.anthropic.com/product/claude-cowork?ref=producttalk.org" rel="noreferrer">Cowork</a> was a safer option for most of us. The verdict was that it can be, but only if we understand how to use it safely. If you are a fan of Cowork and you missed that article, <a href="https://www.producttalk.org/package-hacks-cowork/" rel="noreferrer">be sure to give it a read</a>.</p><p>Cowork, however, isn&apos;t always the best solution for me. I have too many use cases where I want <a href="https://claude.ai/?ref=producttalk.org" rel="noreferrer">Claude</a> to access many folders across my file system.</p><p>I use Claude to search, create, and edit the markdown files that make up my task management system. These files reference source material across my drive. I created a research system where Claude automatically creates notes from PDFs that I download and those notes get sorted across a variety of topic folders. I have a comprehensive network of context files that I want Claude to reference on as-needed basis.</p><p>I don&apos;t want to have to grant Claude access to one folder at a time. But I also don&apos;t want to throw caution to the wind. Recent weeks have taught me that I need to do more to keep my devices and code safe. Thankfully, I&apos;m learning this is very doable. And for my Cowork fans, most of the strategies that I use on my local device can also be used to make Cowork safer.</p><p>If you missed <a href="https://www.producttalk.org/package-hacks-cowork/" rel="noreferrer">last week&apos;s article</a>, let&apos;s do a quick recap of what we covered.</p><h2 id="how-package-hacks-typically-work">How Package Hacks Typically Work</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/How-Package-Hacks-Typically-Work.webp" class="kg-image" alt="Most Package Hacks Get in the Same Way: How I Block Common Entry Points" loading="lazy" width="1080" height="1080" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/06/How-Package-Hacks-Typically-Work.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w1000/2026/06/How-Package-Hacks-Typically-Work.webp 1000w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/How-Package-Hacks-Typically-Work.webp 1080w" sizes="(min-width: 720px) 720px"></figure><p>An agent <a href="https://www.msuiche.com/posts/supply-chain-attacks-cluster-230000-advisories-five-patterns/?ref=producttalk.org" rel="noreferrer">scoured over 230,000 malicious code incidents</a> and found that most follow a similar pattern. Malicious code needs an entry point onto your computer. Once installed it scours your device for sensitive data, and then it uses your network connection to send that data to its own servers.</p><p>The good news is this pattern also tells us exactly what we need to guard against. We can block the most common entry points, we can limit what our code (and coding agents) have access to, and we can (sometimes) limit our outgoing network traffic.</p><p>Before we dive into how to defend against these attacks, let&apos;s make sure we are all up to speed on the basics.</p><h2 id="understanding-key-concepts-packages-installers-and-registries">Understanding Key Concepts: Packages, Installers and Registries</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/Understanding-Key-Concepts-Packages--Installers-and-Registries.webp" class="kg-image" alt="Most Package Hacks Get in the Same Way: How I Block Common Entry Points" loading="lazy" width="1080" height="1080" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/06/Understanding-Key-Concepts-Packages--Installers-and-Registries.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w1000/2026/06/Understanding-Key-Concepts-Packages--Installers-and-Registries.webp 1000w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/Understanding-Key-Concepts-Packages--Installers-and-Registries.webp 1080w" sizes="(min-width: 720px) 720px"></figure><p>You&apos;ve already learned that a package is a bundle of reusable code. When you are creating software, you don&apos;t have to create everything from scratch.</p><p>For example, I use a package called <a href="https://www.npmjs.com/package/luxon?ref=producttalk.org" rel="noreferrer">luxon</a> to help me with time zone math. I use another package called <a href="https://www.npmjs.com/package/jest?ref=producttalk.org" rel="noreferrer">jest </a>to help me run my unit and integration tests. I use a package called <a href="https://pandas.pydata.org/?ref=producttalk.org" rel="noreferrer">pandas</a> to ingest and manipulate CSV data.</p><p>Before my code can use these packages, I have to download and install them. I can download them directly from <a href="https://github.com/?ref=producttalk.org" rel="noreferrer">GitHub</a>, but more commonly I grab them through a package registry. Think of a registry like the <a href="https://apps.apple.com/us/app/apple-store/id375380948?ref=producttalk.org" rel="noreferrer">App Store</a>. Package creators publish their packages to registries, making them available for other people to download. <a href="https://www.npmjs.com/?ref=producttalk.org" rel="noreferrer">npm</a> is the <a href="https://nodejs.org/en?ref=producttalk.org" rel="noreferrer">Node.js</a> registry and <a href="https://pypi.org/?ref=producttalk.org" rel="noreferrer">PyPI</a> is the <a href="https://www.python.org/?ref=producttalk.org" rel="noreferrer">Python</a> registry.</p><p>To access a registry, you need an installation tool. npm (confusingly) is both a registry and an installation tool. So you use the npm command-line tool to download and install packages from the npm registry. <a href="https://pypi.org/project/pip/?ref=producttalk.org" rel="noreferrer">pip</a> is the primary installation tool for Python and you use it to access the PyPI registry.</p><p>A coding project will often maintain a manifest of dependent packages&#x2014;package.json for Node.js projects and pyproject.toml or requirements.txt for Python projects. These manifests tell a developer new to a project what packages the project depends on. Build tools use these manifests to automatically download and install all of the required dependencies.</p><p>When you download a package, it might have its own dependencies. If it includes a manifest (package.json, pyproject.toml, requirements.txt), your install tool will automatically install those dependencies as well. These dependencies are often called transitive packages. And each transitive package can also have a manifest. </p><p>Every time you install a package, you might be installing an entire dependency tree. For example, I just installed jest and it included 266 packages.</p><p>Developers are often aware of the packages they choose to use. But they aren&apos;t always aware of all of the transitive packages that come along with those packages. Malicious software often spreads through these transitive packages. The risk compounds when we let coding agents install packages for us.</p><p>With this foundation, let&apos;s look at how I defend against malicious code when installing packages.</p><h2 id="how-i-configure-my-devices-to-guard-against-malicious-software">How I Configure My Devices to Guard Against Malicious Software</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/How-I-Configure-My-Devices-to-Guard-Against-Malicious-Software.webp" class="kg-image" alt="Most Package Hacks Get in the Same Way: How I Block Common Entry Points" loading="lazy" width="1080" height="1080" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/06/How-I-Configure-My-Devices-to-Guard-Against-Malicious-Software.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w1000/2026/06/How-I-Configure-My-Devices-to-Guard-Against-Malicious-Software.webp 1000w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/How-I-Configure-My-Devices-to-Guard-Against-Malicious-Software.webp 1080w" sizes="(min-width: 720px) 720px"></figure><p>My local strategy is primarily designed to limit malicious software from getting on my device in the first place. My goal is to block as many entry points as I can.</p><p>A quick note for Cowork fans: We saw in <a href="https://www.producttalk.org/package-hacks-cowork/" rel="noreferrer">last week&apos;s article</a> that Cowork provides protection through isolation, but does little to keep malicious code out. It turns out you can use almost all of the following strategies in Cowork to plug this gap and make Cowork significantly safer.</p><p>Today, I&apos;ll cover how and why:</p><ul><li>I&apos;m only installing packages that are at least seven days old.</li><li>I&apos;m not auto-running install scripts before vetting them.</li><li>I&apos;m using provenance signals to identify red flags.</li><li>I&apos;m blocking exotic dependencies.</li><li>I&apos;m using hooks to configure Claude so that it has to follow these same rules.</li></ul><p>That&apos;s not all I&apos;m doing. In future posts, I&apos;ll cover how and why:</p><ul><li>I&apos;m pinning all package versions (including transitive packages), so that they don&apos;t auto-update.</li><li>I&apos;m doing weekly audit sweeps to make sure nothing seeped through the cracks.</li><li>And despite all of this, I&apos;m still moving most of my development off of my local machine.</li></ul><p>We&apos;ll look at each in turn. This is going to get technical. If much of this is new to you, just take it step by step. I&apos;ll walk you through all of it.</p><p>Product Talk is a reader-supported publication. The rest of this article is for paid subscribers. If you haven&apos;t already, be sure to upgrade to continue reading.</p>]]></content:encoded></item><item><title><![CDATA[Learning Together - All Things Product Podcast with Teresa Torres & Petra Wille]]></title><description><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/-zwcRBTV4FY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Learning Together - All Things Product with Teresa &amp; Petra"></iframe></figure><p>Listen to this episode on: <a href="https://open.spotify.com/episode/46fxuYafGjeRo1LXaIjts0?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/kh/podcast/learning-together/id1794203808?i=1000771802799&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>What&apos;s the best way to invest in your team&apos;s professional development &#x2014; train everyone at once, let people self-direct, or something in between?</p><p>Petra Wille and Teresa Torres explore why the sweet spot might not be what</p>]]></description><link>https://www.producttalk.org/learning-together-all-things-product-podcast-with-teresa-torres-petra-wille/</link><guid isPermaLink="false">69fde5c46d288e00016db268</guid><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Tue, 09 Jun 2026 13:00:28 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/learning-together-atp.webp" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/-zwcRBTV4FY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Learning Together - All Things Product with Teresa &amp; Petra"></iframe></figure><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/learning-together-atp.webp" alt="Learning Together - All Things Product Podcast with Teresa Torres &amp; Petra Wille"><p>Listen to this episode on: <a href="https://open.spotify.com/episode/46fxuYafGjeRo1LXaIjts0?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/kh/podcast/learning-together/id1794203808?i=1000771802799&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>What&apos;s the best way to invest in your team&apos;s professional development &#x2014; train everyone at once, let people self-direct, or something in between?</p><p>Petra Wille and Teresa Torres explore why the sweet spot might not be what most organizations default to. They share real examples from their work with product teams and leaders &#x2014; from book clubs to group coaching &#x2014; and make a case for small, intentional groups as a powerful (and underused) learning model.</p><p><strong>Three Models of Team Learning</strong></p><ul><li><strong>Train everyone at once</strong> &#x2014; builds shared language, but not everyone is ready at the same time</li><li><strong>Self-directed learning</strong> &#x2014; works for highly motivated individuals, but lacks accountability</li><li><strong>Small-group learning</strong> &#x2014; the sweet spot: peer accountability, shared momentum, and just-in-time relevance</li></ul><p><strong>Why Learning Together Works</strong></p><ul><li>Creates natural accountability and deadlines</li><li>Helps people apply concepts to their own real work</li><li>Especially valuable for product leaders, who rarely have built-in peers to learn alongside</li></ul><p><strong>Group Coaching vs. One-on-One Coaching</strong></p><ul><li><strong>Individual</strong>: sounding board, holding space, powerful questions</li><li><strong>Group/team</strong>: real work in the room, peer learning, bridges between leaders who rarely collaborate</li><li>Keep participants as close colleagues &#x2014; trust and vulnerability go up when people already know each other</li></ul><p><strong>Key Takeaways</strong></p><ol><li>Start a book club &#x2014; debriefing together beats reading alone</li><li>Train pilot teams before rolling out org-wide</li><li>Encourage duos or trios to take courses together</li><li>Match your learning format to your actual goal</li><li>Keep coaching groups tight for more honest, productive sessions</li></ol><p><strong>Resources &amp; Links:</strong></p><ul><li>Follow Teresa Torres: <a href="https://producttalk.org/?ref=producttalk.org">https://ProductTalk.org</a></li><li>Follow Petra Wille: <a href="https://petra-wille.com/?ref=producttalk.org">https://Petra-Wille.com</a></li></ul><p><strong>Mentioned in this episode:</strong></p><ul><li><a href="https://www.petra-wille.com/community-of-practice?ref=producttalk.org">Communities of Practice</a></li><li>Petra Wille&apos;s book <a href="https://www.strongproductpeople.com/strong-product-communities?ref=producttalk.org"><em>Strong Product Communities - The Essential Guide to Product</em></a></li><li><a href="https://www.petra-wille.com/course-info-strong-to-exceptional?ref=producttalk.org"><em>Become a Better Product Leader: A 52-Week Transformation Journey</em></a> - Petra&apos;s email course with quarterly live Q&amp;A</li><li>Teresa Torres&#x2019; book <a href="https://www.producttalk.org/continuous-discovery-habits-book/"><em>Continuous Discovery Habits</em></a></li><li><a href="https://www.producttalk.org/continuous-discovery-habits-book/">Continuous Discovery Habits (CDH) Book Club</a></li><li>Petra&#x2019;s <a href="https://www.petra-wille.com/book-club?ref=producttalk.org">STRONG Product People Corporate book clubs</a></li><li>Teresa&apos;s <a href="https://learn.producttalk.org/cdh-master-class?ref=producttalk.org">Product Discovery Fundamentals course</a></li><li><a href="https://www.petra-wille.com/work-with-me?ref=producttalk.org">Work with Petra</a></li><li>Learning together at a conference like <a href="https://productatheart.com/?ref=producttalk.org">Product at Heart</a></li><li>Teresa &amp; <a href="https://fearless-product.com/about-me?ref=producttalk.org">Hope Gurion</a>&apos;s group leadership coaching program through Product Talk <a href="https://learn.producttalk.org/train-your-team?ref=producttalk.org">Train Your Team</a></li></ul><p>Join the Conversation:</p><p>Have thoughts on this episode? Leave a comment below.</p><h2 id="full-transcript">Full Transcript</h2><p>Full transcripts are only available for paid subscribers.</p>]]></content:encoded></item><item><title><![CDATA[What I Learned from the Recent Wave of Package Hacks (And Is Cowork Immune?)]]></title><description><![CDATA[<p><a href="https://www.producttalk.org/package-hacks-cowork/#/share/" rel="noreferrer">Share this article</a> | <a href="#audio-version" rel="noreferrer">Listen to this article ($)</a></p><p>I love being a builder. I feel like I have a new superpower and I can&apos;t get enough of it.</p><p>I enjoy tinkering with my <a href="https://code.claude.com/docs/en/overview?ref=producttalk.org" rel="noreferrer">Claude Code</a> workflows to make my days more effortless. I&apos;m having a blast building</p>]]></description><link>https://www.producttalk.org/package-hacks-cowork/</link><guid isPermaLink="false">6a1f58255b34bf0001aed679</guid><category><![CDATA[Generative AI]]></category><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Wed, 03 Jun 2026 13:00:29 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/AI-Safety-Defense-Strategy-Infographic.webp" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/AI-Safety-Defense-Strategy-Infographic.webp" alt="What I Learned from the Recent Wave of Package Hacks (And Is Cowork Immune?)"><p><a href="https://www.producttalk.org/package-hacks-cowork/#/share/" rel="noreferrer">Share this article</a> | <a href="#audio-version" rel="noreferrer">Listen to this article ($)</a></p><p>I love being a builder. I feel like I have a new superpower and I can&apos;t get enough of it.</p><p>I enjoy tinkering with my <a href="https://code.claude.com/docs/en/overview?ref=producttalk.org" rel="noreferrer">Claude Code</a> workflows to make my days more effortless. I&apos;m having a blast building AI-generated <a href="https://www.producttalk.org/interview-snapshot/" rel="noreferrer">interview snapshots</a> and <a href="https://www.producttalk.org/opportunity-solution-trees/" rel="noreferrer">opportunity solution trees</a> for <a href="https://vistaly.com/?ref=producttalk.org" rel="noreferrer">Vistaly</a>. I thoroughly enjoy digging into my traces and iterating on my AI coaches for <a href="https://learn.producttalk.org/?utm_source=Product+Talk&amp;utm_medium=package+hacks+cowork" rel="noreferrer">our discovery courses</a>.</p><p>But some of the shine of that superpower started to wear off over the past couple of weeks. Recently, malicious software started spreading through the open-source community. It affected companies big and small&#x2014;many that you&apos;ve heard of, like <a href="https://openai.com/?ref=producttalk.org" rel="noreferrer">OpenAI</a>, <a href="https://posthog.com/?ref=producttalk.org" rel="noreferrer">PostHog</a>, and <a href="https://zapier.com/?ref=producttalk.org" rel="noreferrer">Zapier</a>.</p><p>As I started to investigate what I needed to do to defend against this hack, it looked like the solution was simple&#x2014;move to some better, properly configured tools. But as I learned more, I realized what most cybersecurity experts have long known&#x2014;this is a rabbit hole that just keeps getting deeper. I&apos;m learning that to build responsibly, I need to get far better at keeping my devices and my code safe. And this doesn&apos;t just affect me; it probably affects you, too.</p><p>Let me explain why. We are all using open-source software. Most software isn&apos;t built from scratch. It mixes and matches components from the broader software development community. When you need to parse a PDF, you don&apos;t have to build your own PDF parser. Someone else has already built that and made it available for you to use. If you need to handle dates across time zones, visualize data from a spreadsheet, or connect to an API, someone has already written software that you can simply reuse.</p><p>Most third-party code is perfectly safe. Almost every app on your computer relies on it. Open-source software has flourished because it helps all of us build faster. More recently, the popularity of agent skills and MCP servers (another form of third-party code) is helping us all learn how to get more value out of models. This is good. I don&apos;t want you to walk away from this article thinking third-party software is bad. It&apos;s not.</p><p>But malicious actors <em>do</em> take advantage of this ecosystem to propagate harmful code. We need to be aware of the mechanisms that they use and we need to defend against those mechanisms.</p><h2 id="what-happened-how-this-ended-up-on-my-radar">What Happened: How This Ended Up on My Radar</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/What-Happened-How-This-Ended-Up-on-My-Radar.webp" class="kg-image" alt="What I Learned from the Recent Wave of Package Hacks (And Is Cowork Immune?)" loading="lazy" width="1080" height="1080" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/06/What-Happened-How-This-Ended-Up-on-My-Radar.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w1000/2026/06/What-Happened-How-This-Ended-Up-on-My-Radar.webp 1000w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/What-Happened-How-This-Ended-Up-on-My-Radar.webp 1080w" sizes="(min-width: 720px) 720px"></figure><p>On May 11th, I started seeing tweets about a <a href="https://tanstack.com/?ref=producttalk.org" rel="noreferrer">TanStack</a> hack. At that time, I didn&apos;t know what TanStack was. But apparently, it&apos;s a popular set of JavaScript libraries that are used by a lot of <a href="https://react.dev/?ref=producttalk.org" rel="noreferrer">React</a> sites.</p><p>At first, this wasn&apos;t notable. I was aware of package hacks and I didn&apos;t use TanStack, so I continued on with my day. But then, I started to see reports of more packages being hacked. It turns out the TanStack packages were compromised by a worm&#x2014;malicious software that has a mechanism to self-replicate. We&apos;ll cover exactly how this works in a bit, but for now, the key point is that it spread quickly.</p><p>Within a couple of hours, I was seeing reports of dozens of packages being compromised and by the end of the day, the numbers were in the hundreds. This scared me. I realized I needed to start paying attention.</p><p>If you read my &quot;<a href="https://www.producttalk.org/how-to-use-claude-code-safely/" rel="noreferrer">How to Use Claude Code Safely</a>&quot; article, you&apos;ve already been introduced to package hacking. A package is a bundle of reusable code that is shared through package registries. </p><p>Almost every piece of software that you use relies on third-party packages. This is normal. But because there are malicious actors out there, not all packages are safe. Before we install a package on our local device, we need to make sure it&apos;s safe. My <a href="https://www.producttalk.org/how-to-use-claude-code-safely/" rel="noreferrer">safety article</a> included some basic tips for how to evaluate if a package is safe.</p><p>Unfortunately, this hack (known as the <a href="https://www.akamai.com/blog/security-research/mini-shai-hulud-worm-returns-goes-public?ref=producttalk.org" rel="noreferrer">Mini Shai-Hulud worm</a>) is showing that this guidance wasn&apos;t adequate. We can&apos;t just rely on popular or even trusted sources. We have to do more to protect ourselves. And that realization is why I am introducing a new series.</p><p>Today, I&apos;ll cover:</p><ul><li>how malicious software typically works,</li><li>a framework for how we can guard against it,</li><li>the risk of using <a href="https://www.anthropic.com/product/claude-cowork?ref=producttalk.org" rel="noreferrer">Cowork</a> to write and run code,</li><li>and how to mitigate some of that risk.</li></ul><p>In subsequent articles, we&apos;ll go even deeper. Next week, I&apos;ll dive into how to use coding agents like <a href="https://claude.com/product/claude-code?gclsrc=aw.ds&amp;&amp;utm_source=google_brand&amp;utm_campaign=def_acq_us_code_search_google-brand_swe_en_claude-code-brand&amp;utm_medium=cpc&amp;utm_content=806769451331&amp;utm_term=claude%20code&amp;targetid=kwd-2245239603574&amp;gad_source=1&amp;gad_campaignid=23253558478&amp;gbraid=0AAAAAqwcL8lemhP2x54bs0PmZYJd9ZUp3&amp;gclid=Cj0KCQjw_vnQBhCxARIsADcZyxI1AbCnY9qm4bkBeQ9zziXa_LvvWhv2uuEZkjTO2bgQd8B-5E240KYaAr40EALw_wcB" rel="noreferrer">Claude Code</a> and <a href="https://openai.com/codex/?ref=producttalk.org" rel="noreferrer">Codex</a> safely on your local device. I&apos;ll share:</p><ul><li>the exact tools I&apos;m using to defend against malicious actors,</li><li>how I&apos;ve configured Claude Code to ensure it always uses the right tools,</li><li>and a public repo where you can grab my config files and utility scripts that make it all work.</li></ul><p>And in the following week, I&apos;ll share why I&apos;m moving most of my development off of my local device and how I&apos;m doing that. We&apos;ll explore the differences between containers and virtual machines, whether you should run them locally or in the cloud, and what resources already exist that can help you get set up quickly.</p><p>My goal is to help you keep building&#x2014;despite the risks&#x2014;in a way that keeps you and your data safe.</p><p>But before we dive in, I have to share a disclaimer. I&apos;m not a security expert. I&apos;m sharing my personal journey and what I learned through a lot of research. Please use your best judgment when applying the content of this article.</p><p>With that caveat, let&apos;s look at the anatomy of malicious software.</p><h2 id="how-malicious-software-typically-works">How Malicious Software Typically Works</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/How-Malicious-Software-Typically-Works.webp" class="kg-image" alt="What I Learned from the Recent Wave of Package Hacks (And Is Cowork Immune?)" loading="lazy" width="1080" height="1080" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/06/How-Malicious-Software-Typically-Works.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w1000/2026/06/How-Malicious-Software-Typically-Works.webp 1000w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/How-Malicious-Software-Typically-Works.webp 1080w" sizes="(min-width: 720px) 720px"></figure><p>An agent recently <a href="https://www.msuiche.com/posts/supply-chain-attacks-cluster-230000-advisories-five-patterns/?ref=producttalk.org" rel="noopener nofollow">scoured over 230,000 malicious software incidents</a> and found that most malicious software follows a similar pattern. First, it needs an entry point onto your computer. Once installed, it scours your device for sensitive data, and then it uses your network connection to send that data to its own servers.</p><p>The Mini Shai-Hulud worm spreads using this exact pattern. It gains entry into new devices via a malicious package install script. When a developer downloads a package from a package registry, it can include install scripts that automatically run at time of download. Once the install script runs, the malicious code gains access to the developer&apos;s device. The code searches the device for credentials, including credentials to publish other packages. It uses those credentials to poison any additional packages the developer has publishing rights to. This is how the worm spread so quickly. It then uses three different channels&#x2014;including the victim&apos;s own <a href="https://github.com/?ref=producttalk.org" rel="noreferrer">GitHub</a> public repos&#x2014;to distribute the secrets.</p><p>So an attack typically involves three steps:</p><ol><li>It finds an entry point to your device.</li><li>It searches your device for sensitive data.</li><li>It sends that data to its own server.</li></ol><p>The good news is this pattern also tells us exactly what we need to guard against. We can block the most common entry points, we can limit what our code (and coding agents) have access to, and we can (sometimes) limit our outgoing network traffic.</p><p>The Mini Shai-Hulud worm used package install scripts to gain access to new devices. But this isn&apos;t the only entry point. Any code that has permission to run on your computer can include malicious code.</p><p>So we need to be mindful not just of what packages we install, but also what agent skills we download, what MCP servers we use, and even what third-party app extensions we add.</p><p>It used to be that only engineers had to worry about this problem. But as more of us use agent skills, MCP servers, vibe coding tools, and coding agents, more of us are being exposed to this risk. We need to understand how to mitigate it.</p><h2 id="how-to-determine-if-you-might-be-at-risk">How To Determine If You Might Be at Risk</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/How-To-Determine-If-You-Might-Be-at-Risk.webp" class="kg-image" alt="What I Learned from the Recent Wave of Package Hacks (And Is Cowork Immune?)" loading="lazy" width="1080" height="1080" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/06/How-To-Determine-If-You-Might-Be-at-Risk.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w1000/2026/06/How-To-Determine-If-You-Might-Be-at-Risk.webp 1000w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/How-To-Determine-If-You-Might-Be-at-Risk.webp 1080w" sizes="(min-width: 720px) 720px"></figure><p>Before we dive into how to defend against malicious actors, let&apos;s talk about what opens you up to this type of risk. Here are several common scenarios that rely on using third-party code:</p><ul><li>You download and use third-party skills or MCP servers.</li><li>You let Claude Code, Codex, or any other coding agent write scripts that run directly on your local device and those scripts use third-party packages.</li><li>You use an integrated development environment (e.g. <a href="https://code.visualstudio.com/?ref=producttalk.org" rel="noreferrer">VS Code</a>, <a href="https://cursor.com/?ref=producttalk.org" rel="noreferrer">Cursor</a>) and use third-party extensions.</li><li>You use <a href="https://obsidian.md/?ref=producttalk.org" rel="noreferrer">Obsidian</a> and install third-party extensions.</li></ul><p>This list isn&apos;t exhaustive. But if you are doing any of these things, please keep reading. We&apos;ll cover the full list over the course of the series.</p><h2 id="how-to-defend-against-malicious-code-the-safe-ish-option">How to Defend Against Malicious Code: The Safe-ish Option</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/How-to-Defend-Against-Malicious-Code-The-Safe-ish-Option.webp" class="kg-image" alt="What I Learned from the Recent Wave of Package Hacks (And Is Cowork Immune?)" loading="lazy" width="1080" height="1080" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/06/How-to-Defend-Against-Malicious-Code-The-Safe-ish-Option.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w1000/2026/06/How-to-Defend-Against-Malicious-Code-The-Safe-ish-Option.webp 1000w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/How-to-Defend-Against-Malicious-Code-The-Safe-ish-Option.webp 1080w" sizes="(min-width: 720px) 720px"></figure><p>The most reliable way to defend against malicious actors is to never install third-party software on your local device. But that&apos;s not realistic. We all use countless apps every day. I know many of you are already using third-party skills and MCP servers, and some of you are even using coding agents to write and execute code that needs third-party packages.</p><p>Today, we&apos;ll start with one of the most common ways non-engineers are writing and running code&#x2014;with Cowork.</p><h3 id="evaluating-coworks-safety-when-it-comes-to-malicious-code">Evaluating Cowork&apos;s Safety When It Comes to Malicious Code</h3><p>I was surprised to learn Cowork isn&apos;t as safe as I had thought. It does offer some protection and it is much safer than Claude Code, but it has a significant safety gap that you need to be aware of.</p><h4 id="understanding-coworks-security-defenses">Understanding Cowork&apos;s Security Defenses</h4><p>Cowork addresses two out of the three steps in our malicious code pattern. It provides protection through isolation&#x2014;it runs code in a virtual machine. You can think of a virtual machine like a quarantine room. In a quarantine room, you want to keep what&apos;s inside from getting out so that the germs can&apos;t spread.</p><p>Cowork does little to protect what can enter the room. It&apos;s up to you to manage that. However, if a germ (malicious code) does enter the room, it can&apos;t get out. Anything that sits outside the room (most of your files) can&apos;t get infected.</p><p>Cowork also limits network traffic that leaves the virtual machine. So not only does it isolate code, it limits what can exit. So in the event that malicious code does get access to the virtual machine, <a href="https://www.anthropic.com/?ref=producttalk.org" rel="noreferrer">Anthropic</a> makes it harder for hackers to send data home (our third step in the malicious code pattern). But we&apos;ll see this isn&apos;t 100% secure.</p><p>Claude can install packages inside Cowork. That means it is susceptible to malicious code like the Mini Shai-Hulud worm. And while it does limit outgoing network traffic, GitHub is on the allow list. This allows Cowork to read and write to your GitHub repos.</p><p>The problem is the Mini Shai-Hulud worm uses GitHub to publish secrets. So Cowork does not fully protect you from this type of attack. But, remember, if you never give Cowork access to sensitive data, then there is no data to expose to the attackers.</p><h4 id="understanding-your-responsibility-when-you-use-cowork">Understanding Your Responsibility When You Use Cowork</h4><p>So the important thing to keep in mind is: Your data is only safe if it lives outside of the virtual machine. If you move your data inside the quarantine room, then any malicious code that can get inside can also access your data.</p><p>Cowork does allow you to put data inside the isolation room. When you do this, those folders become accessible from within the virtual machine. So any malicious code that runs inside the virtual machine will be able to access those folders.</p><p>There are two things to consider when you give Cowork access to folders on your device.</p><ol><li>Do those folders contain any credentials or secrets?</li><li>Do those folders contain any proprietary data that would be harmful for a malicious actor to access?</li></ol><p>It&apos;s not unusual for code to need access to credentials. We need API keys to use APIs. But once those credentials enter the virtual machine, they are now exposed to any malicious code that might get access.</p><p>This is why Cowork has built-in connectors to third-party sources (e.g. <a href="https://workspace.google.com/products/drive/?ref=producttalk.org" rel="noreferrer">Google Drive</a>, <a href="https://slack.com/?ref=producttalk.org" rel="noreferrer">Slack</a>). This allows you to give Claude access to data that otherwise might require an API key. The credentials that you configure for connectors never get exposed to the virtual machine. They stay outside the quarantine room. So you don&apos;t have to worry about malicious actors getting access to these credentials. But if your code requires other credentials to do its task, those credentials would be exposed inside the virtual machine. Make sure these credentials are tightly scoped.</p><p>You can also use custom MCP servers (ones that you create yourself) with Cowork. And when you do this, those credentials also stay outside of the quarantine room. But these MCP servers have to be remote&#x2014;meaning you have to host them on a web server somewhere. It&apos;s not as easy as downloading an MCP server on your local device and asking Claude to configure it for you. But if you do want to use your own MCP servers with Cowork, this is the way to go&#x2014;it keeps your credentials safe.</p><p>But it&apos;s not just credentials that you have to worry about. You also need to consider what&apos;s in the folders that you explicitly share&#x2014;including the content that is coming via the connectors. This is where most of the risk lies. You don&apos;t want to expose any of your sensitive or proprietary data to bad actors. A good rule of thumb is to give Cowork only as much access as it needs to do the task at hand and no more.</p><h4 id="are-skills-safe-in-cowork">Are Skills Safe in Cowork?</h4><p>Cowork does support skills. You can add third-party skills inside the quarantine room, and as long as you aren&apos;t putting any of your own data in the room, then it&apos;s perfectly fine to take some risks here. But as soon as you add your own data (which is typically what makes skills useful), then you&apos;ll want to be mindful about which skills you are using. Skills can (and often do) include third-party code. Bad actors are using skills directories to distribute malicious code.</p><p>I never use third-party skills. If there&apos;s a third-party skill that I&apos;m interested in, I simply read through the files to see what it&apos;s doing and ask Claude to recreate it for me. This allows me to learn from how other skills work and ensures that my data stays safe. But if I were to use third-party skills, I would use them in Cowork and limit what data they had access to.</p><h4 id="the-limitations-of-coworks-safety">The Limitations of Cowork&apos;s Safety</h4><p>Generally, if you are mindful about what you share with Cowork, it&apos;s a pretty safe option. However, it can be hard to limit what you put in the room. Giving agents access to our data is exactly what makes them useful. Next week, we&apos;ll look at strategies for how to keep malicious code out. These strategies are designed for your local device&#x2014;but they can also work in Cowork with a little bit of effort. So if you want to get more out of Cowork, stay tuned for next week&apos;s article.</p>
<!--kg-card-begin: html-->
<table>
<thead>
<tr>
<th>Attacker&apos;s step</th>
<th>How Cowork protects you</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. Gain access to your device (via install scripts)</td>
<td><strong>Doesn&apos;t block it&#x2014;but contains it.</strong> Install scripts still run, but inside an isolated virtual machine, not on your real device.</td>
</tr>
<tr>
<td>2. Access your sensitive data</td>
<td><strong>Strong, with one caveat.</strong> Malicious code can only reach the folders you explicitly share. The rest of your filesystem&#x2014;including credentials outside those folders&#x2014;stays out of reach.</td>
</tr>
<tr>
<td>3. Send your data to their servers</td>
<td><strong>Partial.</strong> Anthropic limits the network traffic leaving the virtual machine. Not foolproof, but it provides some protection.</td>
</tr>
</tbody>
</table>
<!--kg-card-end: html-->
<h4 id="dont-confuse-cowork-with-the-code-tab-in-the-desktop-app">Don&apos;t Confuse Cowork with the Code Tab in the Desktop App</h4><p>One more thing to keep in mind: The Claude Desktop app includes both a Cowork tab and a Code tab. Cowork runs code inside a virtual machine, Code does not. If you ask Claude to write code for you from within the Code tab, you&apos;ll need to manage the security of that code yourself. This code runs on your local device. There is one exception to this&#x2014;Code in the Desktop app does allow you to run code in Anthropic&apos;s cloud. We&apos;ll cover this option in the third article in this series.</p>
<!--kg-card-begin: html-->
<table>
<thead>
<tr>
<th>Attacker&apos;s step</th>
<th>How the Code tab protects you (local sessions)</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. Gain access to your device (via install scripts)</td>
<td><strong>None.</strong> Code runs directly on your machine&#x2014;install scripts execute on your real device.</td>
</tr>
<tr>
<td>2. Access your sensitive data</td>
<td><strong>None.</strong> The code has full access to your filesystem: your files, SSH keys, and credentials.</td>
</tr>
<tr>
<td>3. Send your data to their servers</td>
<td><strong>None.</strong> Code can use your network connection freely to send data anywhere.</td>
</tr>
</tbody>
</table>
<!--kg-card-end: html-->
<h2 id="some-final-thoughts">Some Final Thoughts</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/Some-Final-Thoughts.webp" class="kg-image" alt="What I Learned from the Recent Wave of Package Hacks (And Is Cowork Immune?)" loading="lazy" width="1080" height="1080" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/06/Some-Final-Thoughts.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w1000/2026/06/Some-Final-Thoughts.webp 1000w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/06/Some-Final-Thoughts.webp 1080w" sizes="(min-width: 720px) 720px"></figure><p>I suspect we covered a lot of new territory for many of you. In my <a href="https://www.producttalk.org/how-to-use-claude-code-safely/" rel="noreferrer">Claude Code safety article</a>, I tried to strike the right balance between encouraging you to take safety seriously and not scaring you off completely. I&apos;m trying to strike that same balance here.</p><p>I still love building with AI&#x2014;I&apos;m just doing it a bit more cautiously these days. Today, we only scratched the surface. We covered how to use Cowork safely. But this approach has limitations. I personally still prefer Claude Code and I&apos;ll be sharing next week how I configured it to be safer. But safer doesn&apos;t mean safe, which is why I&apos;m also moving to a strategy where most of my development will happen off of my device. Stay tuned for more on both.</p><p>In the meantime, let me know in the comments if this series is helpful. This is a pretty significant departure from my <a href="https://www.producttalk.org/product-discovery/" rel="noreferrer">discovery</a> content. But if I&apos;m going to encourage you to wade into this new AI builder world, I want to make sure that I&apos;m also helping you do it safely.</p><p>Until next week. Stay safe out there.</p><h2 id="audio-version">Audio Version</h2><p>The audio version is only available for paid subscribers.</p>]]></content:encoded></item><item><title><![CDATA[Procurement - All Things Product Podcast with Teresa Torres & Petra Wille]]></title><description><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/ppzBrqTJMNs?start=632&amp;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Procurement - All Things Product with Teresa &amp; Petra"></iframe></figure><p>Listen to this episode on: <a href="https://open.spotify.com/episode/2JHnTvnZX2WcFczml7ozKY?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/kh/podcast/procurement/id1794203808?i=1000770701690&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>Teresa is cranky &#x2014; and honestly? She has every right to be.</p><p>In this episode, Teresa and Petra go on a deeply relatable rant about the absurdity of modern corporate procurement processes. Teresa is simultaneously juggling seven speaking engagement contracts, and six</p>]]></description><link>https://www.producttalk.org/procurement-all-things-product-podcast-with-teresa-torres-petra-wille/</link><guid isPermaLink="false">69f97a30cfd9480001838687</guid><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Tue, 02 Jun 2026 13:00:08 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/procurement-atp.webp" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/ppzBrqTJMNs?start=632&amp;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Procurement - All Things Product with Teresa &amp; Petra"></iframe></figure><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/procurement-atp.webp" alt="Procurement - All Things Product Podcast with Teresa Torres &amp; Petra Wille"><p>Listen to this episode on: <a href="https://open.spotify.com/episode/2JHnTvnZX2WcFczml7ozKY?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/kh/podcast/procurement/id1794203808?i=1000770701690&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>Teresa is cranky &#x2014; and honestly? She has every right to be.</p><p>In this episode, Teresa and Petra go on a deeply relatable rant about the absurdity of modern corporate procurement processes. Teresa is simultaneously juggling seven speaking engagement contracts, and six of them have become a part-time job in themselves &#x2014; think 80-page ethics policies, 800-question security forms, and Multi-Factor Authentication (MFA) questions asked 17 different times. Meanwhile, the one company that just put her fee on a credit card? Scheduled, confirmed, and done in two weeks.</p><p>Petra chimes in with her own procurement horror story &#x2014; filling out 12 identical Word document forms &#x2014; and the two draw a bigger point from the chaos: broken vendor processes don&apos;t just frustrate consultants, they prevent organizations from getting the expertise they actually need.</p><p>If you&apos;ve ever wondered why that training got canceled, why that speaker backed out, or why your company can&apos;t seem to bring in outside experts &#x2014; this episode might answer that question.</p><p><strong>Topics Covered:</strong></p><ul><li>Why Teresa is (half-jokingly) threatening to retire</li><li>The stark contrast between vendor-friendly companies and bureaucratic nightmares &#x2014; and why company size isn&apos;t the deciding factor</li><li>The hidden cost of procurement theater: scope creep, repetitive forms, and the 800-question security review</li><li>How a CEO&apos;s buy-in can compress a 4-month legal review process into 10 days &#x2014; and what that reveals about organizational priorities</li><li>The vendor experience as a brand experience &#x2014; a lens product people should apply to their own organizations</li><li>Teresa&apos;s new policy: her paperwork, credit card payment, no vendor setup &#x2014; or no speaking engagement</li><li>How bureaucracy compounds over time through adverse events &#x2014; and why startups historically win by moving fast</li></ul><p><strong>Key Takeaways:</strong></p><ul><li>Your procurement process is a reflection of your culture. If it&apos;s painful for vendors, it&apos;s probably painful internally too.</li><li>Product thinkers should care about vendor experience. Every process your company delivers &#x2014; including procurement &#x2014; has brand impact.</li><li>CEO-level buy-in is the fastest procurement tool there is. It reveals how much your organization actually values what it&apos;s trying to buy.</li><li>Simple vendor terms attract the best experts. The more friction you create, the more likely top speakers and consultants will just say no.</li></ul><p><strong>Resources &amp; Links:</strong></p><ul><li>Follow Teresa Torres: <a href="https://producttalk.org/?ref=producttalk.org">https://ProductTalk.org</a></li><li>Follow Petra Wille: <a href="https://petra-wille.com/?ref=producttalk.org">https://Petra-Wille.com</a></li></ul><p><strong>Mentioned in the episode:</strong></p><ul><li><a href="https://www.producttalk.org/hire-teresa-to-speak/">Hire Teresa to Speak</a></li><li><a href="https://aws.amazon.com/dynamodb/?ref=producttalk.org">AWS DynamoDB</a> &amp; <a href="https://aws.amazon.com/guardduty/?ref=producttalk.org">GuardDuty</a></li><li><a href="https://www.claude.com/product/claude-code?ref=producttalk.org">Claude Code</a></li><li>The classic film <a href="https://en.wikipedia.org/wiki/Office_Space?ref=producttalk.org"><em>Office Space</em></a> (referenced for reasons that will be very clear)</li></ul><p>Join the Conversation:</p><p>Have thoughts on this episode? Leave a comment below.</p><h2 id="full-transcript">Full Transcript</h2><p>Full transcripts are only available for paid subscribers.</p>]]></content:encoded></item><item><title><![CDATA[Let's Read Continuous Discovery Habits Together (June 2026)]]></title><description><![CDATA[<p><a href="https://amzn.to/3hGkNYT?ref=producttalk.org" rel="noreferrer"><em>Continuous Discovery Habits</em></a> turns five this year. And to celebrate we are reading the book together.</p><p>Each month, I am releasing an in-depth reading guide that includes:</p><ul><li>The chapters we will be reading</li><li>A preview of the most important concepts we&apos;ll be learning about</li><li>Short videos you</li></ul>]]></description><link>https://www.producttalk.org/cdh-book-club-june-2026/</link><guid isPermaLink="false">6a0e7aa04225690001d593f4</guid><category><![CDATA[CDH Book Club]]></category><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Mon, 01 Jun 2026 13:00:53 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/book_transparent_shadow--medium.webp" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/book_transparent_shadow--medium.webp" alt="Let&apos;s Read Continuous Discovery Habits Together (June 2026)"><p><a href="https://amzn.to/3hGkNYT?ref=producttalk.org" rel="noreferrer"><em>Continuous Discovery Habits</em></a> turns five this year. And to celebrate we are reading the book together.</p><p>Each month, I am releasing an in-depth reading guide that includes:</p><ul><li>The chapters we will be reading</li><li>A preview of the most important concepts we&apos;ll be learning about</li><li>Short videos you can share with friends and colleagues to help spread the ideas</li><li>Individual and team discussion questions to help you absorb and engage with the reading</li><li>Team exercises to help you put the ideas into practice</li><li>Additional reading to help you go deeper on the core ideas</li></ul><p>We&apos;ll be discussing each month&apos;s reading in the comment section and we&apos;ll gather quarterly to discuss on a live call.</p><p>Joining late? No problem. I monitor the comments on each reading guide throughout the year. Start with the current month or go back to January&#x2014;whatever works for you. You can ask for help, share what&apos;s working, and connect with other readers at any point.</p><p>If you want to participate, <a href="https://amzn.to/3hGkNYT?ref=producttalk.org" rel="noopener nofollow">grab a copy of the book</a> (or dig up your old copy), share the &quot;Spread the Love&quot; videos, reserve some time to do the team exercises, and register for the community sessions. Let&apos;s do this!</p><h2 id="this-months-reading">This Month&apos;s Reading</h2><p><strong>Chapter:</strong></p><ul><li>Chapter 7: Prioritizing Opportunities, Not Solutions</li></ul><p>Estimated reading time: ~16 minutes</p><p>This month&apos;s chapter will introduce you to:</p><ul><li>Why product strategy happens in the opportunity space, not the solution space</li><li>How to focus on one target opportunity at a time to deliver value iteratively</li><li>Using the tree structure to simplify prioritization decisions</li><li>The four criteria for assessing opportunities: sizing, market factors, company factors, and customer factors</li><li>Why treating prioritization as a messy, subjective decision leads to better outcomes than scoring formulas</li><li>The concept of two-way door decisions and how they apply to opportunity prioritization</li></ul><p>Need a copy? <a href="https://amzn.to/3hGkNYT?ref=producttalk.org" rel="noopener nofollow">Grab the book</a></p><h2 id="share-the-love-with-friends-and-colleagues">Share the Love with Friends and Colleagues</h2><p>We learn best in community. Use the following short videos to share the key concepts from this chapter with friends and colleagues. Invite them to participate in the book club with you.</p><ul><li><a href="https://videos.producttalk.org/videos/119fd5b4111ee1cf98/work-on-one-small-opportunity-at-a-time?ref=producttalk.org" rel="noreferrer">Work on one small opportunity at a time</a> - Reduce your batch size</li><li><a href="https://videos.producttalk.org/videos/ea91d5b31d1fe7c263/getting-started-with-compare-and-contrast-decisions?ref=producttalk.org" rel="noreferrer">Getting started with compare and contrast decisions</a> - Choose the right target opportunity</li><li><a href="https://videos.producttalk.org/videos/449fd5be1c1de7cccd/turn-big-intractable-problems-into-smaller-more-solvable-problems?ref=producttalk.org" rel="noreferrer">Turn big intractable problems into smaller, more solvable problems</a> - The power of decomposition</li></ul><h2 id="reflect-discuss-what-you-read">Reflect &amp; Discuss What You Read</h2><p>When we reflect and discuss what we read, we absorb more of the material. It helps us put what we learn into practice. Don&apos;t skip this step.</p><p>This chapter challenges a deeply ingrained habit: prioritizing solutions. Most product teams spend countless hours ranking features in spreadsheets, debating roadmaps, and arguing over what to build next. But this chapter makes the case that product strategy doesn&apos;t happen in the solution space&#x2014;it happens in the opportunity space. The opportunities we choose to address define our competitive position far more than the features we ship.</p><h3 id="individual-reflection">Individual Reflection</h3><ol><li>Think about your team&apos;s current roadmap or backlog. How much of your time is spent prioritizing features versus understanding and prioritizing customer opportunities? What would change if you flipped that ratio?</li><li>Reflect on the last time you made a product decision. Did you treat it as a one-way door (irreversible) or a two-way door (reversible)? How did that framing affect your decision-making process and timeline?</li><li>Consider the four assessment criteria (opportunity sizing, market factors, company factors, customer factors). Which of these does your team currently emphasize most? Which do you tend to overlook or underweight?</li></ol><h3 id="team-discussion">Team Discussion</h3><ol><li>As a team, list the top 5-10 items on your current roadmap or backlog. For each one, try to identify the underlying customer opportunity it addresses. If you can&apos;t clearly articulate the opportunity, what does that tell you about how you&apos;re making decisions?</li><li>The chapter argues against scoring formulas (like RICE or ICE) for prioritization, calling them &quot;made-up math.&quot; If your team uses a scoring system, discuss: What is it really measuring? Does it help you make better decisions, or does it just make subjective decisions feel more objective?</li><li>Walk through a recent prioritization decision. Did you assess options in isolation (&quot;should we build this?&quot;) or compare and contrast them? How might your decision have been different with a compare-and-contrast approach?</li></ol><h2 id="put-it-into-practice">Put It Into Practice</h2><p>This month is all about shifting from solution-first to opportunity-first thinking. These exercises will help you practice prioritizing opportunities and making faster, better decisions about which customer needs to address.</p><h3 id="exercise-map-your-roadmap-to-opportunities">Exercise: Map Your Roadmap to Opportunities</h3><p><strong>Time:</strong> 45 minutes<br><strong>Do this:</strong> With your product trio</p><p>Take your current roadmap or backlog and work backwards. For each planned feature or solution:</p><ul><li>Identify the customer opportunity it&apos;s meant to address</li><li>Write it as something a customer might say (e.g., &quot;I can&apos;t find anything to watch&quot; not &quot;We need better search&quot;)</li><li>Look for patterns: Are multiple solutions addressing the same opportunity? Are some solutions disconnected from any clear customer need?</li></ul><p>This exercise often reveals that you&apos;re either:</p><ol><li>Spreading yourself thin across too many opportunities</li><li>Over-investing in a single opportunity with multiple solutions</li><li>Building solutions with no clear opportunity attached</li></ol><p>Use these insights to inform your next prioritization conversation.</p><h3 id="exercise-practice-two-way-door-thinking">Exercise: Practice Two-Way Door Thinking</h3><p><strong>Time:</strong> 30 minutes<br><strong>Do this:</strong> With your product trio</p><p>Choose 3-5 recent or upcoming product decisions. For each one, discuss:</p><ul><li>Is this a one-way door decision (hard to reverse) or a two-way door decision (easy to reverse)?</li><li>If it&apos;s a two-way door, what&apos;s the smallest step we could take to learn whether we&apos;re on the right track?</li><li>What would we need to see to know we made the wrong choice?</li><li>If we realize we&apos;re wrong, how quickly could we course-correct?</li></ul><p>The goal is to calibrate your team&apos;s decision-making speed. Two-way door decisions should be made quickly with &quot;just enough&quot; evidence. One-way door decisions deserve more deliberation and data.</p><h2 id="go-deeper-additional-reading">Go Deeper: Additional Reading</h2><p>If you prefer an audio summary of this month&apos;s reading, including the book chapters and the following resources, I&apos;ve included an audio version for paid subscribers at the bottom of this post.</p><h3 id="related-in-depth-guides">Related In-Depth Guides</h3><ul><li><a href="https://www.producttalk.org/opportunity-solution-trees/" rel="noopener nofollow">Opportunity Solution Trees: Visualize Your Discovery to Stay Aligned and Drive Outcomes</a></li><li><a href="https://www.producttalk.org/customer-interviews/" rel="noopener nofollow">Customer Interviews: Uncover Hidden Insights from Every Conversation</a></li></ul><h3 id="supplementary-reading">Supplementary Reading</h3><ul><li><a href="https://www.producttalk.org/2019/02/prioritize-opportunities/" rel="noopener nofollow">Prioritize Opportunities, Not Solutions</a></li><li><a href="https://www.producttalk.org/benefits-of-opportunity-solution-trees/" rel="noreferrer">7 Key Benefits of Using Opportunity Solution Trees</a></li><li><a href="https://www.producttalk.org/two-way-door-decisions/" rel="noreferrer">Product in Practice: How 2-Way Door Decisions Helped Simply Business Learn Fast</a></li><li><a href="https://www.producttalk.org/adopting-opportunity-solution-trees/" rel="noreferrer">Product in Practice: Getting Started with Opportunity Solution Trees at SuperAwesome</a></li></ul><h3 id="related-courses">Related Courses</h3><ul><li><a href="https://learn.producttalk.org/cdh-master-class?ref=producttalk.org" rel="noreferrer">Product Discovery Fundamentals</a>: Learn a structured and sustainable approach to continuous discovery.</li></ul><h2 id="our-live-discussion-schedule">Our Live Discussion Schedule</h2><p>Our live discussion sessions are for paid subscribers. Sessions are not recorded. Invitations will go out to Supporting Members and CDH Members two weeks before the scheduled event. But reserve the time on your calendar now.</p><ul><li>Tuesday, June 16, 2026: 9am-10am PDT</li><li>Thursday, September 17, 2026: 9am-10am PDT</li><li>Wednesday, December 16, 2026: 9am-10am PST</li></ul><h2 id="audio-summary">Audio Summary</h2><p>This summary was produced by NotebookLM. The sources supplied were the book chapters as well as all of the additional reading.</p><div class="kg-card kg-audio-card"><img src alt="Let&apos;s Read Continuous Discovery Habits Together (June 2026)" class="kg-audio-thumbnail kg-audio-hide"><div class="kg-audio-thumbnail placeholder"><svg width="24" height="24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5 15.33a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm-2.25.75a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0ZM15 13.83a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm-2.25.75a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M14.486 6.81A2.25 2.25 0 0 1 17.25 9v5.579a.75.75 0 0 1-1.5 0v-5.58a.75.75 0 0 0-.932-.727.755.755 0 0 1-.059.013l-4.465.744a.75.75 0 0 0-.544.72v6.33a.75.75 0 0 1-1.5 0v-6.33a2.25 2.25 0 0 1 1.763-2.194l4.473-.746Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M3 1.5a.75.75 0 0 0-.75.75v19.5a.75.75 0 0 0 .75.75h18a.75.75 0 0 0 .75-.75V5.133a.75.75 0 0 0-.225-.535l-.002-.002-3-2.883A.75.75 0 0 0 18 1.5H3ZM1.409.659A2.25 2.25 0 0 1 3 0h15a2.25 2.25 0 0 1 1.568.637l.003.002 3 2.883a2.25 2.25 0 0 1 .679 1.61V21.75A2.25 2.25 0 0 1 21 24H3a2.25 2.25 0 0 1-2.25-2.25V2.25c0-.597.237-1.169.659-1.591Z"/></svg></div><div class="kg-audio-player-container"><audio src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/media/2026/05/June---Prioritizing-Opportunities.m4a" preload="metadata"></audio><div class="kg-audio-title">June Prioritizing Opportunities</div><div class="kg-audio-player"><button class="kg-audio-play-icon" aria-label="Play audio"><svg viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-audio-pause-icon kg-audio-hide" aria-label="Pause audio"><svg viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-audio-current-time">0:00</span><div class="kg-audio-time">/<span class="kg-audio-duration">1394.242177</span></div><input type="range" class="kg-audio-seek-slider" max="100" value="0"><button class="kg-audio-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button><button class="kg-audio-unmute-icon" aria-label="Unmute"><svg viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-audio-mute-icon kg-audio-hide" aria-label="Mute"><svg viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-audio-volume-slider" max="100" value="100"></div></div></div><p><em>This article is part of the CDH Book Club celebrating the 5-year anniversary of Continuous Discovery Habits. </em><a href="https://www.producttalk.org/continuous-discovery-habits-book/" rel="noreferrer"><em>See all book club posts</em></a></p>]]></content:encoded></item><item><title><![CDATA[Building Lorikeet: How AI Humility and a Dual-Agent Architecture Are Redefining Customer Support]]></title><description><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/eZj1xSiyd9U?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Building Lorikeet: How AI Humility and a Dual-Agent Architecture Are Redefining Customer Support"></iframe></figure><p>Listen to this episode on: <a href="https://open.spotify.com/episode/4GiDnr5N5Xl9b76mJSMDmD?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/us/podcast/building-lorikeet-how-ai-humility-and-a-dual/id1838832993?i=1000769968974&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>What does it take to build an AI customer support agent that actually knows when it can&apos;t help &#x2014; and says so?</p><p>In this episode of <em>Just Now Possible</em>, Teresa Torres talks with Jamie Hall (Co-founder &amp; CTO), Xharmagne</p>]]></description><link>https://www.producttalk.org/building-lorikeet-how-ai-humility-and-a-dual-agent-architecture-are-redefining-customer-support/</link><guid isPermaLink="false">6a14f321982c9200013db24f</guid><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Thu, 28 May 2026 13:00:44 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/Lorikeet-Episode-cover-art.webp" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/eZj1xSiyd9U?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Building Lorikeet: How AI Humility and a Dual-Agent Architecture Are Redefining Customer Support"></iframe></figure><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/Lorikeet-Episode-cover-art.webp" alt="Building Lorikeet: How AI Humility and a Dual-Agent Architecture Are Redefining Customer Support"><p>Listen to this episode on: <a href="https://open.spotify.com/episode/4GiDnr5N5Xl9b76mJSMDmD?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/us/podcast/building-lorikeet-how-ai-humility-and-a-dual/id1838832993?i=1000769968974&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>What does it take to build an AI customer support agent that actually knows when it can&apos;t help &#x2014; and says so?</p><p>In this episode of <em>Just Now Possible</em>, Teresa Torres talks with Jamie Hall (Co-founder &amp; CTO), Xharmagne Carandang (Product Engineer), and Rona Wang (Product Engineer) of Lorikeet, a startup building AI customer support concierge agents for businesses in regulated industries. Lorikeet&apos;s vision: an agent that responds like the best customer support you&apos;ve ever had &#x2014; one that knows you, gets things fixed, and hands off gracefully when it&apos;s out of its depth.</p><p>The team spent months exploring the wrong ideas &#x2014; reflection tools, information dashboards &#x2014; before a healthcare startup pulled them toward the real problem: just help us clear the inbox. Their earliest prototype was a command-line script delivering results via CSV. Today, Lorikeet runs two agents: a Concierge that handles customer tickets end-to-end, and a Coach that helps customers configure, test, and continuously improve it.</p><p>You&apos;ll hear how they built customer-configurable guardrails (and why a cannabis company&apos;s support tickets broke their first approach), designed a &quot;resolution in the loop&quot; pattern for human-AI collaboration, and are now flipping the configuration workflow so customers define what good looks like before they ever write a standard operating procedure.</p><h2 id="show-notes">Show Notes</h2><h3 id="guests"><strong>Guests:</strong></h3><ul><li>Jamie Hall, Co-founder &amp; CTO, Lorikeet</li><li>Xharmagne Carandang, Product Engineer, Lorikeet</li><li>Rona Wang, Product Engineer, Lorikeet</li></ul><h3 id="in-this-episode"><strong>In this episode:</strong></h3><ul><li>How Lorikeet evolved from failed ops tools to a full AI customer support concierge</li><li>The dual-agent architecture: Concierge for customer tickets, Coach for configuration and ongoing improvement</li><li>Why &quot;AI humility&quot; &#x2014; defaulting to human handoff when uncertain &#x2014; is a core design principle</li><li>How Lorikeet integrates with Zendesk and Intercom instead of replacing them</li><li>The UX evolution from workflow builder to conversational interface &#x2014; and why the blank chat box is still hard</li><li>&quot;Resolution in the loop&quot;: how human agents unblock the AI without taking over a ticket</li><li>Why guardrails need to be domain-specific &#x2014; the cannabis company story</li><li>How customers define their own evals and guardrails through the Coach interface</li><li>Using AI to diagnose failure modes in traces and automatically suggest fixes</li><li>Lorikeet&apos;s product engineering culture: every engineer asks weekly what they learned from a customer</li></ul><p><strong>Resources &amp; Links:</strong></p><ul><li><a href="https://www.lorikeetcx.ai/?ref=producttalk.org" rel="noreferrer">Lorikeet</a> &#x2014; AI customer support concierge for enterprises in regulated industries</li><li><a href="https://www.producttalk.org/building-a-multi-agent-platform-with-gradient-labs/?ref=producttalk.org">Gradient Labs on Just Now Possible</a> &#x2014; another AI agent team in regulated financial services</li><li><a href="https://www.producttalk.org/building-ai-coworkers-how-neople-is-making-agents-work-where-you-work/?ref=producttalk.org">Neople on Just Now Possible</a> &#x2014; AI digital coworkers with a similar training-by-conversation approach</li><li><a href="https://www.producttalk.org/when-ai-becomes-your-sre-how-incident-io-is-automating-incident-response/?ref=producttalk.org">Incident.io on Just Now Possible</a> &#x2014; AI SRE with multi-agent hypothesis investigation</li></ul><h3 id="chapters">Chapters</h3><p>00:00 Meet the Team<br>01:05 What Lorikeet Builds<br>02:34 Origin Story and Early Missteps<br>06:42 Finding the Real Support Pain<br>07:37 Why AI Fits Support Work<br>11:16 First Prototype and Early Evals<br>14:42 Design Partners and Selling the CLI<br>16:30 Product Mindset and the Real Moat<br>19:47 Rona Joins and Scaling Up<br>21:02 Milestones Voice Actions Escalation<br>23:48 Integrations with Zendesk Intercom<br>25:59 How the Agent Works Today<br>28:30 Coach Agent and Configuration UX<br>32:58 SOPs to Test Cases<br>34:35 Refund Flow Setup<br>36:12 Coach Conversational UI<br>38:12 Hybrid UX Guidance<br>40:46 Resolution in Loop<br>43:17 Collaboration Middle Ground<br>49:40 Process Maturity Limits<br>53:30 Confidence and Guardrails<br>55:59 Customer Defined Guardrails<br>01:01:14 Trace Diagnosis Agent<br>01:03:14 Product Engineers Culture<br>01:07:46 Closing Thoughts</p><h2 id="full-transcript">Full Transcript</h2><p>Podcast transcripts are only available to paid subscribers.</p>]]></content:encoded></item><item><title><![CDATA[Is Technology Good? - All Things Product Podcast with Teresa Torres & Petra Wille]]></title><description><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/6bFw_gGoff8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Is Technology Good? - All Things Product with Teresa &amp; Petra"></iframe></figure><p>Listen to this episode on: <a href="https://open.spotify.com/episode/19c4YK7mdDpA31oa0q7yNo?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/kh/podcast/all-things-product-with-teresa-and-petra/id1794203808?ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>We built the internet. We championed social media. We&apos;re now building AI. But what if, looking back, we made things worse?</p><p>In this candid and wide-ranging conversation, Teresa and Petra wrestle with a question that&apos;s hard to</p>]]></description><link>https://www.producttalk.org/is-technology-good-all-things-product-podcast-with-teresa-torres-petra-wille/</link><guid isPermaLink="false">69f9732ccfd948000183866a</guid><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Tue, 26 May 2026 13:00:48 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/is-technology-good-atp.webp" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/6bFw_gGoff8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Is Technology Good? - All Things Product with Teresa &amp; Petra"></iframe></figure><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/is-technology-good-atp.webp" alt="Is Technology Good? - All Things Product Podcast with Teresa Torres &amp; Petra Wille"><p>Listen to this episode on: <a href="https://open.spotify.com/episode/19c4YK7mdDpA31oa0q7yNo?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/kh/podcast/all-things-product-with-teresa-and-petra/id1794203808?ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>We built the internet. We championed social media. We&apos;re now building AI. But what if, looking back, we made things worse?</p><p>In this candid and wide-ranging conversation, Teresa and Petra wrestle with a question that&apos;s hard to ask from inside tech: is the industry we&apos;ve dedicated our careers to actually net positive for the world? From a chance comment by a non-tech family member to jarring observations about human isolation in San Francisco, this episode doesn&apos;t shy away from the discomfort.</p><p>They explore the role of greed in how technology has evolved, what the &quot;tech bro&quot; narrative is costing us in human terms, the loneliness epidemic, and why speaking to people outside our industry echo chambers might be one of the most important things we can do. But they don&apos;t stop at critique &#x2014; they also cast a genuinely hopeful vision for what responsible, community-centered technology could look like, including the idea of &quot;mom and pop tech&quot; that serves neighborhoods, not shareholders.</p><p>If you work in tech and you&apos;ve ever had a nagging feeling that something&apos;s gone wrong &#x2014; this one is for you.</p><p><strong>Key Takeaways</strong></p><ul><li>The honest self-reckoning: Both Petra and Teresa reflect on having been active contributors to technologies &#x2014; social media, the internet, AI &#x2014; that have had real negative consequences, even when built with good intentions.</li><li>Greed as the root cause: The shift from &quot;make people&apos;s lives better&quot; to &quot;extract maximum value at any human cost&quot; is framing a lot of what feels broken about tech right now.</li><li>The loneliness crisis is real: Technology has been used to replace human connection rather than supplement it &#x2014; and the two hosts see this as one of the most pressing consequences of how the industry has operated.</li><li>The echo chamber problem: Teresa&apos;s floored reaction when a family member called the internet &quot;net negative&quot; is a reminder of how insulated tech workers are from how the rest of the world experiences their work.</li><li>&quot;Mom and pop tech&quot; as an antidote: Rather than massive horizontal platforms built to scale, there&apos;s a hopeful model emerging where AI enables hyper-local, community-specific software &#x2014; bespoke tools built by and for neighborhoods, not VCs.</li><li>Changing parent norms around phones: Petra shares a striking observation from her daughter&apos;s school in Germany &#x2014; where just five years ago half of 7&#x2013;8 year olds had phones, parents now unanimously agree to hold off until age 11 or 12.</li><li>We still have agency: Technology is a tool. The future isn&apos;t written yet. Choosing who you work for, what you build, and what narratives you amplify all matter.</li></ul><p><strong>Topics Discussed</strong></p><ul><li>The personal and professional reckoning of working in tech during a period of visible harm</li><li>Social media&apos;s broken promise: democratization vs. polarization</li><li>The San Francisco &quot;isolation by design&quot; observation &#x2014; QR codes, Waymos, and the disappearance of human interaction</li><li>The greed cycle in tech: comparing today&apos;s climate to the railroad tycoon era</li><li>Tech layoffs as a symptom of a deeper value problem</li><li>What it means to be a responsible citizen in the tech industry</li><li>The &quot;inch wide, mile deep&quot; approach to community-focused tech</li><li>Ride share as a case study in extractive platform capitalism &#x2014; and what a local alternative could look like</li><li>The role of product people as educators and narrative-spreaders</li><li>Why human physical touch, care, and community can&apos;t be automated</li></ul><p><strong>Resources &amp; Links:</strong></p><ul><li>Follow Teresa Torres: <a href="https://producttalk.org/?ref=producttalk.org">https://ProductTalk.org</a></li><li>Follow Petra Wille: <a href="https://petra-wille.com/?ref=producttalk.org">https://Petra-Wille.com</a></li></ul><p><strong>Mentioned in the episode:</strong></p><ul><li><a href="https://productatheart.com/?ref=producttalk.org">Product at Heart</a> - Petra&apos;s conference, mentioned in the context of sharing alternative narratives about technology&apos;s future</li><li><a href="https://www.linkedin.com/in/arnekittler/?ref=producttalk.org">Arne Kitller</a> of Product at Heart</li><li><a href="https://www.omezzinekhelifa.com/how-to-save-democracy/?ref=producttalk.org"><em>How to Save Democracy</em></a> &#x2014; podcast episode Petra listened to on community spaces, climate resilience, and local tech models</li><li><a href="https://en.wikipedia.org/wiki/Don%27t_be_evil?ref=producttalk.org">Don&#x2019;t be evil</a> - Google&#x2019;s former motto, and a phrase used in Google&#x2019;s corporate code of conduct</li><li><a href="https://en.wiktionary.org/wiki/Elternabend?ref=producttalk.org">Elternabend</a></li><li><a href="http://bowlingalone.com/?ref=producttalk.org"><em>Bowling Alone: The Collapse and Revival of American Community</em></a> &#x2014; book referenced by Teresa on the loneliness epidemic in the US</li><li><a href="https://www.linkedin.com/in/ronnievarghese?ref=producttalk.org">Ronnie Varghese</a></li></ul><p>Join the Conversation:</p><p>Have thoughts on this episode? Leave a comment below.</p><h2 id="full-transcript">Full Transcript </h2><p>Full transcripts are only available for paid subscribers.</p>]]></content:encoded></item><item><title><![CDATA[My Team of Agents: How I Get Claude to Do Tasks While I'm Away from the Computer]]></title><description><![CDATA[<p><a href="#audio-version" rel="noreferrer">Audio Version ($)</a></p><p>Every morning I wake up and <a href="https://claude.ai/?ref=producttalk.org" rel="noreferrer">Claude</a> has already added several tasks to my to-do list.</p><p>If I have a podcast recording on the calendar, my podcast-manager agent (powered by Claude) prepares a podcast-interview-prep task with a summary of who I&apos;m interviewing</p>]]></description><link>https://www.producttalk.org/my-team-of-agents/</link><guid isPermaLink="false">6a0c92dd8bec260001342883</guid><category><![CDATA[Claude Code Recipes]]></category><category><![CDATA[Generative AI]]></category><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Wed, 20 May 2026 13:00:43 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/agent-system-infographic.webp" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/agent-system-infographic.webp" alt="My Team of Agents: How I Get Claude to Do Tasks While I&apos;m Away from the Computer"><p><a href="#audio-version" rel="noreferrer">Audio Version ($)</a></p><p>Every morning I wake up and <a href="https://claude.ai/?ref=producttalk.org" rel="noreferrer">Claude</a> has already added several tasks to my to-do list.</p><p>If I have a podcast recording on the calendar, my podcast-manager agent (powered by Claude) prepares a podcast-interview-prep task with a summary of who I&apos;m interviewing and what they are building. It also creates a transcript review document and sets the right share settings. After the recording, it adds a task to my to-do list to share the transcript with the podcast participants.</p><p>If I have a sales call, my sales-admin agent (also powered by Claude) will prepare a sales-meeting-prep task for me with notes on who I am meeting with, where they are in the sales process, and anything else I need to know to move the deal forward. After the call, the sales admin creates tasks with all my next steps.</p><p>Every week, I get a report added to my Monday to-do list. It&apos;s generated by my coding-manager agent (still powered by Claude). It scans through all my coding sessions from the prior week and gives me tips on how I can improve. The tips cover common mistakes or dead-ends that I keep running into and how to fix or avoid them and ways I can work better with Claude. It&apos;s my weekly retrospective.</p><p>Today, I&apos;m going to walk through how I get Claude to do tasks for me while I&apos;m away from the computer.</p><p>I was inspired to build this system because of the growth and popularity of <a href="https://openclaw.ai/?ref=producttalk.org" rel="noreferrer">OpenClaw</a>. OpenClaw is an open-source <a href="https://www.langchain.com/blog/the-anatomy-of-an-agent-harness?ref=producttalk.org" rel="noreferrer">agent harness</a> that allows you to set up personalized agents that work on your behalf. But it has some downsides. </p><p>When OpenClaw first came out, it required careful configuration to use safely. People enamored with the promise of a personalized agent gave it broad access to their machines (browser, terminal, files, credentials), installed third-party skills, and ran up large usage bills.</p><p>After hearing one too many horror stories about hours wasted and surprise bills, I wanted a safer way to explore the advantages of OpenClaw while also managing the costs. That&apos;s what inspired my agent setup.</p><p>If you are new to my Claude Code series, I&apos;ve covered a lot of ground.</p><ul><li><a href="https://www.producttalk.org/claude-code-what-it-is-and-how-its-different/" rel="noopener nofollow">Claude Code: What It Is, How It&apos;s Different, And Why Non-Technical People Should Use It</a></li><li><a href="https://www.producttalk.org/give-claude-code-a-memory/" rel="noopener nofollow">Stop Repeating Yourself: Give Claude Code a Memory</a></li><li><a href="https://www.producttalk.org/how-to-use-claude-code-safely/" rel="noopener nofollow">How to Use Claude Code Safely: A Non-Technical Guide to Managing Risk</a></li><li><a href="https://www.producttalk.org/how-to-choose-which-tasks-to-automate-with-ai/" rel="noopener nofollow">How to Choose Which Tasks to Automate with AI (+50 Real Examples)</a></li><li><a href="https://www.producttalk.org/how-to-build-ai-workflows-with-claude-code/" rel="noopener nofollow">How to Build AI Workflows with Claude Code (Even If You&apos;re Not Technical)</a></li><li><a href="https://www.producttalk.org/how-to-use-claude-code-features/" rel="noopener nofollow">How to Use Claude Code: A Guide to Slash Commands, Agents, Skills, and Plugins</a></li><li><a href="https://www.producttalk.org/context-rot/" rel="noopener nofollow">Context Rot: Why AI Gets Worse the Longer You Chat (And How to Fix It)</a></li><li><a href="https://www.producttalk.org/how-to-share-your-ai-context-and-skills/" rel="noopener nofollow">How to Share Your AI Context and Skills Across Devices</a></li></ul><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">This series was inspired by my personal usage of Claude Code. I&apos;m a big fan and I like to share what works for me with readers.<br><br>I have not received any compensation from Anthropic for writing this series. And you can trust that if that ever changes, I will disclose it. This is not only required by the FTC here in the US, I strongly believe it is the right thing to do. You can count on me to do so.</div></div><h1 id="an-overview-of-how-my-agent-team-works">An Overview of How My Agent Team Works</h1><figure class="kg-card kg-embed-card kg-card-hascaption"><iframe width="200" height="113" src="https://www.youtube.com/embed/CNHn1zSN4JI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="My Team of Agents: How I Get Claude to Complete Tasks While I&apos;m Away from the Computer"></iframe><figcaption><p><span style="white-space: pre-wrap;">Watch this overview video and then dive into the details below.</span></p></figcaption></figure><p>I currently have three agents who work for me: a podcast manager, a sales admin, and a coding manager. I suspect my team will grow as I have more time to invest in this strategy.</p><p>This system works based on four key components:</p><ol><li>Agent identity - a markdown file that tells the agent who it is, where its task folder lives, and provides context for the types of tasks it will do.</li><li>Scheduler - I&apos;m using <a href="https://www.apple.com/os/macos/?ref=producttalk.org" rel="noreferrer">MacOS</a>&apos;s built-in scheduler (via <a href="https://medium.com/@durgaviswanadh/understanding-macos-launchagents-and-login-items-a-clear-practical-guide-5c0e39e3a6b3?ref=producttalk.org" rel="noreferrer">LaunchAgents</a>). This is like <a href="https://en.wikipedia.org/wiki/Cron?ref=producttalk.org" rel="noreferrer">cron</a>, but runs with all your user permissions on Mac. That means I can run all of this under my Claude Code Max subscription or my <a href="https://chatgpt.com/?ref=producttalk.org" rel="noreferrer">ChatGPT</a>/<a href="https://openai.com/codex/?ref=producttalk.org" rel="noreferrer">Codex</a> subscription.  </li><li>Tasks - each agent has a folder of tasks. A task is a markdown file with frontmatter.</li><li>Scripts - each agent has its own scripts folder that includes utilities that it can either run (as needed) or that run on a schedule.</li></ol><p>Agent identity, tasks, and scripts are saved in <a href="https://obsidian.md/?ref=producttalk.org" rel="noreferrer">Obsidian</a>&#x2014;not Claude Code skills or agents. The scheduler runs on my always-on Mac Mini. The benefit of this is it just works across all of my devices and I can seamlessly switch between Claude Code, Codex&#x2014;or any other coding CLI&#x2014;as I need to. All it takes is updating my script that the scheduler uses.</p><p>In the rest of this article, I&apos;ll walk through each of these four components in detail. And you&apos;ll get step-by-step instructions for how to set this up yourself.</p><p>Product Talk is a reader-supported publication. The rest of this article is for paid subscribers. If you haven&apos;t already, subscribe to get full access.</p>]]></content:encoded></item><item><title><![CDATA[AI Engineering - All Things Product Podcast with Teresa Torres & Petra Wille]]></title><description><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/A3FPpx8WorM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="AI Engineering - All Things Product with Teresa &amp; Petra"></iframe></figure><p>Listen to this episode on: <a href="https://open.spotify.com/episode/3QhU0Fa30KtYtO9NDLLB2w?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/us/podcast/ai-engineering/id1794203808?i=1000768498877&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>What happens when a product leader accidentally becomes an AI engineer? In this episode, Teresa Torres shares how she went from occasional tinkerer to spending 60% of her time doing real engineering work &#x2014; building AI-powered tools for continuous discovery, forming</p>]]></description><link>https://www.producttalk.org/ai-engineering-all-things-product-podcast-with-teresa-torres-petra-wille/</link><guid isPermaLink="false">69e986b433e8d10001e304a8</guid><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Tue, 19 May 2026 13:00:31 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/04/ai-engineering-atp.webp" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/A3FPpx8WorM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="AI Engineering - All Things Product with Teresa &amp; Petra"></iframe></figure><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/04/ai-engineering-atp.webp" alt="AI Engineering - All Things Product Podcast with Teresa Torres &amp; Petra Wille"><p>Listen to this episode on: <a href="https://open.spotify.com/episode/3QhU0Fa30KtYtO9NDLLB2w?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/us/podcast/ai-engineering/id1794203808?i=1000768498877&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>What happens when a product leader accidentally becomes an AI engineer? In this episode, Teresa Torres shares how she went from occasional tinkerer to spending 60% of her time doing real engineering work &#x2014; building AI-powered tools for continuous discovery, forming a licensing partnership with Vistaly, and quietly constructing &quot;Teresa Bot,&quot; an AI discovery coach trained on everything she&apos;s ever written.</p><p>Teresa and Petra dig into what AI engineering actually looks like in practice: context engineering, prompt writing, RAG, observability, evals, and why Teresa thinks product managers who want to do great discovery might secretly be data scientists at heart. They also bust the myth that you need a strong engineering background to build in this space &#x2014; and make the case that the most important skill right now isn&apos;t coding. It&apos;s being willing to learn.</p><p><strong>Topics Covered</strong></p><ul><li>Teresa&apos;s accidental path into AI engineering</li><li>Her partnership with Vistaly</li><li>Building &quot;Teresa Bot&quot;</li><li>How she learned &#x2014; and how you can too</li><li>Discovery skills transfer directly to AI engineering</li><li>On her engineering background (and why it&apos;s not what you think)</li><li>The real takeaway</li></ul><p><strong>Key Quotes</strong><br><br>&quot;I know anything that I don&apos;t know how to do, Claude will teach me how to do. And Claude is infinitely patient.&quot; &#x2014; Teresa Torres</p><p>&quot;I don&apos;t want to build all that stuff. I don&apos;t really want to be a software company. I&apos;m almost set up like an AI researcher.&quot; &#x2014; Teresa Torres</p><p>&quot;The moment I learned more about data science, all of my discovery work became so different.&quot; &#x2014; Petra Wille</p><p><strong>Resources &amp; Links:</strong></p><ul><li>Follow Teresa Torres: <a href="https://producttalk.org/?ref=producttalk.org">https://ProductTalk.org</a></li><li>Follow Petra Wille: <a href="https://petra-wille.com/?ref=producttalk.org">https://Petra-Wille.com</a></li></ul><p><strong>Mentioned in this episode:</strong></p><ul><li><a href="https://www.producttalk.org/customer-interview-coach/"><em>Behind the Scenes: Building the Product Talk Interview Coach</em></a> blog by Teresa</li><li><a href="https://www.claude.com/product/claude-code?ref=producttalk.org">Claude Code</a></li><li><a href="https://vistaly.com/?ref=producttalk.org">Vistaly</a>, an opportunity solution tree software partnering with Teresa</li><li><a href="https://www.producttalk.org/opportunity-solution-trees/"><em>Opportunity Solution Trees: Visualize Your Discovery to Stay Aligned and Drive Outcomes</em></a> by Teresa</li><li><a href="https://learn.producttalk.org/?ref=producttalk.org">Product Talk Academy</a> by Teresa</li><li><a href="https://www.producttalk.org/just-now-possible/">Just Now Possible Podcast</a> by Teresa, which is a podcast on teams building AI products</li><li><a href="https://www.producttalk.org/vibe-coding-best-practices/"><em>Vibe Coding Best Practices: Avoid the Doom Loop with Planning and Code Reviews</em></a> blog by Teresa which includes the full Claude conversation used to build Teresa Bot</li><li><a href="https://maven.com/parlance-labs/evals?promoCode=torres-35&amp;ref=producttalk.org">AI Evals for Engineers and PMs course</a> by Hamel Husain and Shreya Shankar (get 35% off through Teresa&#x2019;s link) on <a href="https://maven.com/?ref=producttalk.org">Maven</a></li><li><a href="https://www.producttalk.org/product-catalog-cdh-membership/">CDH Membership</a> (includes Slack community access with Teresa and other continuous discovery practitioners)</li><li>Previous <a href="https://www.producttalk.org/all-things-product/">All Things Product</a> episode: <a href="https://www.producttalk.org/product-builder-myth-all-things-product-podcast-with-teresa-torres-petra-wille/" rel="noreferrer">Product Builder Myth</a></li></ul><p>Join the Conversation:</p><p>Have thoughts on this episode? Leave a comment below.</p><h2 id="full-transcript">Full Transcript </h2><p>Full transcripts are only available for paid subscribers.</p>]]></content:encoded></item><item><title><![CDATA[Upcoming Events - May 2026]]></title><description><![CDATA[<p>I have two events I want to share with you.</p><p>We will be doing another round of <strong>Claude Code: Show and Tell on May 26th at 9am PDT.</strong> These events are super fun. We take turns sharing our favorite Claude Code workflows with each other. Invites will go out to</p>]]></description><link>https://www.producttalk.org/upcoming-events-may-2026/</link><guid isPermaLink="false">6a0b81188bec2600013385fd</guid><category><![CDATA[Upcoming Events]]></category><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Mon, 18 May 2026 21:16:16 GMT</pubDate><content:encoded><![CDATA[<p>I have two events I want to share with you.</p><p>We will be doing another round of <strong>Claude Code: Show and Tell on May 26th at 9am PDT.</strong> These events are super fun. We take turns sharing our favorite Claude Code workflows with each other. Invites will go out to Supporting Members and CDH Members tomorrow. If you&apos;d like to join us, keep an eye on your inbox for the invite. </p><p>I also want to share that I&apos;ll be teaching our <strong>June 4th - July 9th cohort of Product Discovery Fundamentals.</strong> This is the <strong>last</strong> time I&apos;ll be teaching this cohort in its current format. If you&apos;ve been thinking of enrolling in this program, and want to take it with me, this is your last chance. <a href="https://learn.producttalk.org/cdh-master-class?ref=producttalk.org" rel="noreferrer">Register here</a>.</p><p>Teresa</p>]]></content:encoded></item><item><title><![CDATA[Building Rhea's Factory: How AI-Designed Enzymes Could Finally Solve Plastic Recycling]]></title><description><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/huFaei-6Z4g?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Building Rhea&apos;s Factory: How AI-Designed Enzymes Could Finally Solve Plastic Recycling"></iframe></figure><p>Listen to this episode on: <a href="https://open.spotify.com/episode/1YYgnYJlR1kuAly6xQXG5I?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/us/podcast/building-rheas-factory-how-ai-designed-enzymes-could/id1838832993?i=1000767719610&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>Only 10% of the plastic we manufacture gets recycled. We&apos;ve been trying to solve this for a hundred years using the same mechanical and chemical tools that created the problem. What if biology&#x2014;specifically, engineered enzymes&#x2014;is the</p>]]></description><link>https://www.producttalk.org/building-rheas-factory-how-ai-designed-enzymes-could-finally-solve-plastic-recycling/</link><guid isPermaLink="false">6a03136c99deaa0001c04039</guid><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Thu, 14 May 2026 13:00:27 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/Rhea-s-Factory-cover-art.webp" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/huFaei-6Z4g?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Building Rhea&apos;s Factory: How AI-Designed Enzymes Could Finally Solve Plastic Recycling"></iframe></figure><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/Rhea-s-Factory-cover-art.webp" alt="Building Rhea&apos;s Factory: How AI-Designed Enzymes Could Finally Solve Plastic Recycling"><p>Listen to this episode on: <a href="https://open.spotify.com/episode/1YYgnYJlR1kuAly6xQXG5I?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/us/podcast/building-rheas-factory-how-ai-designed-enzymes-could/id1838832993?i=1000767719610&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>Only 10% of the plastic we manufacture gets recycled. We&apos;ve been trying to solve this for a hundred years using the same mechanical and chemical tools that created the problem. What if biology&#x2014;specifically, engineered enzymes&#x2014;is the missing piece?</p><p>In this episode of&#xA0;<em>Just Now Possible</em>, Teresa Torres talks with Arzu Sand&#x131;k&#xE7;&#x131; (co-founder and CEO) and Mert Topcu (co-founder) of Rhea&apos;s Factory, a startup using engineered enzymes and AI to achieve what mechanical recycling can&apos;t: breaking plastic all the way back to its original molecular building blocks.</p><p>Arzu brings a background in molecular biology and enzyme engineering. Mert brings 20 years in tech, including a decade at Google as a product manager. Together, they&apos;ve built an AI platform that uses protein language models, multi-step agentic pipelines, and proprietary wet lab data to design novel enzymes that deconstruct plastic polymers into their original monomers&#x2014;selectively, at low temperatures, and at industrial scale.</p><p>You&apos;ll hear how they evolved from a human-orchestrated pipeline to an agentic AI scientist, why they sometimes&#xA0;<em>want</em>&#xA0;the model to hallucinate, and what it means to explore an enzyme design space that makes everything nature has ever evolved look like a tiny dot.</p><h2 id="show-notes">Show Notes</h2><h3 id="guests"><strong>Guests</strong></h3><ul><li>Arzu Sand&#x131;k&#xE7;&#x131;, Co-founder &amp; CEO, Rhea&apos;s Factory</li><li>Mert Topcu, Co-founder, Rhea&apos;s Factory</li></ul><h3 id="in-this-episode"><strong>In this episode:</strong></h3><ul><li>Why only 10% of plastic gets recycled&#x2014;and why mechanical and chemical methods hit a ceiling</li><li>How enzymatic recycling breaks plastic all the way back to its original monomers, unlike traditional methods that just shorten polymer chains</li><li>Why enzymes are selective: they can target specific plastic types even in mixed waste streams</li><li>The discovery of a plastic-eating bacteria in Japan that opened the door to enzymatic recycling</li><li>How AlphaFold and the Nobel Prize in Chemistry transformed what&apos;s possible in enzyme engineering</li><li>How Rhea&apos;s Factory uses protein language models (PLMs) and multi-step AI pipelines to design novel enzymes computationally</li><li>The evolution from a human-orchestrated pipeline to an agentic AI scientist</li><li>How guardrails at each pipeline step keep the AI pointed in the right direction without limiting exploration</li><li>Why wet lab data&#x2014;even just hundreds of proprietary data points&#x2014;can be enough to train a powerful domain-specific prediction model</li><li>Why Mert sometimes&#xA0;<em>wants</em>&#xA0;the model to hallucinate (and how high temperature settings help explore the full enzyme design space)</li><li>The business constraint: enzymatic recycling must compete economically with cheap, oil-based plastic production</li><li>What&apos;s next: a process agent, a 5,000-ton demo plant in California, and enzymes for new plastic types</li></ul><h3 id="resources-links"><strong>Resources &amp; Links</strong></h3><ul><li><a href="https://rheasfactory.com/?ref=producttalk.org" rel="noopener nofollow">Rhea&apos;s Factory</a>&#xA0;&#x2014; Enzymatic plastic recycling technology</li><li><a href="https://alphafold.ebi.ac.uk/?ref=producttalk.org" rel="noopener nofollow">AlphaFold</a>&#xA0;&#x2014; DeepMind&apos;s AI system for protein structure prediction (inspiration for the Nobel Prize in Chemistry)</li><li><a href="https://maven.com/parlance-labs/evals?promoCode=torres-35&amp;ref=producttalk.org" rel="noopener nofollow">Maven AI Evals Course</a>&#xA0;&#x2014; The course Teresa took to learn about evals (35% off with Teresa&apos;s affiliate link)</li></ul><h3 id="chapters">Chapters</h3><p>00:00 Meet the Founders<br>01:50 Why Plastic Circularity<br>03:19 Mechanical vs True Recycling<br>04:52 Biology as the New Tool<br>07:20 Necklace and Pearls Analogy<br>13:22 Low Energy Reactor Process<br>17:33 Origin Story and PET Enzyme<br>22:52 Protein Folding and AlphaFold<br>28:32 AI Designed Enzymes<br>34:28 Protein Language Models Stack<br>37:14 Multi Step Protein Generation<br>39:00 Building on Foundation Models<br>40:50 Lab First Success Metrics<br>43:10 From Human to Agentic Orchestration<br>43:59 Problem Statements as Inputs<br>46:18 Guardrails at Every Stage<br>47:48 Prediction Models and Data Limits<br>50:03 Industrial Reality and Cost<br>52:30 Agentic Parallels and Orchestrators<br>57:45 Impact on Timelines and Diversity<br>01:03:23 When Hallucination Helps<br>01:04:09 Scaling Up and Process Agents<br>01:06:56 Enzyme Blends for Mixed Plastics<br>01:07:49 Why Clamshells Aren&apos;t Recyclable<br>01:09:34 Closing Thoughts and Thanks</p><h2 id="full-transcript">Full Transcript</h2><p>Podcast transcripts are only available to paid subscribers.</p>]]></content:encoded></item><item><title><![CDATA[Behind the Scenes: Building AI-Generated Opportunity Solution Trees]]></title><description><![CDATA[<p><a href="#audio-version" rel="noreferrer">Audio Version ($)</a></p><p>I just finished an all-out engineering sprint. That sounds weird to me.</p><p>I&apos;ve been writing code on and off for several years. But I wouldn&apos;t call myself an engineer. I&apos;m a product manager. And I used to be a designer. It&</p>]]></description><link>https://www.producttalk.org/behind-the-scenes-ai-osts/</link><guid isPermaLink="false">6a037a47812f3100012980a9</guid><category><![CDATA[Generative AI]]></category><category><![CDATA[Opportunity Solution Tree]]></category><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Wed, 13 May 2026 13:00:39 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/prototype-to-production.webp" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/prototype-to-production.webp" alt="Behind the Scenes: Building AI-Generated Opportunity Solution Trees"><p><a href="#audio-version" rel="noreferrer">Audio Version ($)</a></p><p>I just finished an all-out engineering sprint. That sounds weird to me.</p><p>I&apos;ve been writing code on and off for several years. But I wouldn&apos;t call myself an engineer. I&apos;m a product manager. And I used to be a designer. It&apos;s been a long time since I&apos;ve written code for a living.</p><p>But AI is changing what&apos;s just now possible. Not just for the products we build. But also for us. We can do more than we might have ever imagined. That&apos;s certainly been my experience.</p><p>Today, I want to share an engineering story with you. There will be some technical bits. Some of it might feel foreign to you. But I want you to know I had no idea how to do any of this a year ago. I learned it with the help of AI. My goal in sharing my engineering stories is to show you what&apos;s just now possible.</p><h2 id="creating-ai-generated-opportunity-solution-trees">Creating AI-Generated Opportunity Solution Trees</h2><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/Opportunity-Solution-Tree.webp" class="kg-image" alt="Behind the Scenes: Building AI-Generated Opportunity Solution Trees" loading="lazy" width="2000" height="1457" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/05/Opportunity-Solution-Tree.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w1000/2026/05/Opportunity-Solution-Tree.webp 1000w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w1600/2026/05/Opportunity-Solution-Tree.webp 1600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w2400/2026/05/Opportunity-Solution-Tree.webp 2400w" sizes="(min-width: 720px) 720px"></figure><p>In mid-February, I <a href="https://www.producttalk.org/ai-opportunity-solution-trees/" rel="noreferrer">announced</a> that I was building two services for <a href="https://vistaly.com/?ref=producttalk.org" rel="noreferrer">Vistaly</a>&#x2014;AI-generated <a href="https://www.producttalk.org/interview-snapshot/" rel="noreferrer">interview snapshots</a> and AI-generated <a href="https://www.producttalk.org/opportunity-solution-trees/" rel="noreferrer">opportunity solution trees</a>. We both made a call for alpha partners. We got over 100 applicants before we closed the round. We selected eight to be our initial design partners.</p><p>Each team uploaded three <a href="https://www.producttalk.org/customer-interviews/" rel="noreferrer">customer interviews</a>. We identified key moments and opportunities from each, then generated an opportunity solution tree from those three snapshots. I&apos;m providing the AI services. Vistaly is building the snazzy UI and workflows around it.</p><p>Our initial feedback was strong. Teams started to ask us to let them upload more interviews. But we both had work to do to support this.</p><h2 id="integrating-new-interviews-into-an-ai-generated-opportunity-solution-tree">Integrating New Interviews into an AI-Generated Opportunity Solution Tree</h2><p>Updating an <a href="https://www.producttalk.org/opportunity-solution-trees/" rel="noreferrer">opportunity solution tree</a> with new interview content is a much harder challenge than generating a new opportunity solution tree from scratch. I initially underestimated the complexity.</p><p><a href="https://vistaly.com/?ref=producttalk.org" rel="noreferrer">Vistaly</a> and I both have a shared goal. We don&apos;t want to produce AI-generated opportunity solution trees and have you take them as fact. We want you to engage with them, correct them, collaborate with the AI. We want to scaffold cross-interview synthesis, not do it for you.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/OST-diff.webp" class="kg-image" alt="Behind the Scenes: Building AI-Generated Opportunity Solution Trees" loading="lazy" width="2000" height="626" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/05/OST-diff.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w1000/2026/05/OST-diff.webp 1000w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w1600/2026/05/OST-diff.webp 1600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/OST-diff.webp 2090w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">This Vistaly screenshot shows two opportunities being merged together. One child moves in the merge and one is deleted. Our goal is to clearly communicate each change, so the team can accept, modify, or reject the suggested changes.</span></figcaption></figure><p>To support this, we needed a way to communicate how your tree would change after you uploaded new interviews. We took inspiration from <a href="https://www.cloudbees.com/blog/git-diff-a-complete-comparison-tutorial-for-git?ref=producttalk.org" rel="noreferrer">git diff</a> and decided we needed the equivalent for opportunity solution trees. If you aren&apos;t familiar with git diff, it&apos;s how git&#x2014;the most common version control software for coding&#x2014;shows you what has changed in a file. It walks you through each change one step at a time.</p><p>While this was absolutely the right decision to make, I had no idea how much work it would create for me. It wasn&apos;t enough for my service to generate an updated opportunity solution tree with the content from the new interviews. It also had to provide a step-by-step walkthrough of what changed.</p><h2 id="the-prototype-only-represents-20-of-the-work">The Prototype Only Represents 20% of the Work</h2><p>One of the themes that I hear often on my podcast <a href="https://producttalk.org/just-now-possible?ref=producttalk.org" rel="noreferrer"><em>Just Now Possible</em></a> is that it&apos;s fairly easy to get to an impressive prototype with AI, but that it&apos;s much harder to get to a real production-quality product. This was exactly my experience.</p><p>My opportunity solution tree service is comprised of two sub-services: 1) generate a new tree from scratch and 2) update an existing tree based on new interviews.</p><p>The first service was part of our initial alpha and was working well. The second service had to be built from scratch before any of our design partners could add a fourth interview.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/no-data-loss.webp" class="kg-image" alt="Behind the Scenes: Building AI-Generated Opportunity Solution Trees" loading="lazy" width="615" height="389" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/05/no-data-loss.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/no-data-loss.webp 615w"><figcaption><span style="white-space: pre-wrap;">Each tree opportunity has source opportunities and children that can&apos;t be lost when an opportunity is split, merged, or deleted.</span></figcaption></figure><p>On the surface, these don&apos;t seem that different, but they are. When you are updating a tree, you want to preserve as much of the existing structure as you can&#x2014;unless the new content really warrants a structural change. You have to account for compound operations like merges, splits, and deletes. And you need to make sure you don&apos;t lose any data. On the data front, each node in the tree has both source opportunities&#x2014;interview opportunities that provide supporting evidence for the tree opportunity&#x2014;and children&#x2014;tree sub-opportunities.</p><p>But like with many AI products, I was pleasantly surprised when I got something working reasonably well in just a few days. I shipped it and our design partners started playing with it.</p><p>One design partner hit our beta limits quickly and asked if they could convert to a paid subscription so that they could get full access. We were thrilled. They showed a <a href="https://www.producttalk.org/willingness-to-pay/" rel="noreferrer">willingness to pay</a>, converted, and immediately started uploading more interviews.</p><p>However, once they hit the 14th, 15th, and 16th uploads, my initial service design started to show some cracks. We started to see some odd behavior.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/tree-change-sets.webp" class="kg-image" alt="Behind the Scenes: Building AI-Generated Opportunity Solution Trees" loading="lazy" width="671" height="359" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/05/tree-change-sets.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/tree-change-sets.webp 671w"><figcaption><span style="white-space: pre-wrap;">The AI service returns both an updated tree and a change set with step-by-step instructions for how to generate the output tree.</span></figcaption></figure><p>The <a href="https://vistaly.com/?ref=producttalk.org" rel="noreferrer">Vistaly</a> team noticed that the change sets&#x2014;the step-by-step instructions emitted by my service&#x2014;weren&apos;t always generating the final tree emitted by my service. Remember, we wanted to be able to walk the customer step-by-step through what changed. So my service returned both the step-by-step instructions (the change sets) and the final tree.</p><p>The intent was that Vistaly could start with the current version of the team&apos;s tree, apply the change set in the order I provided, and end up with the updated tree that my service emitted. But sometimes the tree that the change set generated was different from the tree that the service outputted.</p><p>Vistaly flagged this as a bug on the day I was flying to New Orleans for <a href="https://www.nojazzfest.com/?ref=producttalk.org" rel="noreferrer">Jazz Fest</a>. Looking back, I&apos;m glad I had no idea what was waiting for me when I got home. I had about 80% of the work still left to do to make updating an opportunity solution tree a truly rock-solid product. Thankfully, I got to enjoy Jazz Fest first.</p><h2 id="uncovering-the-full-scope-of-the-problem">Uncovering the Full Scope of the Problem</h2><p>When I got home, I started to diagnose the problem and I was quickly overwhelmed. My service was a pipeline that combined LLM steps with deterministic code. </p><p>At a high level, here&apos;s how it worked: I had deconstructed updating an opportunity into a series of steps that could be done by an LLM. After those steps completed, deterministic code compared the output tree to the input tree and generated the change sets.</p><p>As I started to dig into the bugs, I realized this was not a good approach. Tree diffs, unlike linear document diffs, are ambiguous.</p><p>If I&apos;m editing a document and I add a sentence, the diff is simple. It shows that a sentence was added. If I delete a paragraph and rewrite it, the diff shows the removal of the old paragraph and the addition of a new paragraph.</p><p>But if I split an opportunity A into two opportunities, A and B, and then later I merge B with C, the first move is hidden from the diff. </p><p>Let me walk you through why.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/split-a-into-a-and-b.webp" class="kg-image" alt="Behind the Scenes: Building AI-Generated Opportunity Solution Trees" loading="lazy" width="496" height="522"><figcaption><span style="white-space: pre-wrap;">When A is split into A and B, A&apos;s source opportunities and children need to be distributed between A and B.</span></figcaption></figure><p>If the model decides to split an opportunity into two different opportunities, it has to figure out how to divide the original opportunity&apos;s source opportunities (the supporting evidence) and its children (the sub-opportunities) across the two resulting opportunities. </p><p>For example, if we have opportunity A and we want to split it into A and B, we have to figure out which source opportunities and children belong on A and which belong on B.</p><p>Suppose A has source opportunities 1, 2, 3 and children x, y, z. After the split, we might end up with A having source opportunities 1 and 2 and child x and B having source opportunity 3 and children y and z. When the model decides to split an opportunity it has to distribute the source opportunities and children appropriately.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/merge-b-with-c.webp" class="kg-image" alt="Behind the Scenes: Building AI-Generated Opportunity Solution Trees" loading="lazy" width="712" height="549" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/05/merge-b-with-c.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/merge-b-with-c.webp 712w"><figcaption><span style="white-space: pre-wrap;">When B merges with C, C gets all of B&apos;s source opportunities and children.</span></figcaption></figure><p>Now suppose the model decides to merge B with C. When two opportunities are merged, we have to combine all of the source opportunities and children. Remember, B has source opportunity 3 and children y and z. If C has source opportunities 4 and 5 and children t, u, and v, then after the merge C will have source opportunities 3, 4, and 5 and children t, u, v, y, and z.</p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/input-tree.webp" width="790" height="306" loading="lazy" alt="Behind the Scenes: Building AI-Generated Opportunity Solution Trees" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/05/input-tree.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/input-tree.webp 790w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/output-tree.webp" width="826" height="337" loading="lazy" alt="Behind the Scenes: Building AI-Generated Opportunity Solution Trees" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/05/output-tree.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/output-tree.webp 826w" sizes="(min-width: 720px) 720px"></div></div></div><figcaption><p><span style="white-space: pre-wrap;">When we compare the input tree to the output tree, it looks like some of A&apos;s source opportunities and children move to C, but we don&apos;t know why. The split and the merge aren&apos;t visible to the diff.</span></p></figcaption></figure><p>At the end, when we do a diff between our input tree and our output tree, we can&apos;t see both the split and the merge. Our input tree had A with source opportunities 1, 2, 3 and children x, y, and z and C with opportunities 4 and 5 with children t, u, and v.</p><p>Our output tree has A with source opportunities 1 and 2 and child x and C with source opportunities 3, 4, and 5 and children t, u, v, y, and z. It looks to our diff like some of A&apos;s sources and children moved from A to C. But we don&apos;t know why. The split and the merge conceptually explain what happened, but those moves are invisible to the diff.</p><p>This is when I realized tree diffs were much harder than linear text diffs. We weren&apos;t just trying to show the user <em>what</em> changed. We wanted to show the user <em>why</em> it changed so they could weigh in. I needed a way to reconstruct each move&#x2014;step by step. </p><p>That meant I had to get the model to show its work. And that opened a whole new can of worms.</p><h2 id="asking-the-model-to-show-its-work">Asking the Model to Show Its Work</h2><p>I decided to refactor all of my prompts to have the model generate both the final output and the step-by-step moves it took to get there.</p><p>My prompts already told the model what actions were possible: add, delete, reframe, merge, split, etc. But these were just guidelines. The model could do whatever it wanted to produce the final tree.</p><p>But now, I needed it to show its work. And I needed it to show its work in the language of our change sets&#x2014;specific moves that we predefined that make sense to our end user. In other words, split A into A and B and then merge B into C has much more semantic meaning than simply saying move some of A&apos;s sources and children to C arbitrarily.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/tree-change-sets-1.webp" class="kg-image" alt="Behind the Scenes: Building AI-Generated Opportunity Solution Trees" loading="lazy" width="671" height="359" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/05/tree-change-sets-1.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/tree-change-sets-1.webp 671w"><figcaption><span style="white-space: pre-wrap;">The output tree is the model&apos;s recommendation and the change set is the steps it took to get there.</span></figcaption></figure><p>For each LLM step, the model had to output its recommendation and the change set it used to generate the output. This worked fairly well. But, of course, the model made mistakes.</p><p>After a lot of testing and error analysis, I uncovered two categories of errors:</p><ol><li>The model tried to make a move that was not valid.</li><li>The model had a discrepancy between the change set and the recommendation. (In other words, the change set didn&apos;t generate the recommendation.)</li></ol><p>Category 1 was interesting. It felt like I was designing a game and the model was a very creative player. It kept finding ways to break my game. For each of these errors, I had to decide if this move should be allowed and if so, how the model should represent that move using our actions. If the move shouldn&apos;t be allowed, I had to let the model know.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/merging-parent-and-child.webp" class="kg-image" alt="Behind the Scenes: Building AI-Generated Opportunity Solution Trees" loading="lazy" width="859" height="565" srcset="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/size/w600/2026/05/merging-parent-and-child.webp 600w, https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/merging-parent-and-child.webp 859w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Merging B into A works. The parent absorbs the child. But merging A into B leaves three orphaned children.</span></figcaption></figure><p>For example, the model tried to merge a parent with a child. This was a problem. Suppose opportunity A has children B, C, and D. If the model tries to merge A with B, what should happen? </p><p>A merge is directional. The model has to define which of the two to keep and which to delete. </p><p>If it defines the merge as keep A and delete B, the merge is allowed. </p><p>But if it defines the merge as keep B and delete A, what happens to B, C, and D? They no longer have a parent and are now orphaned. </p><p>These were fun errors to resolve. It was like solving little puzzles.</p><p>Category 2 was much harder. I had to go through several iterations of prompt design to nudge the model toward better output. </p><p>I was able to reduce these errors to about 1 in 40 instances. But each service run has 10&#x2013;20 LLM calls, so that meant I was hitting this error in about 50% of service runs. Clearly, not good enough for a production product.</p><p>At some point, I hit a wall and couldn&apos;t reduce this error rate any further. I felt stuck. And worried. We had a paying customer waiting for my fix. And several more design partners eager to try it out.</p><h2 id="trying-to-correct-the-models-mistakes-in-code">Trying to Correct the Model&apos;s Mistakes in Code</h2><p>I initially tried to correct the model&apos;s mistakes with deterministic code. I had committed to <a href="https://vistaly.com/?ref=producttalk.org" rel="noreferrer">Vistaly</a> that my change sets would generate the output tree, so I needed code that verified this.</p><p>After the model generated a change set, I ran a number of quality checks on it. Were there any conflicts in the change set? A conflict might be the model deleted a tree node in one step and then later tried to use it in a merge in a subsequent step. Was there any potential data loss&#x2014;were all of the source opportunities and children accounted for? Did the model orphan any tree nodes? And so on.</p><p>I thought, if I can detect these problems, maybe I can correct them. But to do that, I had to guess at what the model intended. </p><p>If the model had the following sequence in its change set&#x2014;delete A, then merge A with B&#x2014;what did it mean? Should I delete A or should I merge its source opportunities and children with B? </p><p>There were dozens of cases like this with no easy answers.</p><p>At this point, I was 11 days into working on this full time from the moment I woke up to the moment I went to sleep (including weekends). I don&apos;t say that as a humble brag. I hate hustle culture and this is not how I designed my life. I share this because I want you to understand the context. I was stuck and I was exhausted. And then I had an insight.</p><h2 id="let-the-model-correct-its-own-mistakes">Let the Model Correct Its Own Mistakes</h2><p>I was walking my dog with my husband. He is also an engineer and he had been hearing about my ups and downs over the past several days. As I explained my stubborn failure mode to him, I had an insight. I realized I could have the LLM repair its own mistakes.</p><p>My data contract with <a href="https://vistaly.com/?ref=producttalk.org" rel="noreferrer">Vistaly</a> requires that my change set generates the output tree. This was the core bug. This wasn&apos;t happening 100% of the time. Over the previous week, I had written a lot of code to validate change sets. </p><p>I now knew exactly when a change set generated the wrong tree. But no matter how much prompt engineering I did, I couldn&apos;t reduce the error rate.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/repair-loop-1.webp" class="kg-image" alt="Behind the Scenes: Building AI-Generated Opportunity Solution Trees" loading="lazy" width="595" height="506"><figcaption><span style="white-space: pre-wrap;">I created a simple agentic loop. The agent generated a change set, called the validation tool, and if the validation passed, the loop exited. If it didn&apos;t, the results were sent back to the model to correct.</span></figcaption></figure><p>My core insight was that I could use this same validation code as a tool for the agent. The agent could generate the change set, call the tool, and then get the results. If the change set was invalid, the agent would get instructions on what needed to be fixed. The agent would continue to work until the validation passed.</p><p>This was a simple idea. But could I get it to work? And more importantly, could I get it to work without blowing through a ton of compute?</p><p>I started by prototyping a solution. I wrote a simple Node.js script that made one LLM call, got the result, ran it through my verifier, and then sent the feedback to the LLM for corrections.</p><p>Initially, it didn&apos;t work at all. The model just kept introducing more mistakes. The loop never converged to a valid solution. It just racked up compute. </p><p>But I kept trying. I experimented with how to communicate the errors to the LLM. I experimented with how much context to give it about the larger problem. And eventually, I got it to work. The model was fixing its own mistakes and returning a valid change set after one or two repairs.</p><p>I was thrilled. But I still had to turn it into something I could run in production. And that&apos;s when I remembered: I had already built an agent loop utility to support my AI interviewer.</p><p>Here&apos;s what my final production implementation looks like. I have a pretty standard agent loop. It starts with a model call. The model can output a tool request. The loop runs the tool and sends the tool result back to the agent. It iterates until the tool (my validation code) returns a success signal or until we hit the max turns that I set in my code.</p><p>The initial model call is the tree-building task. The tool call runs my validation code. If the change set passes validation, the tool emits a success signal and the loop exits. If the change set fails validation, the tool returns simple instructions for the model to fix the errors. The model attempts to fix the errors and calls the validation tool again. My insight led to a feasible solution.</p><p>Errors are still theoretically possible. The repair loop can fail and hit max turns. But I haven&apos;t seen it in all of my testing. The agent typically fixes the bad change set in one to two turns.</p><p>I had that insight last Thursday. I worked through the weekend to prototype it, test it, and validate that it could work. I then built a production-quality version and integrated it into my pipeline. I shipped my completely revamped service to <a href="https://vistaly.com/?ref=producttalk.org" rel="noreferrer">Vistaly</a> on Monday at noon. They are working on integrating it and it will be available to our design partners shortly. </p><p>I was relieved. And ready for a day off.</p><h2 id="some-reflections-on-the-whole-process">Some Reflections on the Whole Process</h2><p>The last two weeks were intense. But I learned a lot and I mostly enjoyed the process. I want to share some key reflections with you.</p><ul><li>I have a lot of limiting beliefs around being an engineer. I shed a lot of those beliefs over the last two weeks. To make this work well and to make it work reliably, I had to solve some legitimately hard problems. That feels good.</li><li>This work was genuinely fun. I loved the puzzle part of designing an action set and then seeing how the model pushed that design beyond its intended limits. Models are incredibly creative and it was fun to see what it would do with a fixed toolset.</li><li>I learned a lot about when I can and can&apos;t trust <a href="https://claude.ai/?ref=producttalk.org" rel="noreferrer">Claude</a> to write code for me. Since Opus 4.6 came out, I gave Claude a much longer leash. After the past two weeks, Claude is back on a short leash. I found a lot of gaps in my implementation in areas where I simply trusted that Claude got it right, when in fact it didn&apos;t. I know the foundation labs are claiming that the models write most of their code, but I&apos;m learning if you don&apos;t have the right infrastructure in place, this can be disastrous. I&apos;ll be investing much more in my planning, testing, and code-review tools over the next couple of weeks. And, of course, I&apos;ll share here as I do.</li><li>If this work was spread out over two months, it would have been thoroughly enjoyable. I&apos;m learning I really enjoy being an AI engineer. I was ready for a new chapter and I am even more confident this is it. It&apos;s fun to combine my past work&#x2014;opportunity solution trees&#x2014;with my new interests&#x2014;AI engineering.</li></ul><p>I&apos;m really excited to share the work <a href="https://vistaly.com/?ref=producttalk.org" rel="noreferrer">Vistaly</a> and I are doing together with more people. We&apos;ll be adding more design partners soon. You&apos;ll be the first to know when we do. In the meantime, <a href="https://vistaly.com/?ref=producttalk.org" rel="noreferrer">get on the waiting list</a>. </p><p>And finally, it&apos;s still surprising for me to look back at the last 15 months and see how much I&apos;ve learned and progressed in a whole new field. I have fully embraced what is just now possible. I hope by sharing my story, I inspire you to take the first small step toward what&apos;s just now possible for you.</p><h2 id="audio-version">Audio Version</h2><p>The audio version is only available for paid subscribers.</p>]]></content:encoded></item><item><title><![CDATA[Product Builder Myth - All Things Product Podcast with Teresa Torres & Petra Wille]]></title><description><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/Q7u_9LUtDkM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Product Builder Myth - All Things Product with Teresa &amp; Petra"></iframe></figure><p>Listen to this episode on: <a href="https://open.spotify.com/episode/6Xjf5L4o0PzKmqdZIrqvVS?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/kh/podcast/product-builder-myth/id1794203808?i=1000767315806&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>Is the &quot;product builder&quot; trend the future of product management&#x2014;or just the latest thing everyone thinks you should be doing?</p><p>In this episode, Petra Wille and Teresa Torres push back on the hype. They dig into whether product</p>]]></description><link>https://www.producttalk.org/product-builder-myth-all-things-product-podcast-with-teresa-torres-petra-wille/</link><guid isPermaLink="false">69dcd70fb055210001f07302</guid><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Tue, 12 May 2026 13:00:15 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/04/product-builder-myth-atp.webp" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/Q7u_9LUtDkM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Product Builder Myth - All Things Product with Teresa &amp; Petra"></iframe></figure><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/04/product-builder-myth-atp.webp" alt="Product Builder Myth - All Things Product Podcast with Teresa Torres &amp; Petra Wille"><p>Listen to this episode on: <a href="https://open.spotify.com/episode/6Xjf5L4o0PzKmqdZIrqvVS?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/kh/podcast/product-builder-myth/id1794203808?i=1000767315806&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>Is the &quot;product builder&quot; trend the future of product management&#x2014;or just the latest thing everyone thinks you should be doing?</p><p>In this episode, Petra Wille and Teresa Torres push back on the hype. They dig into whether product managers should be vibe coding, what actually determines if it works (spoiler: it&apos;s your org setup, not the tools), and why &quot;just because you can doesn&apos;t mean you should.&quot; They also break down the three distinct layers where AI is changing product work&#x2014;and why mixing them up causes chaos.</p><p>Whether you&apos;re a PM wondering if coding is now part of your job, or a product leader figuring out how to set your team up for success, this one cuts through the noise.</p><p><strong>Show Notes:</strong></p><ul><li>Why &quot;should product managers code?&quot; is the wrong question</li><li>Is it fun for you? Do you have enough experience to do it well? Two better questions to start with</li><li>What a well-set-up org looks like vs. one that&apos;s headed for chaos</li><li>The design system trap: why AI makes bad decisions look good on the surface</li><li>Output-oriented muscle memory: what teams do with time freed up by AI reveals where they really are</li><li>The three layers of AI&apos;s impact: personal productivity, team process, and product strategy &#x2014; and why they&apos;re different stacks</li><li>Why discovery still requires talking to your customers (sorry)</li><li>The real takeaway on product builders: not everyone has to build, but everyone can if they want to</li></ul><p><strong>Key Takeaways:</strong></p><ul><li>The product builder trend isn&apos;t a mandate &#x2014; it&apos;s a tool. Let enjoyment and skill guide who on your team leans into it.</li><li>AI can make unskilled work look polished. That&apos;s a feature and a bug &#x2014; executives see the shine, engineers inherit the mess.</li><li>Organizational readiness determines whether AI empowers your team or creates chaos. That&apos;s a leadership problem, not a tooling problem.</li><li>Don&apos;t conflate the three layers: personal efficiency, process change, and product impact require different responses.</li><li>Discovery fundamentals haven&apos;t changed. AI helps you go deeper, not skip the work.</li></ul><p><strong>Quotes:</strong><br><br>&quot;Just because I can do it &#x2014; is it something I enjoy doing? And do I have enough experience to really get into the flow?&quot; &#x2014; Petra</p><p>&quot;It&apos;s a tool in our toolbox. We can decide who on our team has fun with it, wants to do it, wants to contribute.&quot; &#x2014; Teresa</p><p><strong>Resources &amp; Links:</strong></p><ul><li>Follow Teresa Torres: <a href="https://producttalk.org/?ref=producttalk.org">https://ProductTalk.org</a></li><li>Follow Petra Wille: <a href="https://petra-wille.com/?ref=producttalk.org">https://Petra-Wille.com</a></li></ul><p><strong>Mentioned in this episode:</strong></p><ul><li><a href="https://www.claude.com/product/claude-code?ref=producttalk.org">Claude Code</a></li><li><a href="https://www.producttalk.org/vibe-coding-best-practices/">Vibe coding</a></li><li><a href="https://rubyonrails.org/?ref=producttalk.org">Ruby on Rails</a></li></ul><p>Join the Conversation:</p><p>Have thoughts on this episode? Leave a comment below.</p><h2 id="full-transcript">Full Transcript</h2><p>Full transcripts are only available for paid subscribers.</p>]]></content:encoded></item><item><title><![CDATA[Taste - All Things Product Podcast with Teresa Torres & Petra Wille]]></title><description><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/CqD7cX-mURQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Taste - All Things Product with Teresa &amp; Petra"></iframe></figure><p>Listen to this episode on: <a href="https://open.spotify.com/episode/7vAlx4GPSX9UZWVE6AtaGA?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/kh/podcast/taste/id1794203808?i=1000766162048&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>Is &quot;taste&quot; the must-have skill of the AI era &#x2014; or just the latest tech buzzword? In this episode, Petra Wille and Teresa Torres unpack the growing hype around taste as a differentiating human trait in a world where</p>]]></description><link>https://www.producttalk.org/taste-all-things-product-podcast-with-teresa-torres-petra-wille/</link><guid isPermaLink="false">69cf1765e51b3000015c482a</guid><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Tue, 05 May 2026 13:00:33 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/04/taste-atp.webp" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/CqD7cX-mURQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Taste - All Things Product with Teresa &amp; Petra"></iframe></figure><img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/04/taste-atp.webp" alt="Taste - All Things Product Podcast with Teresa Torres &amp; Petra Wille"><p>Listen to this episode on: <a href="https://open.spotify.com/episode/7vAlx4GPSX9UZWVE6AtaGA?ref=producttalk.org" rel="noreferrer">Spotify</a> | <a href="https://podcasts.apple.com/kh/podcast/taste/id1794203808?i=1000766162048&amp;ref=producttalk.org" rel="noreferrer">Apple Podcasts</a></p><p>Is &quot;taste&quot; the must-have skill of the AI era &#x2014; or just the latest tech buzzword? In this episode, Petra Wille and Teresa Torres unpack the growing hype around taste as a differentiating human trait in a world where AI is eating through design, delivery, and discovery. Teresa pushes back hard: taste is rarely defined, can&apos;t be easily taught, and risks becoming a cover story for &quot;my preference trumps yours.&quot; Petra adds nuance, acknowledging the real pattern-recognition that comes from years of product experience &#x2014; while questioning whether it&apos;s actually worth investing in. Together they trace the idea back to its roots: product sense, founder mode, and the enduring myth of the lone visionary. What they land on instead? Discovery skills, customer understanding, and learning to collaborate with AI &#x2014; because taste without evidence is just opinion.</p><p><strong>Show Notes</strong></p><ul><li>What Is &quot;Taste&quot; &#x2014; and Why Is Everyone Suddenly Talking About It?</li><li>The Problem with Defining Taste</li><li>Taste vs. Preference</li><li>Will AI Eat Taste Too?</li></ul><p><strong>So What Should You Actually Invest In?</strong></p><ul><li>Discovery skills &#x2014; understanding customers, matching solutions to real needs</li><li>Human-to-human interaction skills</li><li>Learning to collaborate with AI effectively</li><li>Critical thinking and judgment grounded in evidence</li></ul><p><strong>Key Quotes</strong><br><br>&quot;It&apos;s just this month&apos;s flavor of founder mode.&quot; &#x2014; Teresa Torres<br>&quot;It&apos;s not about your taste. It&apos;s about your customer&apos;s taste.&quot; &#x2014; Teresa Torres<br>&quot;I am a strong believer that you develop product sense and taste over time. It&apos;s never finished.&quot; &#x2014; Petra Wille<br></p><p><strong>Resources &amp; Links:</strong></p><ul><li>Follow Teresa Torres: <a href="https://producttalk.org/?ref=producttalk.org">https://ProductTalk.org</a></li><li>Follow Petra Wille: <a href="https://petra-wille.com/?ref=producttalk.org">https://Petra-Wille.com</a></li></ul><p><strong>Mentioned in this episode:</strong></p><ul><li><a href="https://en.wikipedia.org/wiki/Founder_mode?ref=producttalk.org">Founder mode</a></li><li><a href="https://vimeo.com/1101762800?fl=pl&amp;fe=sh&amp;ref=producttalk.org">Marty Cagan: Founder-Style Leadership</a></li><li><a href="https://www.linkedin.com/posts/lennyrachitsky_vercelv0-ceo-guillermo-rauch-on-building-activity-7317645135666638848-x1Zr?ref=producttalk.org">Vercel/v0 CEO Guillermo Rauch on building taste: from Lenny Rachitsky&#x2019;s Linkedin post</a></li><li>Continuous discovery (Read Teresa&#x2019;s <a href="https://www.producttalk.org/getting-started-with-discovery/"><em>Everyone Can Do Continuous Discovery&#x2014;Even You! Here&#x2019;s How</em></a></li><li><a href="https://en.wikipedia.org/wiki/Great_man_theory_?ref=producttalk.org">The &quot;great man&quot; theory</a></li><li><a href="https://en.wikipedia.org/wiki/Steve_Jobs?ref=producttalk.org">Steve Jobs</a> and the myth of the lone product visionary</li></ul><p>Join the Conversation:</p><p>Have thoughts on this episode? Leave a comment below.</p><h2 id="full-transcript">Full Transcript </h2><p>Full transcripts are only available for paid subscribers.</p>]]></content:encoded></item><item><title><![CDATA[Let's Read Continuous Discovery Habits Together (May 2026)]]></title><description><![CDATA[<p><a href="https://amzn.to/3hGkNYT?ref=producttalk.org" rel="noreferrer"><em>Continuous Discovery Habits</em> turns</a> five this year. And to celebrate we are reading the book together.</p><p>Each month, I am releasing an in-depth reading guide that includes:</p><ul><li>The chapters we will be reading</li><li>A preview of the most important concepts we&apos;ll be learning about</li><li>Short videos you</li></ul>]]></description><link>https://www.producttalk.org/cdh-book-club-april-2026-2/</link><guid isPermaLink="false">69f7d115cfd948000182dbbf</guid><category><![CDATA[CDH Book Club]]></category><dc:creator><![CDATA[Teresa Torres]]></dc:creator><pubDate>Mon, 04 May 2026 13:00:57 GMT</pubDate><media:content url="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/book_transparent_shadow--medium.png" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/images/2026/05/book_transparent_shadow--medium.png" alt="Let&apos;s Read Continuous Discovery Habits Together (May 2026)"><p><a href="https://amzn.to/3hGkNYT?ref=producttalk.org" rel="noreferrer"><em>Continuous Discovery Habits</em> turns</a> five this year. And to celebrate we are reading the book together.</p><p>Each month, I am releasing an in-depth reading guide that includes:</p><ul><li>The chapters we will be reading</li><li>A preview of the most important concepts we&apos;ll be learning about</li><li>Short videos you can share with friends and colleagues to help spread the ideas</li><li>Individual and team discussion questions to help you absorb and engage with the reading</li><li>Team exercises to help you put the ideas into practice</li><li>Additional reading to help you go deeper on the core ideas</li></ul><p>We&apos;ll be discussing each month&apos;s reading in the comment section and we&apos;ll gather quarterly to discuss on a live call.</p><p>Joining late? No problem. I monitor the comments on each reading guide throughout the year. Start with the current month or go back to January&#x2014;whatever works for you. You can ask for help, share what&apos;s working, and connect with other readers at any point.</p><p>If you want to participate, <a href="https://amzn.to/3hGkNYT?ref=producttalk.org">grab a copy of the book</a> (or dig up your old copy), share the &quot;Spread the Love&quot; videos, reserve some time to do the team exercises, and register for the community sessions. Let&apos;s do this!</p><h2 id="this-months-reading">This Month&apos;s Reading</h2><p><strong>Chapter:</strong> Chapter 6: Mapping the Opportunity Space</p><p>Estimated reading time: ~23 minutes</p><p>This month&apos;s chapter will introduce you to:</p><ul><li>Why opportunity mapping is critical for structuring the ill-structured problem of reaching your desired outcome</li><li>How to move from overwhelming opportunity backlogs to well-structured opportunity spaces</li><li>The power of tree structures for depicting parent-child and sibling relationships between opportunities</li><li>How to identify distinct branches in your opportunity space using key moments in time</li><li>Common anti-patterns to avoid when building your first opportunity solution tree</li><li>Why structure &quot;gets done, undone, and redone&quot; as you continue to learn</li></ul><p>Need a copy? <a href="https://amzn.to/3hGkNYT?ref=producttalk.org">Grab the book</a></p><h2 id="share-the-love-with-friends-and-colleagues">Share the Love with Friends and Colleagues</h2><p>We learn best in community. Use the following short videos to share the key concepts from this chapter with friends and colleagues. Invite them to participate in the book club with you.</p><ul><li><a href="https://videos.producttalk.org/videos/a79fd5be1c1ae9ca2e/the-need-for-opportunity-mapping?ref=producttalk.org" rel="noreferrer"><strong>The need for opportunity mapping</strong></a> - You will never fully satisfy your customers&apos; desires</li><li><a href="https://videos.producttalk.org/videos/d39fd5be1c1de7c75a/understanding-the-structure-of-an-opportunity-solution-tree?ref=producttalk.org" rel="noreferrer"><strong>Understanding the structure of an opportunity solution tree</strong></a> - Depicting two types of relationships</li><li><a href="https://videos.producttalk.org/videos/449fd5be1c1de7cccd/turn-big-intractable-problems-into-smaller-more-solvable-problems?ref=producttalk.org" rel="noreferrer"><strong>Turn big intractable problems into smaller, more solvable problems</strong></a> - The power of decomposition</li><li><a href="https://videos.producttalk.org/videos/709fd5be1f1ce3c6f9/how-to-map-an-opportunity-space?ref=producttalk.org" rel="noreferrer"><strong>How to map an opportunity space</strong></a> - Getting started with opportunity solution trees</li><li><a href="https://videos.producttalk.org/videos/709fd5bf1015e7c5f9/a-well-structured-opportunity-space-has-distinct-branches?ref=producttalk.org" rel="noreferrer"><strong>A well-structured opportunity space has distinct branches</strong></a> - Identify key moments in time</li></ul><h2 id="reflect-discuss-what-you-read">Reflect &amp; Discuss What You Read</h2><p>When we reflect and discuss what we read, we absorb more of the material. It helps us put what we learn into practice. Don&apos;t skip this step.</p><p>This chapter challenges us to shift from reacting to every customer need we hear to being systematic about structuring the opportunity space. Most of us have felt overwhelmed by the sheer volume of customer opportunities we could address. This month, focus on how your team currently organizes (or doesn&apos;t organize) the opportunities you hear from customers.</p><h3 id="individual-reflection">Individual Reflection</h3><ol><li>Think about your current product backlog or opportunity list. Is it a flat list, or do you have some structure to it? If you were to group similar opportunities together, what patterns would emerge?</li><li>When was the last time you heard a customer need and immediately jumped to a solution without exploring whether there were related opportunities? What would change if you took the time to map how that opportunity connects to others?</li><li>Review the anti-patterns from the chapter (opportunities framed from your company&apos;s perspective, vertical opportunities, opportunities with multiple parents, etc.). Which of these do you recognize in how your team currently talks about opportunities?</li></ol><h3 id="team-discussion">Team Discussion</h3><ol><li>As a team, pick a top-level opportunity you&apos;re currently working on. Try breaking it down into sub-opportunities together. Where do you struggle? Where do you disagree about how to frame or group opportunities? What does that tell you about gaps in your shared understanding?</li><li>Look at your experience map (from Chapter 4) and identify 3-5 distinct moments in time during your customer&apos;s experience. Could these become the top-level branches of your opportunity solution tree? Where do you see overlap, and where are there clear distinctions?</li><li>Discuss the quote from Barbara Tversky: &quot;Structure gets done, undone, and redone.&quot; How does your team currently respond when you discover new information that changes how you understand the opportunity space? Do you treat your opportunity map as fixed or as something that evolves?</li></ol><h2 id="put-it-into-practice">Put It Into Practice</h2><p>Understanding opportunity mapping is one thing. Actually building your first opportunity solution tree is where the real learning begins. These exercises will help you get hands-on experience with structuring the opportunity space.</p><h3 id="exercise-build-your-first-opportunity-solution-tree">Exercise: Build Your First Opportunity Solution Tree</h3><p><strong>Time:</strong> 60 minutes<br><strong>Do this:</strong> With your product trio</p><p>Start by reviewing your interview snapshots from the past few weeks. For each opportunity you captured, ask the three questions from the chapter:</p><ul><li>Is this opportunity framed as a customer need, pain point, or desire (not a solution)?</li><li>Is this opportunity unique to one customer, or have we seen it in more than one interview?</li><li>If we address this opportunity, will it drive our desired outcome?</li></ul><p>Then, using your experience map, identify 3-5 distinct moments in time to serve as your top-level opportunities. Group the opportunities from your interviews under these top-level branches.</p><p>Look for opportunities to add structure to each branch:</p><ul><li>Group similar opportunities together and identify a parent opportunity</li><li>Look for vertical stacks (one parent, one child) and fill in missing siblings</li><li>Reframe opportunities that are too broad or that could live in multiple branches</li></ul><p>Don&apos;t aim for perfection. Just get something on paper (or on a digital canvas). You&apos;ll iterate on this tree with every interview you do.</p><h3 id="exercise-practice-framing-opportunities-from-your-customers-perspective">Exercise: Practice Framing Opportunities from Your Customer&apos;s Perspective</h3><p><strong>Time:</strong> 30-45 minutes<br><strong>Do this:</strong> With your product trio</p><p>Take 10-15 opportunities from your current backlog or list. For each one, ask: &quot;Can I imagine a customer saying this?&quot;</p><p>If the answer is no, reframe it from your customer&apos;s perspective. For example:</p><ul><li>&quot;Increase subscription conversions&quot; becomes &quot;I want to know if this product is worth paying for&quot;</li><li>&quot;Reduce support tickets&quot; becomes &quot;I can&apos;t figure out how to do X&quot;</li><li>&quot;Improve onboarding completion&quot; becomes &quot;I&apos;m not sure what to do next&quot;</li></ul><p>This exercise helps you spot business-centric opportunities disguised as customer opportunities. It also trains your team to listen for opportunities in interviews that are framed from the customer&apos;s point of view.</p><h2 id="go-deeper-additional-reading">Go Deeper: Additional Reading</h2><p>If you prefer an audio summary of this month&apos;s reading, including the book chapters and the following resources, I&apos;ve included an audio version for paid subscribers at the bottom of this post.</p><h3 id="related-in-depth-guides">Related In-Depth Guides</h3><ul><li><a href="https://www.producttalk.org/opportunity-solution-trees/">Opportunity Solution Trees: Visualize Your Discovery to Stay Aligned and Drive Outcomes</a></li><li><a href="https://www.producttalk.org/customer-interviews/">Customer Interviews: Uncover Hidden Insights from Every Conversation</a></li></ul><h3 id="supplementary-reading">Supplementary Reading</h3><ul><li><a href="https://www.producttalk.org/2019/02/prioritize-opportunities/">Prioritize Opportunities, Not Solutions</a></li><li><a href="https://www.producttalk.org/2022/10/opportunity-mapping-grailed/">Product in Practice: Opportunity Mapping at Grailed</a></li><li><a href="https://www.producttalk.org/2022/09/opportunity-mapping-trivago/">Product in Practice: Opportunity Mapping at trivago</a></li><li><a href="https://www.producttalk.org/2023/11/benefits-of-opportunity-solution-trees/">7 Key Benefits of Using Opportunity Solution Trees</a></li><li><a href="https://www.producttalk.org/2019/12/adopting-opportunity-solution-trees/" rel="noreferrer">Getting Started with Opportunity Solution Trees at SuperAwesome</a></li><li><a href="https://www.producttalk.org/2023/07/opportunity-solution-trees-in-everyday-life/">Bringing Order to Chaos: Using Opportunity Solution Trees in Everyday Life</a></li></ul><h3 id="other-voices">Other Voices</h3><ul><li><a href="https://hbr.org/2019/11/why-groups-struggle-to-solve-problems-together?ref=producttalk.org">Why Groups Struggle to Solve Problems Together</a> by Al Pittampalli</li><li><a href="https://svpg.com/more-pm-problem-areas/?ref=producttalk.org">More PM Problem Areas</a> by Marty Cagan</li><li><a href="https://abbycovert.com/writing/five-superpowers-of-diagrams?ref=producttalk.org">Five Superpowers of Diagrams</a> by Abby Covert</li><li><a href="https://sites.libsyn.com/62983/podcast/156-critical-thinking-is-product-management?ref=producttalk.org">Critical Thinking is Product Management</a> by This Is Product Management</li></ul><h2 id="our-live-discussion-schedule">Our Live Discussion Schedule</h2><p>Our live discussion sessions are for paid subscribers. Sessions are not recorded. Invitations will go out to Supporting Members and CDH Members two weeks before the scheduled event. But reserve the time on your calendar now.</p><ul><li>Tuesday, June 16, 2026: 9am-10am PDT</li><li>Thursday, September 17, 2026: 9am-10am PDT</li><li>Wednesday, December 16, 2026: 9am-10am PST</li></ul><h2 id="audio-summary">Audio Summary</h2><p>This summary was produced by NotebookLM. The sources supplied were the book chapters as well as all of the additional reading.</p><div class="kg-card kg-audio-card"><img src alt="Let&apos;s Read Continuous Discovery Habits Together (May 2026)" class="kg-audio-thumbnail kg-audio-hide"><div class="kg-audio-thumbnail placeholder"><svg width="24" height="24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5 15.33a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm-2.25.75a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0ZM15 13.83a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm-2.25.75a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M14.486 6.81A2.25 2.25 0 0 1 17.25 9v5.579a.75.75 0 0 1-1.5 0v-5.58a.75.75 0 0 0-.932-.727.755.755 0 0 1-.059.013l-4.465.744a.75.75 0 0 0-.544.72v6.33a.75.75 0 0 1-1.5 0v-6.33a2.25 2.25 0 0 1 1.763-2.194l4.473-.746Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M3 1.5a.75.75 0 0 0-.75.75v19.5a.75.75 0 0 0 .75.75h18a.75.75 0 0 0 .75-.75V5.133a.75.75 0 0 0-.225-.535l-.002-.002-3-2.883A.75.75 0 0 0 18 1.5H3ZM1.409.659A2.25 2.25 0 0 1 3 0h15a2.25 2.25 0 0 1 1.568.637l.003.002 3 2.883a2.25 2.25 0 0 1 .679 1.61V21.75A2.25 2.25 0 0 1 21 24H3a2.25 2.25 0 0 1-2.25-2.25V2.25c0-.597.237-1.169.659-1.591Z"/></svg></div><div class="kg-audio-player-container"><audio src="https://storage.ghost.io/c/57/9b/579b6dca-f48a-4307-844f-f0533595d058/content/media/2026/05/May---Solve_complex_problems_with_Opportunity_Solution_Trees.m4a" preload="metadata"></audio><div class="kg-audio-title">May Solve complex problems with Opportunity Solution Trees</div><div class="kg-audio-player"><button class="kg-audio-play-icon" aria-label="Play audio"><svg viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-audio-pause-icon kg-audio-hide" aria-label="Pause audio"><svg viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-audio-current-time">0:00</span><div class="kg-audio-time">/<span class="kg-audio-duration">969.688526</span></div><input type="range" class="kg-audio-seek-slider" max="100" value="0"><button class="kg-audio-playback-rate" aria-label="Adjust playback speed">1&#xD7;</button><button class="kg-audio-unmute-icon" aria-label="Unmute"><svg viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-audio-mute-icon kg-audio-hide" aria-label="Mute"><svg viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-audio-volume-slider" max="100" value="100"></div></div></div><p><em>This article is part of the CDH Book Club celebrating the 5-year anniversary of Continuous Discovery Habits. </em><a href="https://www.producttalk.org/continuous-discovery-habits-book/" rel="noreferrer"><em>See all book club posts</em></a></p>]]></content:encoded></item></channel></rss>