{"id":23845,"date":"2026-09-09T16:08:53","date_gmt":"2026-09-09T16:08:53","guid":{"rendered":"https:\/\/scannn.com\/how-the-leading-ai-companies-do-product-part-1-ant-murphy\/"},"modified":"2026-09-09T16:08:53","modified_gmt":"2026-09-09T16:08:53","slug":"how-the-leading-ai-companies-do-product-part-1-ant-murphy","status":"publish","type":"post","link":"https:\/\/scannn.com\/lv\/how-the-leading-ai-companies-do-product-part-1-ant-murphy\/","title":{"rendered":"How The Leading AI Companies Do Product (Part 1) \u2014 Ant Murphy"},"content":{"rendered":"\n<div data-sqsp-text-block-content=\"\">\n<h2 style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">The two BIG shifts<\/h2>\n<h3 style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Shift 1: Everyone is a manager now<\/h3>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">There\u2019s a great management book called <em>\u201cWho Not How\u201d<\/em> by Dan Sullivan.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">The core concept is that as a manager you need to stop asking &#8220;How can I do this?&#8221; and start asking <em>&#8220;Who?\u201d<\/em><\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Great IC (individual contributors aka not managers) are great at answering \u201chow\u201d. They\u2019re whole job is about \u201chow can I solve this problem in the best way?\u201d But being a manager is a different beast. Your job is to create the environment to get the most out of the people solving those problems.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Hence your job is <em>who<\/em> is best to solve this problem and how can I enable them to solve it.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">This is why sometimes your best people make poor managers.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">And working with AI is a bit like this too &#8211; although not 100%.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">But the shift is there. You need to shift away from asking &#8220;how do I do this?&#8221; to asking &#8220;how do I get AI to do this on my behalf?&#8221;<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Here\u2019s some real examples from my own business:<\/p>\n<ul data-rte-list=\"default\">\n<li>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\"><strong>Metrics:<\/strong> I don\u2019t open dashboards or analytics tools anymore. I have a set of agents that pull the data together and push insights to me. If I have a question, I just ask Claude of Codex and it will go and pull the data for me.<\/p>\n<\/li>\n<li>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\"><strong>Hypotheses: <\/strong>I have a hypothesis tracker which is referenced by multiple agents regularly. For example, when metrics are pulled above an agent looks at what\u2019s in my hypothesis list. It then looks to see if there is any new data that either supports or invalidates a hypothesis.<\/p>\n<\/li>\n<li>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\"><strong>Tooling:<\/strong> I use Notion and my clients have tools like Jira, Linear and Confluence. Yes I almost never open these tools anymore. They still play an important part for documentation but it\u2019s Claude and ChatGPT that reads, updates and manages them for me. In fact I have a weekly agent that sweeps my workspaces and will organise and clean up for me. Solving the problem we all have where confluence spaces get out of control and messy.<\/p>\n<\/li>\n<\/ul>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">My livestream agent also reminded me that I needed to confirm my next live stream, which will be in 3 days on <a href=\"https:\/\/streamyard.com\/watch\/fpk73VQtQdUw\"><u>AI in product discovery<\/u><\/a>, if you\u2019re interested. I\u2019m going to share how I\u2019ve been using AI in discovery and we\u2019re going to build one of these agents live!<\/p>\n<h3 style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Shift 2: The work got bigger<\/h3>\n<blockquote>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\"><em>&#8220;On the Claude Code team, coding is rarely the slow part anymore.\u201d &#8211; <\/em>Fiona Fung who manages the Claude Code team at Anthropic<\/p>\n<\/blockquote>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">When coding is no longer the bottleneck a few interesting things happen.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Of course the pressure is shifted up and down stream but it also changes the way we think about breaking down the work.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">In the past we\u2019ve often broken work down from some large feature &#8211; even a future vision of it &#8211; into an MVP and then into smaller user stories and even day to day tasks.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">This was necessary when building anything took a couple of days to multiple weeks.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Breaking down work into chunks that are a couple of hours to a couple of days long is effective to manage product development.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">But when you can code the whole feature in a couple of days &#8211; or a subset of it &#8211; it kinda makes all this redundant.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">And this is the second big shift. The work chunks up.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Kanban boards now have whole features on them rather than user stories.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">And it\u2019s not because we\u2019ve suddenly moved back to waterfall, the unit of work has just gotten bigger.<\/p>\n<h2 style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">What They All Claim to Do<\/h2>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Across all the interviews a few consistent practices kept showing up.<\/p>\n<h3 style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">1. They&#8217;re bottom-up<\/h3>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Cat Wu, Head of Product for Claude Code said on Lenny&#8217;s podcast:<\/p>\n<blockquote>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\"><em>&#8220;We want to make sure every single person on the team feels empowered to take their idea from just an idea to out in the world in less than a week, sometimes even in a day.&#8221;<\/em><\/p>\n<\/blockquote>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">This is a consistent theme across these AI companies. They all seem to be very bottoms-up.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">And I was a bit skeptical at first but hearing Alexander Embiricos, who heads up Codex at OpenAI talk about this on Lenny\u2019s podcast made me more of a believer.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Firstly because Alexander gives a very balanced view in his interview &#8211; he\u2019s not \u201call roles are dead\u201d in fact he\u2019s kinda the opposite, says that it\u2019s going to take a lot longer than we think.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">But mostly because he gave an honest explanation of <em>why<\/em> it works for them: they genuinely don&#8217;t know what&#8217;s technically feasible next, or what will resonate. Nobody&#8217;s done this before. So diverging fast, throwing a lot of different ideas out there to see what sticks, <em>is<\/em> a deliberate strategy for navigating uncharted territory.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Alexander makes the comparison to when he was running his startup, he said the path was relatively known. That they could put the effort in to say, yes this is where we should go and how it\u2019s not the same at OpenAI.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Comments like this are the most important things to take away from these types of interviews because it\u2019s the why. It also helps you decide what to do with the information &#8211; does it translate to your context? Does it need adapting?<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">For example, if you&#8217;re a bank, you are not in uncharted territory. Your customers have clear problems with clear next steps. Extreme bottoms-up in a regulated enterprise probably won\u2019t work.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">It\u2019s also important to understand how they enable this.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">This isn\u2019t everyone is shipping the same code.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Designers are often shipping low risk front end changes and PMs are shipping more simpler features. Engineers are still the ones working on the higher risk and more complex problems.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">They also don\u2019t ship to production. There\u2019s still a PR review process, automated tests, evals and a whole suite of safe guards.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">AND everything is shipped to a beta environment first. For Anthropic this is their research preview.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">I worry that founders and executive have heard &#8220;everyone ships a feature every week&#8221; and forget all the scaffolding that makes this both safe and possible.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Even Cat Wu, the Head of Product for Claude Code conceded that there has been a cost to moving so fast with overlapping features, inconsistency and customers struggling to keep up.<\/p>\n<h3 style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">2. Dogfooding<\/h3>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Another thing they all seem to universally practice is dogfooding.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">If you\u2019ve never heard of dogfooding before it\u2019s where you use your own product.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">It\u2019s a great way to identify issues, bugs, improvements before your customers do and it\u2019s also a great way to build empathy.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">The danger with dogfooding is that you\u2019re not always your ideal customers.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Alexander Embiricos talked about this happening with the Codex team when they realised that their AGI-pilled vision of the product was very different to how their customers say things so they dialled it back.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Which is a great reminder that dogfooding doesn\u2019t replace discovery. You can\u2019t just test and learn internally.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">This was something else that came out in the postcasts and videos, they all clearly still did the basics.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">And when I say basics I don\u2019t mean writing PRDs (we\u2019ll get to that in a minute).<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">I mean strategy, discovery, using data to drive decision making, etc.<\/p>\n<h3 style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">3. Prototypes<\/h3>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Fiona Fung, who leads the Claude Code team at Anthropic tells a story about how when she started at Anthropic her and Brois, the Head of Engineering and creator of Claude Code had a disagreement and she almost did what she did before &#8211; book a meeting room and get them both around a whiteboard to debate it. But instead she decided, let\u2019s just both prototype our paths and compare them.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">And this is a theme that I\u2019m seeing and something that has come up consistently throughout the podcasts.\u00a0<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">When the cost (and time) to build a prototype dramatically reduces it takes the same time to produce the different prototypes and test them than it does to get around a whiteboard and discuss.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">A simple example is AB testing. Often we\u2019ll do 2-3 options but with AI you could spin up 10+ options.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">And to be clear when I say prototype I don\u2019t necessarily mean working code. Having the right fidelity still matters and even with AI creating several different designs in a design tool like the ones I explored in this <a href=\"https:\/\/www.youtube.com\/watch?v=2KVgE2gx8vY&amp;t=30s\"><u>live stream<\/u><\/a> are much cheaper than producing code. Remember that there\u2019s no tokenomics to consider. So whilst it might not be a big difference in time, tokens aren\u2019t cheap!<\/p>\n<h3 style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">5. Long running AI sessions<\/h3>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">PRDs was a topic none of them could agree on.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Some talked about doing what is often referred to as \u2018spec driven development\u2019 where they create a plan.md file or a detailed specification (with the help of AI) that would then be handed to agents that would build from.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Others talked about giving less details and not doing PRDs or any form of specs, they would give the agents a clear goal and let the model figure it out.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">But what they all aligned on is having different ways for agents to run more autonomously.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Whether you write down all the details as a PRD, spec, plan, or simply give the AI a goal. The core mechanics were the same.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">To make agents run more autonomously you need to give them:<\/p>\n<ol data-rte-list=\"default\">\n<li>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Context to make smart decisions<\/p>\n<\/li>\n<li>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">A clear view of the end state<\/p>\n<\/li>\n<li>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">A verification criteria that the agent can test itself against<\/p>\n<\/li>\n<li>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">The infrastructure for it to build \u2192 test itself \u2192 make fixes \u2192 repeat<\/p>\n<\/li>\n<\/ol>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">This has been coined as \u2018loop engineering\u2019.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">But it doesn\u2019t matter what you call it. The goal is to allow agents to work on your behalf. To do that effectively they need to have the necessary context, skills, tools, and understanding of the end state to run for multiple hours building, testing and pivoting until it\u2019s achieved the goal.<\/p>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Some interesting practices are coming out of this space &#8211; and again there\u2019s no consensus yet.<\/p>\n<ul data-rte-list=\"default\">\n<li>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Some teams write specs.<\/p>\n<\/li>\n<li>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Others iterate back-and-forth with no document at all.<\/p>\n<\/li>\n<li>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Or use prototypes rather than specs or PRDs (works well for a UX\/front end product, not so well for platforms)<\/p>\n<\/li>\n<li>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">Some specs are dynamic using HTML.<\/p>\n<\/li>\n<li>\n<p style=\"white-space:pre-wrap;\" data-rte-preserve-empty=\"true\">And a few are even allowing the model to determine all the details and execute on their own (ideally with a clear goal and verification criteria)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<p><a href=\"https:\/\/www.antmurphy.me\/newsletter\/how-the-leading-ai-companies-do-product-part-1?utm_source=tldrproduct\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The two BIG shifts Shift 1: Everyone is a manager now There\u2019s a great management book called \u201cWho Not How\u201d by Dan Sullivan.\u00a0 The core concept is that as a manager you need to stop asking &#8220;How can I do this?&#8221; and start asking &#8220;Who?\u201d Great IC (individual contributors aka not managers) are great at [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":23846,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[143],"tags":[],"class_list":["post-23845","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai"],"_links":{"self":[{"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/posts\/23845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/comments?post=23845"}],"version-history":[{"count":0,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/posts\/23845\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/media\/23846"}],"wp:attachment":[{"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/media?parent=23845"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/categories?post=23845"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/tags?post=23845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}