UIs Are Not Dead
AIs replace UIs and APIs.
@naval on X
Why UI still matters
It's somewhat true
There is a growing take that agents, CLIs, and MCP clients make UI irrelevant. There is some truth in it.
Agents can be more capable than a traditional interface. Asking one to search the web, compare sources, or move across tools can be easier than clicking through the whole thing yourself.
But AI does not remove interface work. It moves the interface into new shapes: prompts, confirmations, and handoffs between tools.
Bad UI is easier to replace
Bloated interfaces, unintuitive UI, and thin API wrappers are easy to replace.
So are flows that make the user hold the workflow in their head.
Good UI earns its place by making the system understandable. It tells you what is happening, what it needs from you, and what happens next.
What actually wins
Nope. The AI you use right now is UI that talks to APIs.
@shadcn on X
Context wins
MCPs and CLIs look like they are winning because agents can get context there so easily.
The terminal is not magic. The context is.
A coding agent does not feel useful because it uses a terminal. It feels useful because it can see the repo, the diff, and the test output.
A product UI can do the same thing if context is built in, instead of carried by the user. Connectors and saved state matter more than the shape of the UI.
Nobody wants to copy and paste context between tools. What products need to solve is the ecosystem around the interface, so it already knows enough to help.
The easier path wins
Embedded product interfaces do not get that advantage for free.
Imagine asking an agent to change a billing setting through chat alone. Without a product surface, you have to explain the account, plan, permission model, and risk in the prompt.
A better product already knows the account, shows the likely action, and asks for confirmation only where the change matters.
That is how interfaces remove friction. They know when to ask, when to act, and what to remember.
Defaults win
If everything moved through CLIs and MCP clients, the agent would need to infer the product on the fly.
Good interfaces are not indecisive. They make bets: "this action is common," "this one is risky," "this default is usually right."
Those bets come from usage, research, support, and taste. Once the product has a point of view, agentic behavior has somewhere to live. It becomes part of the core workflow instead of a pile of possible operations.
The modern product engineer
What product engineering means
This is why product engineering matters more as software gets more capable.
It is not just frontend engineering with nicer taste. It is deciding what context the system should remember, which defaults are safe, and where users still need control.
This is the part of the work I care about most. The system should know enough to help, show progress clearly, and be honest when an action is risky.
That work often gets mistaken for polish. It is not. It is what makes real products feel real.
What really matters
AI raises the bar because it makes software more ambiguous. When a system can do more, the user needs more clarity, not less. Better state. Better defaults. Feedback that makes the next step obvious.
UIs are not dead.
The lazy version is.