<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Janne Lammi</title>
    <description>The latest articles on DEV Community by Janne Lammi (@pathmodeio).</description>
    <link>https://dev.to/pathmodeio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3913860%2F9272305a-dfa4-4d16-b788-d75f71911f66.png</url>
      <title>DEV Community: Janne Lammi</title>
      <link>https://dev.to/pathmodeio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pathmodeio"/>
    <language>en</language>
    <item>
      <title>The Cost of Being Worth Using</title>
      <dc:creator>Janne Lammi</dc:creator>
      <pubDate>Sun, 14 Jun 2026 11:39:04 +0000</pubDate>
      <link>https://dev.to/pathmode/the-cost-of-being-worth-using-nbj</link>
      <guid>https://dev.to/pathmode/the-cost-of-being-worth-using-nbj</guid>
      <description>&lt;p&gt;A 2026 NBER working paper followed more than 100,000 developers across four app marketplaces after they picked up AI coding tools. The tools worked. With the most autonomous of them, commits jumped 180%. Then the gain bled out downstream — about 50% more projects, only 30% more releases.&lt;/p&gt;

&lt;p&gt;Total usage of what they shipped: unchanged.&lt;/p&gt;

&lt;p&gt;More code. More releases. The same number of people using any of it.&lt;/p&gt;




&lt;p&gt;The pattern is simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AI is increasing software output.&lt;/li&gt;
&lt;li&gt;Usage is not increasing with it.&lt;/li&gt;
&lt;li&gt;Attention is consolidating, not expanding.&lt;/li&gt;
&lt;li&gt;The scarce skill is no longer building. It is deciding what deserves to exist.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The App Store Confirms It
&lt;/h2&gt;

&lt;p&gt;Zoom out from those developers and the shape repeats everywhere.&lt;/p&gt;

&lt;p&gt;Apple's App Store took in 557,000 new app submissions in 2025 — up 24% year over year, its biggest year since 2016, reversing a multi-year slide. The first quarter of 2026 then ran 84% ahead of the year before, the largest quarterly jump in a decade. The firms tracking it name one cause: vibe-coding. Anyone with an idea and a chat window can ship a functional app in a weekend now.&lt;/p&gt;

&lt;p&gt;Total app downloads, across every major store, grew under 1%.&lt;/p&gt;

&lt;p&gt;That's the cut. The supply of new apps, up double digits and then some. The appetite to download them, flat. The shelves filled up. Nobody new came to shop.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Hours Are Growing. The Access Isn't.
&lt;/h2&gt;

&lt;p&gt;Here is the stat that looks like it kills the argument, so let's put it on the table.&lt;/p&gt;

&lt;p&gt;People spend &lt;em&gt;more&lt;/em&gt; time in apps every year, not less. 5.3 trillion hours in 2025, up 3.8% over the prior year. Time-in-app has climbed for a decade.&lt;/p&gt;

&lt;p&gt;But read the second derivative. That growth is decelerating — 7.7%, then 5.8%, then 3.8%. And it isn't spreading out. Social and communication apps alone eat about a third of all mobile time; one company's apps take roughly a fifth. The hours are growing, and they're pooling in the handful of places people already were.&lt;/p&gt;

&lt;p&gt;Rising attention doesn't reach your new thing. The pie got bigger. The new entrants still don't get a slice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The attention ceiling&lt;/strong&gt; is the number of things any person will ever choose to care about. It didn't move when building got cheap. It won't move when building gets cheaper still.&lt;/p&gt;




&lt;h2&gt;
  
  
  This Isn't a Phone Problem
&lt;/h2&gt;

&lt;p&gt;Scott Brinker has counted the marketing-software landscape every year since 2011. It went from 150 tools to 15,384 — a hundredfold in fifteen years, AI the latest accelerant.&lt;/p&gt;

&lt;p&gt;Cursor, the AI coding tool, went from zero to $2 billion in revenue in about three years — the fastest any business-software company has ever made that climb. Building has never been cheaper or faster.&lt;/p&gt;

&lt;p&gt;The buyers didn't get fifteen thousand times more attention. The average knowledge worker switches apps about 1,200 times a day and loses four hours a week just reorienting. Rich-world internet penetration sits at 93% — there are no new users to go get. And the front door is closing: roughly 60% of Google searches now end without a click, on the way past two-thirds as AI answers swallow the page. The traffic that used to find your new tool isn't being redistributed. It's evaporating.&lt;/p&gt;

&lt;p&gt;Where the money goes instead: up. Microsoft's cloud business alone grew 23% to $169 billion last year. Spend is rising — and consolidating into the few platforms big enough to bundle. The long tail competes for what's left.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What AI collapsed&lt;/th&gt;
&lt;th&gt;What didn't move&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cost of writing code&lt;/td&gt;
&lt;td&gt;Cost of distribution&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time from idea to shipped app&lt;/td&gt;
&lt;td&gt;Demand for new products&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Who can build software&lt;/td&gt;
&lt;td&gt;Available user attention&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Speed of iteration&lt;/td&gt;
&lt;td&gt;The bar to earn a place in someone's life&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of apps submitted&lt;/td&gt;
&lt;td&gt;Number of apps actually used&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The attention ceiling looks the same in enterprise software as it does in mobile. The shelves fill. The buyers don't multiply.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Filter Is Gone
&lt;/h2&gt;

&lt;p&gt;So why is supply exploding straight into a demand wall?&lt;/p&gt;

&lt;p&gt;Because the cost of producing software fell off a cliff. The price of the AI capability itself — the inference to hit a given benchmark — has dropped on the order of 50x a year, by Epoch AI's measure, echoed in Stanford's AI Index. That capability is the raw material of building, and it dragged the cost of prototyping down with it. What took a funded team and two quarters takes one person and an afternoon.&lt;/p&gt;

&lt;p&gt;The cost of &lt;em&gt;making&lt;/em&gt; something collapsed. Not one cost of being worth using moved an inch. Distribution didn't get easier. Attention didn't expand. The bar for the tenth app in a category that does the same thing sits exactly where it was — except now there are ten of them by Friday instead of one by next quarter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI collapsed the cost of building. It didn't touch the cost of being worth using.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Decision Nobody Makes Anymore
&lt;/h2&gt;

&lt;p&gt;Today anyone can pull on the turtleneck, open a chat window, and feel like a reborn Steve Jobs. So can everyone else, in your exact category. The feeling of building something visionary got cheap. Being right about it didn't.&lt;/p&gt;

&lt;p&gt;When building was expensive, building was the filter. You couldn't ship the wrong thing easily, so the cost of construction did your triage for you. Most bad ideas died in the estimate.&lt;/p&gt;

&lt;p&gt;That filter is gone. The estimate is now an afternoon. Which means the decision the build used to force — &lt;em&gt;is this worth existing?&lt;/em&gt; — doesn't get made by anyone. It gets skipped. The half-formed thing ships and joins the pile of installed-and-never-opened.&lt;/p&gt;

&lt;p&gt;The bottleneck moved up the stack. Not to whether you can build it. To whether it should exist — and to what, precisely, earns a slice of attention nobody owes you.&lt;/p&gt;

&lt;p&gt;That is a judgment problem. It always was. The cost of building was just hiding it.&lt;/p&gt;




&lt;h2&gt;
  
  
  What This Means for Builders
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Start from evidence, not ideas.&lt;/strong&gt; Real user friction, not feature assumptions. When execution is cheap, the competitive edge is knowing which friction to resolve.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Define the adoption outcome before the first line of code.&lt;/strong&gt; Not "build a checkout flow" — but "a user who completes purchase without contacting support." If you can't write the adoption outcome, you don't know what you're building.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Name what must not be built.&lt;/strong&gt; The cheap build's greatest risk isn't failure — it's drift. Name the constraints explicitly before you start. A spec without boundaries is a blank check.&lt;/p&gt;




&lt;p&gt;An intent tool can become part of the flood — one more way to generate more, faster, with less thought. We know it. So the point isn't to add output. It's to force the decision the cheap build skips, on purpose, up front: name what this is for, name what it must not become, name how you'll know it worked. Before, not after.&lt;/p&gt;

&lt;p&gt;The 100,000 developers in that study weren't failing to build. They built more than ever. Building more just wasn't enough to get more of it used — the paper's own name for the gap is a &lt;em&gt;weak link&lt;/em&gt;, the human work downstream that doesn't scale because code generation does.&lt;/p&gt;

&lt;p&gt;Name the weakest link in that chain and it isn't typing. It's the decision nobody is forced to make anymore: is this worth existing, and what makes it worth a slice of attention no one owes you. Cheap building doesn't make that call for you. It just lets you skip it faster.&lt;/p&gt;

&lt;p&gt;That's the trade the whole industry is taking right now without naming it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The cost of building fell off a cliff. &lt;a href="https://pathmode.io/blog/judgment-debt" rel="noopener noreferrer"&gt;Judgment&lt;/a&gt; didn't — which is exactly why it's the only scarce thing left. Context isn't judgment, and judgment is now the whole game.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pathmode.io/" rel="noopener noreferrer"&gt;Start building with intent →&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sources: Demirer, Musolff &amp;amp; Yang, &lt;a href="https://www.nber.org/papers/w35275" rel="noopener noreferrer"&gt;"Writing Code vs. Shipping Code"&lt;/a&gt; (NBER w35275, 2026) for the commits → releases → usage chain; &lt;a href="https://appfigures.com/resources/insights/20251205?f=2" rel="noopener noreferrer"&gt;Appfigures&lt;/a&gt; for 2025 App Store submissions (Apple only), and The Information via &lt;a href="https://techcrunch.com/2026/04/18/the-app-store-is-booming-again-and-ai-may-be-why/" rel="noopener noreferrer"&gt;TechCrunch&lt;/a&gt; / &lt;a href="https://www.entrepreneur.com/business-news/app-store-submissions-are-the-highest-in-10-years" rel="noopener noreferrer"&gt;Entrepreneur&lt;/a&gt; for the +84% Q1 2026 jump (Apple only); Sensor Tower &lt;a href="https://sensortower.com/blog/state-of-mobile-2026" rel="noopener noreferrer"&gt;State of Mobile 2026&lt;/a&gt; for total downloads (all major stores) and time-in-app; &lt;a href="https://epoch.ai/data-insights/llm-inference-price-trends" rel="noopener noreferrer"&gt;Epoch AI&lt;/a&gt; and the &lt;a href="https://hai.stanford.edu/ai-index/2025-ai-index-report" rel="noopener noreferrer"&gt;Stanford HAI AI Index 2025&lt;/a&gt; for the inference-cost decline; &lt;a href="https://martech.org/the-number-of-martech-tools-is-now-15384/" rel="noopener noreferrer"&gt;Scott Brinker / MarTech.org&lt;/a&gt; for the martech-landscape count (150 → 15,384); &lt;a href="https://techcrunch.com/2025/06/05/cursors-anysphere-nabs-9-9b-valuation-soars-past-500m-arr/" rel="noopener noreferrer"&gt;TechCrunch&lt;/a&gt; for Cursor's ARR trajectory; &lt;a href="https://hbr.org/2022/08/how-much-time-and-energy-do-we-waste-toggling-between-applications" rel="noopener noreferrer"&gt;Harvard Business Review (2022)&lt;/a&gt; for the 1,200-toggles-a-day study; the &lt;a href="https://www.itu.int/en/mediacentre/Pages/PR-2024-11-27-facts-and-figures.aspx" rel="noopener noreferrer"&gt;ITU's Facts &amp;amp; Figures 2024&lt;/a&gt; for 93% high-income internet penetration; &lt;a href="https://sparktoro.com/blog/in-2026-less-than-one-third-of-google-searches-still-send-a-click/" rel="noopener noreferrer"&gt;SparkToro / Datos&lt;/a&gt; for zero-click search; and Microsoft's &lt;a href="https://www.sec.gov/Archives/edgar/data/0000789019/000095017025061032/msft-ex99_1.htm" rel="noopener noreferrer"&gt;FY2025 results&lt;/a&gt; for cloud-revenue concentration. App-market figures are vendor estimates; submission counts are Apple's App Store only, while downloads span all major stores; the inference-cost figure is the median rate to reach a fixed capability, not frontier cost.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>devtools</category>
    </item>
    <item>
      <title>The Intent Layer</title>
      <dc:creator>Janne Lammi</dc:creator>
      <pubDate>Sat, 30 May 2026 19:43:19 +0000</pubDate>
      <link>https://dev.to/pathmodeio/the-intent-layer-15e3</link>
      <guid>https://dev.to/pathmodeio/the-intent-layer-15e3</guid>
      <description>&lt;p&gt;The software stack has a gap.&lt;/p&gt;

&lt;p&gt;On one end: tools that capture signal. Dovetail, Intercom, user research platforms—everything that tells you &lt;em&gt;what users need&lt;/em&gt;. On the other end: tools that execute. Cursor, v0, Claude Code—everything that turns instructions into working software.&lt;/p&gt;

&lt;p&gt;The middle is compressing. And that middle is where the most important work happens: deciding &lt;strong&gt;what gets built and why&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Most teams skip it. They go straight from customer feedback to a prompt in Cursor. The result: code that solves the wrong problem, or solves it without context.&lt;/p&gt;

&lt;p&gt;We call this missing middle &lt;strong&gt;the Intent Layer&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────┐
│         User Signal                 │  ← Feedback, friction, research
├─────────────────────────────────────┤
│       ▶ Intent Layer ◀              │  ← What gets built &amp;amp; why
├─────────────────────────────────────┤
│      Agentic Execution              │  ← Cursor, v0, Claude Code
├─────────────────────────────────────┤
│       Shipped Software              │
└─────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Prompts Are Not Intent
&lt;/h2&gt;

&lt;p&gt;A prompt is a request. Intent is a specification.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Prompt&lt;/th&gt;
&lt;th&gt;Intent Spec&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;"Add a checkout flow"&lt;/td&gt;
&lt;td&gt;Preconditions, expected outcomes, edge cases, traceability to user friction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ephemeral—typed once, discarded&lt;/td&gt;
&lt;td&gt;Versioned, auditable, persistent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Invented by the developer&lt;/td&gt;
&lt;td&gt;Derived from user signal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Optimized for speed to first output&lt;/td&gt;
&lt;td&gt;Optimized for correctness of final outcome&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;When a developer opens Cursor, they shouldn't be inventing context from scratch. They should be pulling from a system that already computed what needs to be built and why.&lt;/p&gt;

&lt;p&gt;Prompts generate code. Intent specs generate &lt;em&gt;the right code&lt;/em&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why the Gap Exists
&lt;/h2&gt;

&lt;p&gt;Today, intent is scattered across your organization:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Research lives in Dovetail.&lt;/li&gt;
&lt;li&gt;Specs live in Notion or Google Docs.&lt;/li&gt;
&lt;li&gt;Tasks live in Jira or Linear.&lt;/li&gt;
&lt;li&gt;Context lives in someone's head.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No single system synthesizes user friction into structured, machine-readable intent. Each handoff between these tools introduces drift. Each interpretation introduces error.&lt;/p&gt;

&lt;p&gt;The fix isn't another tool in the stack. It's a layer that sits above them—synthesizing signal, structuring intent, and pushing context to every downstream agent.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Three Layers of Intent
&lt;/h2&gt;

&lt;p&gt;We see software development converging on a 3-layer architecture:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Intention — The Raw Signal
&lt;/h3&gt;

&lt;p&gt;Unstructured information: user interviews, support tickets, analytics, NPS surveys. Scattered across disconnected silos. This is where friction surfaces—the raw evidence of where your product fails its users.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Structure — Computed Intent
&lt;/h3&gt;

&lt;p&gt;This is the Intent Layer itself. It translates abstract friction into a formalized specification. Not by asking you to write specs from scratch, but by &lt;em&gt;computing&lt;/em&gt; them—clustering friction signals and generating structured, evidence-backed specifications.&lt;/p&gt;

&lt;p&gt;An &lt;strong&gt;&lt;a href="https://pathmode.io/glossary/intent-engineering" rel="noopener noreferrer"&gt;IntentSpec&lt;/a&gt;&lt;/strong&gt; is not a document. It's a data object:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;objective&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;statement&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Reduce&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;cart&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;abandonment&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;at&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;payment&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;step"&lt;/span&gt;
  &lt;span class="na"&gt;success_criteria&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Checkout completes in under 3 seconds on 3G&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Cart abandonment drops from 23% to below 15%&lt;/span&gt;

&lt;span class="na"&gt;constraints&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Must work without JavaScript enabled&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Must support existing payment provider&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Rate limited to prevent abuse&lt;/span&gt;

&lt;span class="na"&gt;outcomes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;observable&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Conversion&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;rate&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;increase&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;at&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;payment&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;step"&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;verification&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;A/B&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;test&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;shows&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;10%+&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;improvement"&lt;/span&gt;

&lt;span class="na"&gt;edge_cases&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Payment declined → show retry with alternative method&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Session expired → preserve cart state&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Zero items in cart → redirect with explanation&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This isn't prose. It's a contract. An agent can execute against it. A human can review it. Both can verify whether it was fulfilled.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Projection — Execution
&lt;/h3&gt;

&lt;p&gt;Where the spec becomes executable artifacts: code, UI, API documentation, tests. This is where Cursor, Claude Code, and v0 live. When they receive an IntentSpec instead of a prompt, they don't guess—they execute against explicit criteria.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters Now
&lt;/h2&gt;

&lt;p&gt;AI has made execution cheap. You can prototype a working solution in the time it used to take to argue about the wireframe. This is powerful—but it creates a dangerous illusion.&lt;/p&gt;

&lt;p&gt;When building is instant, teams skip the hard work of defining &lt;em&gt;what&lt;/em&gt; they're building. Fast execution masks poor intent. A shiny AI-generated feature ships in a day, only to increase drop-off because no one asked whether users actually needed it.&lt;/p&gt;

&lt;p&gt;This is what we've been calling &lt;a href="https://pathmode.io/blog/the-vibe-coding-hangover" rel="noopener noreferrer"&gt;The Vibe Coding Hangover&lt;/a&gt;. Solo developers can hold context in their head. Add a PM, a Designer, and three AI agents—and context fragments. Prompts become requests with no shared definition of success.&lt;/p&gt;

&lt;p&gt;The bottleneck has shifted. It's no longer writing code. It's defining what code to write.&lt;/p&gt;




&lt;h2&gt;
  
  
  The PM's Role is Changing
&lt;/h2&gt;

&lt;p&gt;The PM's job used to be translation: talk to customers, synthesize problems, write specs, hand them to engineers. The value was in the compression—taking noisy, qualitative input and producing structured output.&lt;/p&gt;

&lt;p&gt;But that compression step is exactly what language models do well. When agents can take a well-formed problem and produce working code, &lt;a href="https://pathmode.io/blog/spec-is-the-product" rel="noopener noreferrer"&gt;the spec becomes the product&lt;/a&gt;. The PM's job shifts from writing handoff documents to forming intent clearly enough that agents can act on it directly.&lt;/p&gt;

&lt;p&gt;This is not a demotion. Clarity is harder than verbosity. Precision is harder than prose.&lt;/p&gt;




&lt;h2&gt;
  
  
  What an Intent Layer Does
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Captures friction&lt;/strong&gt; from real user signals—support tickets, research transcripts, analytics—not from intuition alone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structures intent&lt;/strong&gt; into versioned, machine-readable specs with explicit success criteria, constraints, and edge cases.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feeds agents&lt;/strong&gt; exactly what they need to execute—no hallucination, no drift.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verifies outcomes&lt;/strong&gt; against the defined spec after shipping. Did the friction actually decrease?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preserves memory&lt;/strong&gt; so the team knows &lt;em&gt;why&lt;/em&gt; something was built, not just &lt;em&gt;that&lt;/em&gt; it was built.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Who Owns Intent?
&lt;/h2&gt;

&lt;p&gt;John Moriarty &lt;a href="https://uxdesign.cc/from-products-to-systems-the-agentic-ai-shift-eaf6a7180c43" rel="noopener noreferrer"&gt;wrote about the shift&lt;/a&gt; from products to systems. His framework for the new design role is "Systemic Orchestration"—designers provide the bricks, blueprints, and building codes, not the finished house.&lt;/p&gt;

&lt;p&gt;This applies to product work broadly. Designers, PMs, and engineers are all converging on the same discipline: defining intent with enough structure that agents can execute it faithfully.&lt;/p&gt;

&lt;p&gt;Someone has to own that layer. That's what we're building at &lt;a href="https://pathmode.io/" rel="noopener noreferrer"&gt;Pathmode&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productmanagement</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Input Factories</title>
      <dc:creator>Janne Lammi</dc:creator>
      <pubDate>Tue, 19 May 2026 12:30:46 +0000</pubDate>
      <link>https://dev.to/pathmode/input-factories-3e8j</link>
      <guid>https://dev.to/pathmode/input-factories-3e8j</guid>
      <description>&lt;p&gt;Everyone is building agent factories.&lt;/p&gt;

&lt;p&gt;Cursor, Codex, Claude Code, Devin. Coding agents that plan, write, test, ship. Internal pipelines with five, eight, twelve sub-agents in series. Orchestrators that retry. Eval loops. Tool calls. The pipeline keeps getting better, almost weekly.&lt;/p&gt;

&lt;p&gt;This is not the hard part.&lt;/p&gt;

&lt;p&gt;A factory amplifies whatever you feed it. If you feed it a thin brief, it builds something thin, faster. If you feed it a contradictory spec, it resolves the contradiction silently — usually wrong. If you feed it nothing, it invents.&lt;/p&gt;

&lt;p&gt;Most teams are scaling their ambiguity.&lt;/p&gt;

&lt;p&gt;The agent factory is solved. The input factory isn't.&lt;/p&gt;




&lt;p&gt;By "input factory" I mean the layer above the build. The thing that decides what the agents read before they generate. It contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the &lt;strong&gt;intent&lt;/strong&gt; (why this exists, who it's for, what it must do)&lt;/li&gt;
&lt;li&gt;the &lt;strong&gt;product spec&lt;/strong&gt; (scope, edges, what good looks like)&lt;/li&gt;
&lt;li&gt;the &lt;strong&gt;design rules&lt;/strong&gt; (tokens, voice, components, don'ts)&lt;/li&gt;
&lt;li&gt;the &lt;strong&gt;brand&lt;/strong&gt; (how it sounds, what it never says)&lt;/li&gt;
&lt;li&gt;the &lt;strong&gt;playbooks&lt;/strong&gt; (how this team approaches this kind of work)&lt;/li&gt;
&lt;li&gt;the &lt;strong&gt;reference code&lt;/strong&gt; (this is how we do it here)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These already exist. They live in Notion, Figma, Slack threads, the repo, somebody's head. They drift. They contradict each other. Nobody owns them. When the build is wrong, no one knows which one to fix.&lt;/p&gt;

&lt;p&gt;This is the bottleneck.&lt;/p&gt;




&lt;p&gt;Here is the loop most teams are running today:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Agent builds something&lt;/li&gt;
&lt;li&gt;Designer or PM reviews the PR&lt;/li&gt;
&lt;li&gt;PR is wrong&lt;/li&gt;
&lt;li&gt;Fix the PR&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here is the loop they should be running:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Agent builds something&lt;/li&gt;
&lt;li&gt;Designer or PM reviews the PR&lt;/li&gt;
&lt;li&gt;PR is wrong&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Which input was thin, stale, or contradictory?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Fix the input&lt;/li&gt;
&lt;li&gt;Run the next thing through the better input&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The first loop scales the work. The second loop scales the system.&lt;/p&gt;

&lt;p&gt;The first loop is what most teams will look back on as the embarrassing era — when senior people spent their time fixing outputs an agent produced from inputs the senior person never actually wrote.&lt;/p&gt;




&lt;p&gt;There is a role shift coming, and it is bigger than it sounds.&lt;/p&gt;

&lt;p&gt;The designer stops being the one who fixes the output. They become the one who curates the system that produces the output. When the build comes back wrong, the question is no longer "how do I edit this?" but "what was missing from what the agent read?"&lt;/p&gt;

&lt;p&gt;The PM stops chasing tickets. They author the intent — the &lt;em&gt;why&lt;/em&gt; — and the evidence behind it. The thing nothing downstream can guess at.&lt;/p&gt;

&lt;p&gt;The engineer stops translating. They integrate. They write the reference code, the conventions, the constraints. They make the input layer real in the repo.&lt;/p&gt;

&lt;p&gt;In this world the seniority of the work moves upstream. The most leveraged person on the team is whoever owns the inputs.&lt;/p&gt;




&lt;p&gt;I think the reason nobody has built this yet is that the inputs feel like &lt;em&gt;just files&lt;/em&gt;. Markdown, Figma frames, brand decks, a couple of shared docs. It feels low-status. The factory feels high-status.&lt;/p&gt;

&lt;p&gt;But the factory is a commodity. There will be five good ones in eighteen months and they will mostly do the same thing.&lt;/p&gt;

&lt;p&gt;The inputs are not a commodity. They are your product's actual intent, captured and made legible to a machine. They are the only thing that makes your factory's output yours instead of generic.&lt;/p&gt;




&lt;p&gt;A real input factory does a few things the file-soup version doesn't:&lt;/p&gt;

&lt;p&gt;It &lt;strong&gt;authors&lt;/strong&gt; — the inputs are written deliberately, not assembled from drift.&lt;/p&gt;

&lt;p&gt;It &lt;strong&gt;evidences&lt;/strong&gt; — every claim points back to the user signal that justifies it.&lt;/p&gt;

&lt;p&gt;It &lt;strong&gt;governs&lt;/strong&gt; — somebody owns each input, somebody updates it, the staleness is visible.&lt;/p&gt;

&lt;p&gt;It &lt;strong&gt;compiles&lt;/strong&gt; — at build time, the right slice of input is packaged into the agent's context. Not the whole pile. The right slice.&lt;/p&gt;

&lt;p&gt;It &lt;strong&gt;diffs&lt;/strong&gt; — when the output is wrong, you can trace which input was insufficient, and improve it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/karpathy/status/2039805659525644595" rel="noopener noreferrer"&gt;Karpathy has been writing&lt;/a&gt; about a version of this from the other direction: raw notes compiled into a wiki an LLM can read. He is right about the pipeline. The thing he leaves implicit is that for product work, the raw notes aren't notes. They are intent, spec, brand, design rules, playbooks. The wiki isn't a wiki. It is the input factory.&lt;/p&gt;




&lt;p&gt;The companies that figure this out first will look, from the outside, like they have better agents.&lt;/p&gt;

&lt;p&gt;They won't. They will have better inputs.&lt;/p&gt;

&lt;p&gt;If you are building an agent factory right now, the question worth asking is: &lt;em&gt;what does my factory read, who wrote it, and how do I know it's still true?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you do not have a good answer, the factory is the wrong place to spend the next quarter.&lt;/p&gt;

&lt;p&gt;Build the input factory.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I'm building &lt;a href="https://pathmode.io" rel="noopener noreferrer"&gt;Pathmode&lt;/a&gt;, the input layer for product teams building with AI.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Anthropic Just Made Specs Load-Bearing</title>
      <dc:creator>Janne Lammi</dc:creator>
      <pubDate>Wed, 06 May 2026 19:26:33 +0000</pubDate>
      <link>https://dev.to/pathmodeio/anthropic-just-made-specs-load-bearing-2k89</link>
      <guid>https://dev.to/pathmodeio/anthropic-just-made-specs-load-bearing-2k89</guid>
      <description>&lt;p&gt;Today Anthropic shipped &lt;a href="https://claude.com/blog/new-in-claude-managed-agents" rel="noopener noreferrer"&gt;Managed Agents&lt;/a&gt; — and inside it, a feature called &lt;strong&gt;Outcomes&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Outcomes is small in scope and large in implication. The idea: when you dispatch an agent, you also define what success looks like. A separate grader evaluates the agent's output against those criteria and decides whether the work is done or needs another pass.&lt;/p&gt;

&lt;p&gt;Most of the coverage focused on the self-correction loop. The deeper story is what Outcomes &lt;em&gt;assumes&lt;/em&gt; — and what it quietly exposes.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Outcomes need testable success criteria
&lt;/h2&gt;

&lt;p&gt;A grader can't grade a vibe.&lt;/p&gt;

&lt;p&gt;For Outcomes to do anything useful, success has to be expressible in language that a separate model can evaluate without re-doing the work. That means specific, observable, decomposable. &lt;em&gt;"The form submits and shows a confirmation."&lt;/em&gt; &lt;em&gt;"No more than one network request per keystroke."&lt;/em&gt; &lt;em&gt;"Email arrives within 30 seconds and includes the order number."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is what verification has always looked like in good engineering. The difference is the audience. Until now, success criteria were a human courtesy — nice when the PM wrote them, fine when they didn't, because the developer would figure it out in review. With Outcomes, &lt;strong&gt;success criteria become the contract the agent is held to&lt;/strong&gt;. They stop being decoration and start being load-bearing.&lt;/p&gt;

&lt;p&gt;A vague Outcome doesn't fail loudly. It quietly accepts wrong work.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Most teams don't have them. They have tickets and Figmas.
&lt;/h2&gt;

&lt;p&gt;Walk into the average product org and ask to see the success criteria for the next five tickets in the sprint. You'll get one of three answers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;"It's in the Figma."&lt;/em&gt; (It isn't.)&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;"The ACs are at the bottom of the Linear ticket."&lt;/em&gt; (Three bullets, all phrased as features.)&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;"Talk to Sara, she knows what we're trying to do."&lt;/em&gt; (Sara is on PTO.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The intent of the work lives somewhere — in someone's head, in a Slack thread, in a comment on a design file. Almost never in a structured, retrievable, testable form.&lt;/p&gt;

&lt;p&gt;This was tolerable when humans did the building, because humans are excellent at filling in gaps. They ask follow-up questions. They reread the ticket three weeks later and figure it out. They notice when something feels wrong even if no one wrote down what right looks like.&lt;/p&gt;

&lt;p&gt;Agents don't do any of that. They execute against what they're given. Outcomes makes this concrete: the team that ships the clearer success criteria gets the better agent run. The team that doesn't ships nothing — or worse, ships something convincing but wrong.&lt;/p&gt;

&lt;p&gt;The bottleneck used to be writing code. The bottleneck is now &lt;strong&gt;knowing what good looks like, in writing, before the work starts&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. IntentSpec is what an Outcome looks like before it's machine-readable
&lt;/h2&gt;

&lt;p&gt;This is the part most teams underestimate.&lt;/p&gt;

&lt;p&gt;An Outcome — the JSON object you hand to the grader — isn't where the work happens. It's the output of the work. The work happens upstream, when someone sits with a real piece of user friction and decides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is the actual &lt;strong&gt;objective&lt;/strong&gt;? (Not the feature. The change in user behavior.)&lt;/li&gt;
&lt;li&gt;What &lt;strong&gt;outcomes&lt;/strong&gt; would prove this worked? (Observable, decomposable, testable.)&lt;/li&gt;
&lt;li&gt;What &lt;strong&gt;edge cases&lt;/strong&gt; must hold? (The boring failure modes that ship bugs.)&lt;/li&gt;
&lt;li&gt;What &lt;strong&gt;constraints&lt;/strong&gt; can't be violated? (Invariants that don't show up in a happy path.)&lt;/li&gt;
&lt;li&gt;What &lt;strong&gt;evidence&lt;/strong&gt; grounds these decisions? (Tickets, interviews, telemetry — not vibes.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's a spec. Specifically, it's an &lt;a href="https://pathmode.io/playbook/anatomy-of-agent-ready-spec" rel="noopener noreferrer"&gt;agent-ready spec&lt;/a&gt;. When the spec is good, exporting it to an Outcome is a translation step. When the spec is missing, no amount of grader sophistication can rescue the run.&lt;/p&gt;

&lt;p&gt;We've been calling this artifact an &lt;strong&gt;IntentSpec&lt;/strong&gt;. The name doesn't matter. What matters is that the artifact exists, persists, and stays anchored to the evidence that justified it.&lt;/p&gt;




&lt;h2&gt;
  
  
  What this means for your team
&lt;/h2&gt;

&lt;p&gt;Outcomes makes the spec the load-bearing artifact in agentic delivery. That's a one-sentence reframe with three uncomfortable consequences.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The cost of vague tickets just went up.&lt;/strong&gt; Before, vague tickets cost a clarification meeting. Now they cost an agent run that completes successfully and produces the wrong thing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spec quality becomes a measurable input.&lt;/strong&gt; When the grader rejects the work, you don't have a model problem — you have a specification problem. That's a much faster feedback loop than waiting for QA to find the bug.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Specs need to live somewhere persistent.&lt;/strong&gt; Not in a Figma comment. Not at the bottom of a Linear ticket. Not in Sara's head. Somewhere the agent — and the next agent, and the next teammate — can read tomorrow and know what done means.&lt;/p&gt;

&lt;p&gt;Anthropic just made specs the contract. The teams that already write them well are about to look extremely smart. The teams that don't are about to find out, expensively, what an agent does with ambiguity.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://pathmode.io/blog/anthropic-just-made-specs-load-bearing" rel="noopener noreferrer"&gt;pathmode.io&lt;/a&gt;. Pathmode is the intent engineering platform — we help product teams write specs that agents can actually execute against.&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>ai</category>
      <category>anthropic</category>
      <category>agents</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The Three-Person Team</title>
      <dc:creator>Janne Lammi</dc:creator>
      <pubDate>Tue, 05 May 2026 11:44:14 +0000</pubDate>
      <link>https://dev.to/pathmodeio/the-three-person-team-2h0j</link>
      <guid>https://dev.to/pathmodeio/the-three-person-team-2h0j</guid>
      <description>&lt;p&gt;For most of my career, building software meant coordinating people who weren't in the same room, on the same artifact, or even on the same week of work. Specs went one place, designs went another, code came later. We built whole categories of tools to manage the gaps between them.&lt;/p&gt;

&lt;p&gt;I've been thinking about what happens when those gaps close.&lt;/p&gt;

&lt;p&gt;The old math made sense for a long time. Implementation was expensive and slow, so it paid to specialize and hand off. A team of twelve was reasonable, because no single person could hold the full picture, and the work itself took long enough to justify the coordination overhead.&lt;/p&gt;

&lt;p&gt;That math is changing, and the shape of the team is changing with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three lenses, one loop
&lt;/h2&gt;

&lt;p&gt;When AI absorbs &lt;a href="https://pathmode.io/blog/disappearing-middle" rel="noopener noreferrer"&gt;the middle of the work&lt;/a&gt; — the actual writing of code — a team stops scaling by adding hands. &lt;strong&gt;It scales by adding clearer judgment.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The shape that keeps showing up, when I look at the teams that seem to be working best, is small. Maybe three people. The number matters less than the lenses they bring:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;design lens&lt;/strong&gt; — someone holding user reality. They notice the friction, and carry the taste.&lt;/li&gt;
&lt;li&gt;An &lt;strong&gt;engineering lens&lt;/strong&gt; — someone holding system reality. They know what's possible, what's fragile, and what needs to scale.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;product lens&lt;/strong&gt; — someone holding business reality. They know the bet, the constraint, and the why.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These aren't really job titles. They're responsibilities for kinds of judgment a team can't outsource to an agent. Everyone on a small team prototypes, talks to users, reads analytics. But each person owns one form of reality, and the team doesn't ship until those three forms agree.&lt;/p&gt;

&lt;p&gt;You can see the shift starting to land in hiring. Job listings now ask for designers "comfortable operating without a defined brief," who can "prototype in code and present to stakeholders in the same afternoon," who "ship without waiting for research." Those aren't the traditional expectations of a senior designer. They describe someone carrying a lens on a small, AI-native team. The market is beginning to hire for shape of capability, not years of experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  One product, one surface
&lt;/h2&gt;

&lt;p&gt;The harder shift to defend, if you've spent years building inside a larger org, is what happens to handoffs.&lt;/p&gt;

&lt;p&gt;Handoffs used to be reasonable. PMs wrote specs because engineers couldn't read minds. Designers built Figma files because engineers couldn't ship without pixels. Tickets existed because the work was sliced across roles before it was sliced across time.&lt;/p&gt;

&lt;p&gt;What's happening on small AI-native teams is different. They work the same product, against the same artifact, at the same time. The product person isn't writing a doc the engineer will read next sprint. They're editing a living spec that the designer and engineer are also editing, while an agent prototypes against it in the background.&lt;/p&gt;

&lt;p&gt;Async work doesn't disappear. Deep work, time zones, review, reflection — those still matter. &lt;strong&gt;What disappears is the handoff as the default operating model.&lt;/strong&gt; The artifact passed between people stops being a Jira ticket and becomes something more like a shared intent: live, current, executable.&lt;/p&gt;

&lt;p&gt;There's no handoff because there's no gap.&lt;/p&gt;

&lt;h2&gt;
  
  
  The unit of work moves upstream
&lt;/h2&gt;

&lt;p&gt;When implementation gets cheap, the bottleneck doesn't disappear. It moves.&lt;/p&gt;

&lt;p&gt;The old unit was the pull request. The new unit, more and more, is the &lt;a href="https://pathmode.io/blog/spec-is-the-product" rel="noopener noreferrer"&gt;spec&lt;/a&gt;. Teams that work this way converge on intent before they touch code, because that's where the leverage is. Five minutes of clearer intent saves an hour of regenerated code.&lt;/p&gt;

&lt;p&gt;I think this is what makes the trio possible at all. Without a shared, structured definition of what's being built and why, three people pulling in three directions aren't a team. They're three threads of work an agent ships at speed.&lt;/p&gt;

&lt;p&gt;A concrete example. A churned customer says onboarding felt "empty" after they signed up. The product lens frames the business risk: activation is stalling. The design lens names the experiential gap: the user has no obvious next action. The engineering lens surfaces the system constraint: setup state is fragmented across three services. The spec they write isn't "add an onboarding checklist." It's something closer to: &lt;em&gt;make the first meaningful project action obvious within two minutes of signup, without introducing a parallel setup flow.&lt;/em&gt; That sentence is the unit of work. The agent builds against it, and the team verifies against it.&lt;/p&gt;

&lt;p&gt;The substrate the team works on isn't a Notion doc, or a Figma file, or a backlog. It's the intent itself: versioned, structured, traceable back to the friction that justified it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Evidence instead of phases
&lt;/h2&gt;

&lt;p&gt;The other thing that changes is when discovery happens.&lt;/p&gt;

&lt;p&gt;The teams I grew up in ran discovery in phases. A research sprint, then a planning sprint, then implementation. The customer sat somewhere upstream of the work, separated from the build by weeks of process and a slide deck nobody read twice.&lt;/p&gt;

&lt;p&gt;A small AI-native team doesn't really do phases. Friction signals (support tickets, session recordings, sales calls, churned-user interviews) flow into the same surface where specs live. Evidence stops being something a PM presents and starts being the substrate the team builds against.&lt;/p&gt;

&lt;p&gt;When friction enters the system, the team sees it. When a spec exists, it points back to the friction that justified it. When an agent ships a feature, the team can ask the boring, important question: did the friction actually decrease?&lt;/p&gt;

&lt;p&gt;This is the loop that bigger teams used to break through specialization. Smaller teams don't have to break it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Judgment is what's left
&lt;/h2&gt;

&lt;p&gt;I'm wary of writing anything that sounds like "X is the only thing that matters." Lots of things still matter — distribution, customer trust, proprietary data, domain depth, the brand you've built over years.&lt;/p&gt;

&lt;p&gt;But on top of all of that, when the cost of building drops, judgment becomes the new differentiator. The ability to look at a hundred possible features and pick the one that actually matters. The ability to look at five prototypes and feel which one is right. The ability to kill an idea your agent could ship in an afternoon, because it's the wrong idea.&lt;/p&gt;

&lt;p&gt;Velocity used to separate teams, but now velocity is becoming a commodity. What's left is the judgment behind what's being built, and the ability to articulate that judgment clearly enough that another person, or an agent, can act on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this falls apart
&lt;/h2&gt;

&lt;p&gt;The honest version of this argument has a limit.&lt;/p&gt;

&lt;p&gt;The three-lens team works when the problem space fits in three heads. It doesn't work as well for deep platform work, for regulated domains, for systems where a wrong intent has catastrophic consequences. A small team probably shouldn't be alone behind a hospital records system or a payments backbone. There's still a strong case for specialization where the cost of being wrong is high.&lt;/p&gt;

&lt;p&gt;But for the layer of software most teams actually build — applications, products, internal tools, features — this shape is already starting to show up. Not everywhere. In the teams I'm watching most closely, it already is the operating model.&lt;/p&gt;




&lt;p&gt;A small group, one product, one shared surface. Handoffs replaced by something closer to a shared intent that everyone — and every agent — can see.&lt;/p&gt;

&lt;p&gt;I don't think AI-native teams are getting smaller because companies want fewer people. I think they're getting smaller because the core work has shifted, from coordinating execution to shaping what's being built. The team of the next decade isn't a smaller version of the one you have today. It's a different shape.&lt;/p&gt;

&lt;p&gt;The headcount drop is the symptom. The change in shape is the point.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>leadership</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
