“Everything is an API”

Decoupling data from presentation

“Everything is an API”

The most impactful effect of LLMs might not have much to do with human interaction at all.

At our Go Restive event earlier this year, Anish Acharya (formerly of Credit Karma and now an investor at A16Z) made a point that perfectly condensed an idea that has been running around in my head for months: “everything is an API.” What he meant is that LLM-powered agents can now interact programmatically with other computer systems. It will be a boon to consumers and a huge convenience, of course, but the ramifications go far beyond those narrow use cases, completely redefining how our entire technology infrastructure develops.

LLM interoperability will completely redefine how our entire technology infrastructure develops.

To understand the impact, it is important to appreciate two related concepts: networking and adversarial interoperability. Networking caused the explosion in information technology in the late ’90s; that was how the Internet was born. Without networking, every computer is a static island. Unfortunately, just connecting two computers doesn’t necessarily do much; they all need to run compatible software. Sometimes that software is designed with interoperability in mind (e.g. web browsers), but most software is not interoperable by design—either out of indifference or outright hostility.

A good example of indifference is a word processor. It exists to take text input and turn it into publishable output. There’s no underlying reason why it would need to interoperate with other software, so nobody bothered to build in that functionality. Early versions of Microsoft Word literally just dumped the memory state of the application into a file when the user saved the document.

It wasn’t an unreasonable thing to do; doing a memdump certainly saved the devs a lot of time by not requiring any kind of parser. Unfortunately for other platforms, there was no good way to develop any kind of cross-compatibility with MS Office files. Presumably, Microsoft considered this lock-in to be rather more of a feature than a bug. Eventually, in 2004, Apple succeeded in building support into their applications for these formats (which sounds like a pretty incredible feat of reverse-engineering). Soon, Google followed with its online productivity suite, creating a reasonably vibrant ecosystem of worker productivity tools that could all interoperate.

All of this interoperability, however, took tremendous development effort. It turns out that getting computers to talk to each other is incredibly difficult when they haven’t been designed with that as a design goal. At my old startup, Prism, we encountered a similar problem: we wanted to present consumers with their financial information, but doing so required us to interoperate with the websites of various banks and billers (tens of thousands of them), most of which were indifferent to our presence—but some were outright opposed. Eventually, entire companies like Plaid evolved to imperfectly address this problem.

LLMs completely change the game. They are incredibly skilled at bridging the human/machine interaction gap, which is one of the reasons that interacting with them feels so natural. That skill, though, also allows them to function as powerful middlemen: interacting with computers via the human interface in order to interoperate. In the future we won’t need APIs; we’ll simply point an LLM at a preexisting interface and tell it to do something.

LLMs entirely decouple the data layer from the presentation layer at scale

A year ago, I coded up a quick demo for a talk I was giving at a conference. It did nothing more than send screenshots of a webpage (in that case, my Amex login) and ask GPT to report the coordinates of the login box, password field, etc. and then used simple GUI automation tools to navigate the site, each time screenshotting and asking the LLM to figure out what the page was showing and what interactions would accomplish the desired goal (in this case, paying my bill). It worked . . . well enough for a demo, at least. Now, less than a year later, the major frontier AI companies have built this tooling into their products, and it works well enough for real-world use. Almost everything we spent years building at Prism can now be generated, in real time, by an LLM. It’s absolutely incredible!

More important, though, this technology completely changes the dynamics around interoperability. There’s just no way to stop it now. If a consumer wants an LLM to go pay their bills, it’ll work. Even more profoundly, closed networks will no longer be closed. Until now, there was no straightforward way to get the information about your kid’s soccer schedule out of Facebook without also being forced to consume the algorithmic ragebait. You could not easily gather your account balances at a bank that didn’t support Plaid (or Prism). No longer. This reality is also part of the reason why I think JPMorgan’s recent announcement to extort fintech companies for API access simply doesn’t matter very much.

Put another way, LLMs entirely decouple the data layer from the presentation layer at scale. The future belongs to the interoperators and the innovators who will be able to get at data that has long been locked away in siloed systems.

As I keep saying, it’s an exciting time.