The primitive is the product | Amplify Partners
Projects to Know Issue 128<br>Read Now
Menu
Thoughts<br>Engineering and Infrastructure
The primitive is the product
Lenny Pruss
Share
For as long as software has existed it’s been principally designed for human consumption.<br>Users clicked buttons, navigated workflows, learned new interfaces. They spent years developing muscle memory for products like Excel, Photoshop, Salesforce, Github, Jira, etc.<br>And so emerged a simple logic governing software economics: own more workflows, capture more value.<br>In this era, features became the currency of software. Every new feature expanded the product's surface area, increased switching costs, and pulled users deeper into the platform.<br>AI completely subverts this logic.<br>The most important characteristic of the AI platform shift has less to do with the new technological foundation (e.g. the model) we’re building on, and much more to do with the new type of user (e.g. the agent) we’ve introduced.<br>Agents, which are already consuming a rapidly expanding share of software, have a completely different interaction model than humans. They don’t navigate software so much as they intuit and compose it. Because the native language of the agent is code, they don’t see your GUI, but they do consume your API spec.<br>More plainly, agents could care less about dashboards, buttons, settings pages, etc. They care purely about capabilities, e.g. the inputs, outputs, and explicit constraints of your program and whether those can be invoked and chained reliably.<br>My friend David Crawshaw, founder of exe.dev (and before that Tailscale), put it best: “the best product for an agent is just the best product for a developer.” It's no surprise that agents become dramatically more reliable when a prompt simply begins with ssh!<br>Suddenly, every software company needs to start thinking like a developer tools company.<br>The Tao of HashiCorp<br>Long before LLMs, HashiCorp figured out something many software companies missed.<br>Users don't want features, they want outcomes. Thus, the job of a product is to collapse complexity into the smallest yet most powerful abstraction that enables those outcomes.<br>This philosophy became known as the Tao of HashiCorp.<br>HashiCorp understood that the hardest problem in software is not implementation, rather it's deciding where to draw these lines of abstraction. Where should the system be opinionated vs. where should it remain extensible? Where should complexity be hidden vs. where should it be exposed?<br>The magic of HashiCorp was never in building the most feature-complete products which provisioned infrastructure or managed secrets. Their genius was in deeply understanding the practitioner and their workflows and identifying the right abstraction for the job to be done.<br>Take Terraform. Rather than encoding the logic for every infra management workflow into the product itself, it exposed a lower-level building block: a declarative graph of resources and their dependencies. That primitive was just opinionated enough to get developers productive immediately, yet extensible enough that thousands of providers, modules, and internal platforms emerged around it. The differentiator was in composability.<br>HashiCorp recognized that technology can be but an implementation detail. What mattered was finding the abstraction that cleanly captures the underlying workflow while hiding unnecessary complexity. The power was not in the product but in the primitive!<br>And once you get the primitive right, it becomes the building block that everyone else standardizes around. The abstraction ultimately becomes the interface, the interface becomes the ecosystem, and the ecosystem becomes your competitive advantage.<br>Thinking like a dev tools company: the primitive-first mindset<br>The philosophy outlined in the Tao of HashiCorp provides a blueprint that every software company will need to internalize in the age of agents. But doing so requires a radical departure from how most products have been designed since the very birth of the software industry.<br>First and foremost, teams need to stop thinking in terms of features and prescriptive workflows and start thinking in terms of abstractions and capabilities.<br>Features are a liability for agents. Every feature expands the decision space an agent must reason about. More features mean more edge cases, more ambiguity, and more failure modes. At best, this translates into higher token spend, and at worst, into busted agent behavior.<br>Agents naturally gravitate toward the smallest stable abstraction. So, in an agent-first world, the most important question facing product teams is not what features and why, but instead how do I design the right primitive{{primitive-fn-1}}?<br>Building great developer tools (e.g. primitives) has always been an exercise in exquisite taste and deep domain expertise because it requires balancing a set of competing, and often contradictory, forces: namely the tension between expressivity and...