← Apoorva Sharma

Why Software Needs to Go Headless

The interface was never the product

For so long we confused the two. The interface was how value got delivered, so we treated it as the value itself. Entire companies competed on buttons, dashboards, and onboarding flows. Design became a moat.

But the interface was always a translation layer. It existed to convert what a human wanted into what a machine could execute. Every dropdown, every form, every wizard is a compromise between human cognition and machine capability.

Agents don't need the compromise. An agent doesn't want your dashboard. It wants your capabilities, exposed directly, with clean contracts and honest error messages. The head of your software, the part you spent years polishing, is overhead to your fastest growing user segment.

Why this is happening now

The FDE role exists because custom technology used to be brutally expensive to procure. SaaS solved that for the big common problems. Stripe for payments, Uber for transport, DoorDash for delivery. Standardized software ate the standardizable world.

Custom software stayed a walled garden. Then AI blew the gates open. Every company exploded its catalog with AI-enabled features, and customers armed with their own AI tools started asking for things no roadmap anticipated. Custom is the norm now, not the exception.

Here's the problem. AI does some things very well and most things poorly, and customers can't tell which is which. A gap formed between what customers believe is possible and what companies can actually deliver, and companies can't delineate fast enough. I've sat in the meetings. The same product-scale problems, discussed weekly, for years.

The only way to close that gap at speed is to let agents work the software directly. Quick wins need to ship in days, not quarters. That requires an interface agents can use. Humans clicking through screens is the bottleneck.

What headless actually means

Headless doesn't mean deleting your UI. It means your UI becomes one client among many, and stops being the privileged one.

Concretely, it means three things:

Every capability in your product is reachable without a screen. If a human can do it by clicking, an agent can do it by calling. No capability lives only behind a button.

Your system explains itself. Agents can't call support. Your APIs need to expose what's possible, what's not, and why an action failed, in language a model can act on. Documentation stops being a courtesy and becomes a runtime dependency.

State is inspectable. An agent operating your software needs to know what just happened and what it changed. If your product's state only renders visually, agents are flying blind inside it.

Go headless internally first

Here's the move most companies miss: you don't wait for the market to demand headless. You go headless internally, now.

Your own FDEs and engineers should be the first agents' first customers. Expose your capabilities internally, train agents on that interface, and let them churn out the quick-win cases. That keeps revenue moving and compounds your rate of learning. Your experienced people stay on the big bets, where judgment matters, and funnel deep technical feedback back to engineering.

The companies doing this are building two things at once: a product agents can operate, and an organization that learns at agent speed. The companies that aren't are polishing a head that fewer and fewer users will ever see.

The uncomfortable part

If you run a software company, some version of this is true for you: your most expensive asset is an interface, and your fastest growing user can't see it.

That's not a reason to panic. It's a reason to reorder. The value was never the screens. It was the capabilities underneath, the data, the workflows, the domain logic. Headless just forces you to admit it.

Software is going headless. Agents are the new users. The question isn't whether your product will be operated by machines. It's whether you built the version of your product that machines can operate, or whether someone else will.