ChatGPT turns every user into a power user

Using an API1 or CLI2 is like flying from a pilot’s cockpit: you have hundreds of knobs and switches to control everything from the voltage of interior lighting to the exact angle to set your flaps in a turn. This lets you zoom through the skies at 1,000 km/h to anywhere you want. But without comprehensive knowledge and extensive training, you’re more likely to crash spectacularly.

A pilot's cockpit with hundreds of knobs and switches What a power user’s dashboard looks like

Using a GUI3 is like driving a modern car with a big touchscreen: you have a carefully curated set of controls optimized for ergonomics and passenger comfort. You’re limited to 100 km/h along pre-made roads for your convenience—but you only need a minimum amount of training which most adults get as a rite of passage.

A sleek, modern car dashboard with minimal controls and a huge touchscreen What a casual user’s dashboard looks like

But what if you want to dump excess gasoline on the street, turn with a tighter radius, or cruise lower to the ground? Airplanes come with simple settings that allow you to do all these things. But in a car? Too bad, you can only use whatever button the car manufacturer thought to include in the GUI, and you can’t make those modifications without becoming a trained expert and disassembling the car.

From dashboards to spreadsheets

It’s a meme that “All enterprise software competes with Excel” because if you’re trying to build enterprise software, you’ll be building a GUI incrementally via Agile software development to slowly expand its set of capabilities. Any feature you didn’t think to include can be implemented by the user via the ultimate power feature: “Export to CSV”.

You code up a bunch of pre-made charts and add buttons to Add/Edit/Delete data from your SaaS dashboard. Ta-Da! You have successfully delivered value to your users 🤗 Users find it easier and quicker to tap your App icon than trying to export their data to CSV and do their own analysis in Excel.

But your users are not interested in your dashboard! They are interested in their data. They will use your dashboard only because they don’t have the knowledge, time, or expertise to mess around with Excel or Python.

You might see where this is going…

LLMs turn every API into a GUI

LLMs4 are very good at understanding your casual request for data and giving you code that can be executed to fulfill your request. This means anyone—even the casual user who doesn’t know what a VLOOKUP formula is in Excel or what a materialized view is in a SQL query—can summon a GUI into existence just by asking their LLM assistant for a program to do what they want.

Does your enterprise software lack a button to give login access en-mass to the 100 new teammates you onboarded? Just ask your LLM for one. It’ll write the CLI program and generate a button you can click to execute that code.

Does your GUI hotel review app lack the ability to filter hotels by distance? Ask your LLM to access the API directly and it’ll turn the search distance parameter into a visual slider that it just generated for you.

Stripe Radar Assistant lets anyone translate English into a rules-engine DSL

Stripe Radar Assistant lets anyone translate English into a rules-engine DSL

Airtable Cobuilder lets anyone set up complex database schemas using English

Airtable Cobuilder lets anyone translate English into complex database schemas

With LLMs, every user can become a power user and directly execute generated computer programs using every API option available, even if you haven’t built a GUI for it yet.

From GUIs to APIs

What are the implications? This might mean that instead of working on the backlog of features to add to the GUI, you stop building a fancier GUI and just lean into a more powerful API or “Export to CSV” feature, and trust that your users will just ask the LLM to solve their actual problem using data from the API, without needing to go to the GUI as an intermediate tool.

You’ll always need delightful documentation for the API for true power users in cases where LLMs aren’t good enough yet, and the docs also help you turn the API into embeddings to tune the LLM.

You can look at the most commonly generated code for direct evidence of user needs that aren’t supported by the current GUI. Your users have already given you a product roadmap, it’s the features they’ve built themselves using the LLM! Even better, you can copy/paste that generated code to accelerate building the GUI for these features.

From No-code to LLM-code

No-code tools like Webflow or Airtable are popular even for seasoned developers because they save so much time to get started on your web app. But again, no-code tools only let the user do what you’ve explicitly offered. Today, Airtable only supports basic database operations. If you want advanced querying, you have to use the API.

You could spend time building complex databases in Airtable, or you can let the user ask the LLM to generate the API code for multi-step queries.

What if the future of a user interface is no dashboard at all, just a chat box?

I only publish half of my writing publicly. You can read the rest of my essays on my private email list:

Subscribing is free, no spam ever, and you can safely unsubscribe anytime

Footnotes

  1. Application Programming Interface: A set of rules that lets two different computers interact with each other and communicate data. 

  2. Command Line Interface: A text-based method for a human to interact with a computer using only a keyboard, such as a command prompt. 

  3. Graphical User Interface: A visual method for a human to interact with a computer using a mouse, such as by using windows, icons, and buttons, rather than by typing text commands. 

  4. Large Language Model. The generic term for a tool like ChatGPT that includes other language models.