LLMs and the future of customer-built software design

David Peterson
Angular Ventures
Published in
6 min readApr 3, 2023

--

Subscribe here to receive new Angular blogs, data reports, and newsletters directly to your inbox.

With the release of GPT-4, it’s become clear that LLMs are surprisingly good at writing snippets of code, so much so that software development and design will likely change forever. But how?

The most obvious first order impact is the disruption of software development itself. Software developers will use LLMs as coding assistants, increasing productivity and driving down the cost of development. This is already happening. Coding copilots are widely available via Github and Replit, and pretty much every developer I know is using ChatGPT regularly to augment their work.

However, I’m much more interested in the second order impacts. For example, how will software itself change now that computers can write code?

My hope is that we finally enter an age where software creation is democratized. For the past 50 years, we’ve lived in a world of disempowered computing. We’ve been surrounded by opinionated, purpose-built software that is powerful, but incredibly restrictive. Customer-built products (often called “end-user programming” systems) have sought to solve this problem by empowering users to build their own software. But I think it’s fair to say that no company — not VisiCalc, not Hypercard, not Zapier, not Webflow, and not even my beloved Airtable — has built a sufficiently powerful, yet widely usable, customer-built product yet.

These products have failed to reach their full potential because they’re either too complex (serving only power users), or they end up weighed down by feature bloat (alienating new users).

I think LLMs have the potential to solve both of these problems and fundamentally change the way these sorts of products are designed. And it’s my contention that the first customer-built product to go truly mainstream (not just millions of users, hundreds of millions) will be built with AI at its core.

The failure of customer-built products to reach their full potential

The key to any customer-built product is the ratio of power to simplicity. The core primitives need to be simple enough for the average user to be able to understand through exploration alone, but powerful enough to serve as a foundation for mission-critical systems.

In reality, I think this is an impossible balance to strike. No customer-built product has been simple enough to truly “cross the chasm” and go mainstream. Inevitably, customer-built products all become the domain of power users. Airtable is intuitive, but it’s intimidating. Same with spreadsheets. In both cases, you need a fair amount of know-how to set them up correctly. This makes it incredibly hard to drive growth. You’re robbed of all the tactics of standard PLG. Slick onboarding flows flop, referral loops falter. As I’ve detailed in the past, the only way to grow is to educate your users and empower them to build systems with your product. There are no shortcuts.

Focusing on end user education and customer success only gets you so far, however. Eventually, every product gets drawn into adding features to enable more specific use cases. And this is where things go (even further) awry.

As these products add features to increase power for the expert user, and abstract away complexity for the average user, they alienate new users. The core product may still be a thing of beauty, but it’s hiding behind layers of bloat.

Let’s use Airtable as an example of how this happens.

We built Airtable with an API from day one to serve as an escape hatch and forestall this inevitability. Soon after, we launched the Blocks SDK to enable developers to build apps within the Airtable GUI itself. Yes, both of these features required developers, but at least the core app remained relatively simple!

That soon changed. Log in today and tell me what you see. Automations. Table sync. Interface designer. Views that should be apps. Apps that should be views. It’s a bit of a mess. And all of those features were incredibly expensive (in both time and money) to build. I still love Airtable and use it every day, but I’m happy I started using it back in 2015. If I signed up today, I’m not sure I’d have the wherewithal to stick around.

The same exact thing has happened with every other customer-built product that has ever reached any sort of scale. Well-intentioned feature bloat has undermined the very thing that made the products special to begin with.

The future of customer-built software design

I think LLMs have the potential to solve both of these problems and fundamentally change the way these sorts of products are designed.

First, LLM-powered chatbots are all the rage these days. I’m generally not a huge fan, but a friendly, help center-trained LLM, embedded in the product, able to provide real-time, problem-specific support, may be able to lower the barrier to entry for new users, thereby increasing the pool of potential power users out there. That could start to solve the first problem facing customer-built products in a way that templates, webinars and onboarding guides never could. Remember, the key to customer-built growth is leveling up your users and empowering them to build. If this sort of modern, smart and contextual Clippy were available back in 2017, I would have fought to implement it immediately.

Second, if LLMs can write code, could they build dynamic, ephemeral GUIs, extensions and modifications, replacing the bloat that plagues every product out there?

Airtable could replace Interface Designer with custom, throwaway UIs. Zapier could spin up new integrations on-demand. Think of the engineering time saved. Imagine the product complexity removed.

Now I’m not sure how this would work in practice. The design paradigm still needs to be sorted out (if customer-built products devolve into a series of chat boxes, I think that’d be a mistake). But practitioners are already playing around with exactly this sort of idea. See this ”IDE-UI-on-demand” demo from Vasek Mlejnsky.

Or this “dynamic interface designer” demo from @wenquai. Or this “ephemeral UI” demo from Sean Grove. Geoffrey Litt covers some of these ideas in his piece on “malleable software” as well.

None of this means software development no longer matters. If anything, the thoughtful development of the core product matters even more. It’s almost as if moving forward you’ll have to design your product and your product’s API simultaneously, knowing that users (and LLMs) will be building with both from day 1. Are there any non-obvious endpoints that need to be made available? Do you need some sort of programmatic API for manipulating the UI to power throwaway GUIs? Some products (like Airtable) were already built with the API in mind from the very beginning, but this will become the norm.

What opportunities does this suggest for entrepreneurs?

If software design evolves in this way, there will be countless opportunities for entrepreneurs. Here are a few that come to mind:

First, there will need to be some sort of LLMOps / LLM orchestration layer to manage the use of LLMs to write and deploy code in these products in real-time. Perhaps this is one of the use cases that existing LLMOps platforms will be used for, or perhaps there’s room for another player.

Second, there will need to be security guardrails. How do you ensure that users aren’t inadvertently prompting code that introduces security vulnerabilities? Automated testing will become increasingly important as well.

Third, the next great customer-built product will be built now. As I’ve said, I love Airtable, but it’s clear to me that the product would be designed differently if GPT-4 had existed back in 2015. The next Airtable can be built more quickly and more cheaply, leaving more time to tune the balance of power and simplicity. If you’re a founder who reads Alan Kay, pines for the days of Hypercard and coded with Lego Logo as a kid…reach out. I’d love to talk to you. Now is your moment.

--

--