
The End of Software: When the Interface Dissolves and the System Begins to Generate Itself
For decades, software was screen, button, and menu — a frozen machine the human operated. That contract is ending. The next software isn't operated: it's instructed, and it rewrites itself in real time for every person who touches it.
The button is a fossil. Every time you click "Export to PDF," you're operating a decision some engineer made in 2019, froze into pixels, and packaged into a binary. The software we use is, in the literal sense, another person's thought solidified — a photograph of an old intention you're forced to reenact with the mouse. For seventy years this was normal. It was the only way. The machine didn't know what you wanted, so someone had to guess in advance every possible path and draw a screen for each one. The graphical interface doesn't exist because it's the best way for a human to say what they want. It exists because the machine was deaf.
That's over. It's not going to be over — it's over, silently, at some point between GPT-3 and today's agent models. What isn't over yet is our perception. We keep building screens with the faith of people who never knew how to do anything else, the same way the first automobiles had a whip holder. The machine's deafness was the founding premise of the entire software industry, and that premise has fallen. When the founding premise of a sector falls and no one rewrites the assumptions, you're not looking at an incremental improvement. You're looking at the end of a category.
The interface was a scar, not a virtue
It's worth being precise about what an interface really is, because the product industry spent decades treating the interface as the product. A menu is a finite list of things the system knows how to do, exposed because the system can't understand what you'd say in your own words. A form is a structured interrogation: the system forces you to translate a human, continuous intention ("I want to rebook this trip because my flight was delayed") into a sequence of discrete fields the database can swallow. Every dropdown, every five-step wizard, every "did you mean?", every tooltip — all of it is scar tissue. They're prosthetics for an incapacity: the machine didn't understand language, didn't understand context, didn't understand you.
UX became an entire discipline dedicated to minimizing the pain of that translation. Brilliant designers spent entire careers reducing the number of clicks between intention and result, because every click is a small humiliation — a moment when the human bends to the grammar of the machine instead of the other way around. Stripe was revered not because processing a payment is beautiful, but because they reduced dozens of checkout screens to something that barely got in the way. The highest praise a product could receive was "intuitive," which is a polite word for "I managed to guess what the engineers guessed I'd want." Consider the absurdity: the pinnacle of software design was the user and the builder guessing at each other through a wall of glass.
The wall has fallen. And when the machine begins to understand intention directly — in language, with context, with memory of what you did before — the interface stops being a virtue and goes back to being what it always was: a scar. Keeping the menu when the system understands the sentence is like keeping the whip holder on the car. It's archaeology. The products that will dominate the next decade aren't the ones with the best interface. They're the ones with the least — the ones that can dissolve the translation to the point where you forget you're using a machine.
Answering is not executing — and that's the entire frontier
There's a confusion that needs to die, because it's making smart people underestimate what's happening. The ChatGPT that writes an email for you is impressive, but it's an oracle: it answers. You still copy, paste, adjust, send. The real work — the act — is still yours. An oracle is a productivity improvement. It's autocomplete on steroids. It's useful, it sells subscriptions, but it doesn't change the nature of software.
The fracture is in the word "execute." An agent that has access to your inbox, your calendar, the airline's API, and your credit card doesn't answer "here's a draft of how to rebook your flight." It rebooks it. It reads the delay email, cross-references the calendar, identifies that the 2 p.m. meeting in Lisbon is now unfeasible, rebooks the flight choosing the connection that still gets you there in time, notifies the people in the meeting, updates the hotel, and sends you a single line: "done, you now arrive at 4:40 p.m., meetings rescheduled, hotel extended one night, extra cost 230 euros, confirm?" The difference between these two things isn't one of degree. It's one of kind. One is text about the world. The other is a change in the world.
This is the threshold where software as we know it truly ends. Software was always a tool the human operates to cause an effect. The effect was mediated: you moved the mouse, the screen responded, the state changed, and you verified with your eyes. The agent collapses that chain. It has the goal, it has the tools, it has the approximate judgment of when to stop and ask. The human leaves the execution loop and enters the supervision loop. And when the human leaves the execution loop, all the screens that existed to mediate that execution — every button, every flow — lose their reason to exist. It's not that they become ugly. It's that they become empty. No one will operate them, because the operation has been outsourced to something that doesn't need a screen to operate.
Notice that the companies that have understood this best have stopped talking about "features." Anthropic, OpenAI, Cloudflare with its Workers and now its agents — the vocabulary has shifted from "what the product does" to "what the product can accomplish autonomously." It's a shift of axis. The old axis was capability exposed on a screen. The new axis is capability exercised without a screen.
Navigation generated live: the site that has search versus the site that is decided
I want to force a distinction that seems subtle and is, in fact, the heart of everything. There's an abyss between a site that has a search box and a site whose entire experience is decided the moment you arrive.
The site with search is the current paradigm, and we mistake it for personalization because it moves a little. Amazon has search, recommendations, "people who bought this bought that." But the structure is fixed. The shelves exist before you arrive. The page's modules were designed by a product team, A/B tested, and what changes between two users is the content that pours into immutable containers. You're a liquid spilled into a prefabricated mold. The mold doesn't know you. It knows "users like you" — a segment, a cluster, a statistical average into which you were forcibly stuffed.
The site that is decided live has no shelves. It has, in fact, no "pages" in the sense you understand. When you arrive, a system considers who you are, what you did last time, what you just said, what your likely goal is at this specific moment — and generates the interface. It doesn't choose among prebuilt interfaces: it generates. If you're a buyer comparing three models, it hands you a comparison table no one designed in advance, assembled now, with exactly the three options that matter to you and exactly the attributes you care about. If you're someone who already bought and came back with a problem, it doesn't even show you the storefront — it shows you the status of your order and a path to resolution. The "homepage" stops being a place and becomes an event. It happens once, for you, and never exists the same way again.
This is the difference between seasoning a ready-made meal and having a chef who asks what you're in the mood for. The site with search is an enormous buffet where you hunt for what you want. The site decided live is someone who already knew what you'd want and plated the dish before you sat down. And the point almost everyone gets wrong: this isn't "better personalization." It's the end of screen design as an activity. Because if the screen is generated by context at every interaction, there's no longer "the screen" for a designer to draw. There's a generation system, a grammar, constraints, intentions — and the final artifact sprouts from that, different every time. The designer stops painting pictures and starts cultivating a garden that grows on its own in directions he guides but doesn't control.
There are people doing this in a rudimentary way already. UI generation from a prompt, components that assemble themselves from a description, dashboards that reconfigure themselves around the question you ask. It's crude, it's slow, it hallucinates, it errs. Just like the first graphical browsers were crude. What matters isn't the current state of execution. It's that the direction is irreversible, because once the user tastes an interface that molds itself to them, the fixed interface starts to look like what it is: rigid, dumb, made for someone else.
What this does to knowledge work
Now the uncomfortable part, because this is where money, jobs, and identity live.
Knowledge work, in its vast majority, is the operation of software by humans. The financial analyst who extracts data from a system, dumps it into Excel, formats it, concludes. The marketing professional who builds the campaign across six different tools, copying data from one to another. The junior lawyer reviewing contracts hunting for clauses. The recruiter filtering résumés. The support agent navigating five tabs to resolve a ticket. Look closely and almost all office work is this: a human serving as glue between systems that don't talk to each other, translating intention into clicks, transporting data from one screen to another, and exercising low-level judgment along the way. The human is the middleware. The human is the integration that was never built.
The agent is the integration, built. When the system understands intention and has access to the tools, the transport of data between screens — which was half the workday of half a billion people — simply disappears. It's not that the work gets faster. It's that the category of work "operate software to move information" stops existing as a human occupation. This isn't a risky prediction. It's almost arithmetic. If the reason you exist in that chair is that the systems were deaf and someone had to translate, and the systems have stopped being deaf, the chair no longer has a function.
But the easy conclusion — "everyone's going to be replaced" — is as lazy as denial. What disappears is the operation. What grows is judgment, the definition of the goal, and supervision. The financial analyst who was valued for speed in Excel loses value; the one valued for knowing which question is worth asking gains. The work migrates from "how do I do this" to "what should be done and how do I know the agent did it right." There's a reorganization of layers, not an evacuation. The low layers — mechanical execution — are absorbed by the machine. The high layers — intention, taste, responsibility, ethics, judgment under ambiguity — remain, and grow denser, because now each human decision commands a much larger lever. A human with ten competent agents produces what once required a department. The department doesn't become ten departments. It becomes that human.
Who's going to suffer isn't "the knowledge worker" in the abstract. It's the one who built their entire professional identity on operation and nothing on intention. It's the professional who is masterful at using the tool and mediocre at knowing why and when. That profile was rewarded for thirty years because operating the tool was hard and scarce. The scarcity has evaporated. And whenever a scarcity evaporates, the premium it paid evaporates with it, indifferent to how hard that skill was to acquire.
And who programs? Code is also an interface — and it's dissolving
Programmers love to think they're on the safe side of this transformation, building the thing that eats the other jobs. It's a comfortable and partly false illusion. Code is an interface — perhaps the purest interface that exists. It's the way a human tells the machine, with painful precision, exactly what to do, because the machine was too dumb to understand anything less than exact. The entire industry of programming languages, frameworks, libraries, design patterns, is a giant tower of accumulated scars to work around the same deafness. You write for (let i = 0; i < arr.length; i++) not because that's how humans think, but because the machine demanded that ritual.
When the machine understands intention, the ritual becomes negotiable. I'm not saying the naïve fantasy of "no one will program, you'll just ask in plain English." Plain English is ambiguous, and ambiguity doesn't build reliable systems — someone still has to specify with rigor, still has to understand what happens when the agent errs, still has to design the architecture, the limits, the guarantees. But the proportion changes radically. The part of programming work that was typing — translating an already-understood solution into the specific syntax of a language — that part is exactly the kind of mechanical translation the machine now does. The programmer who was valued for typing the obvious solution fast loses value for the same reason the Excel analyst loses it.
What rises is architecture, systems judgment, the ability to decide what to build and to know whether what was built is correct, safe, and isn't going to blow up in production at three in the morning. What rises is the ability to review — because when an agent generates ten thousand lines, the bottleneck stops being writing them and becomes trusting them. The programmer of the near future looks less like a typist and more like an architect who gives dense briefings, supervises executions, and answers for the integrity of the result. Notice that this has already been the job of the best senior engineers for years — they already program by intention, delegating the details to juniors. The change is that the junior is now a machine, infinite, cheap, and improving every quarter.
There's a detail few digest: if software becomes systems that generate themselves in real time, part of the "code" stops being written in advance by anyone. The system generates itself on the spot, for the context. This means the artifact "software," that binary you compiled and versioned and distributed, begins to dissolve in the same direction as the interface. There's no longer "the build" in the classic sense, when half the behavior is decided live by a model responding to context. Versioning, deployment, QA — the entire machinery of engineering that exists to tame static artifacts has to be reinvented for an artifact that changes with every execution. This is an immense problem, still poorly solved, and it's exactly why it's where the hard and valuable work of the next decade lies: how do you guarantee, audit, test, and hold accountable a software that doesn't sit still enough to be inspected?
The invisible architecture: why this was inevitable
I see this the way I see almost everything: as a question of invisible architecture reorganizing itself. Software was never screens and buttons. Screens and buttons were the surface layer, the shell, the way the thing manifested to the human given a constraint of the era. The thing itself was always something else: logic that transforms intention into an effect on the state of the world. Intention goes in, some decision is made, something in the world changes. Screens were just the input/output protocol when the only available channel was sight and the only input device was a human clicking.
When you see software this way — as a machine for transforming intention into effect — it becomes obvious that the graphical interface was a historical accident, not an essence. It solved the input/output problem in a specific era. Natural language solves it better. Contextual generation solves it better still. The shell was destined to be swapped the moment the machine gained the capacity to understand intention directly and generate the appropriate output on the spot. That moment has arrived. The shell is being swapped. The core — transforming intention into effect — remains, more powerful than ever, now without needing to pass through the bottleneck of human fingers on a keyboard.
This also explains why so many people in the industry are paralyzed. They built identity, companies, and careers on the shell. They mistook the shell for the thing. They invested billions in screen design, in design systems, in component libraries, in front-end frameworks — an entire civilization erected on the assumption that software = screens that humans operate. When you mistake the manifestation for the essence, swapping the manifestation feels like the end of the world. It's not the end of the world. It's the end of the shell. The core is more alive than ever, and whoever understands this stops mourning the shell and goes to build the new core.
AI here is not a product. It's an infrastructure layer, the way electricity was, the way TCP/IP was, the way the browser was. No one buys electricity for the electricity; you buy what it powers. AI is the substrate that dissolves the frontier between intention and execution, and everything built on the premise that this frontier required a human operating a screen is going to be rewritten. Not because someone decided. Because the premise fell, and structures built on premises that have fallen collapse on their own, in their own time, without asking permission.
What to build when the ground moves
The practical question, for those who build: what to do now, in 2026, without falling into either denial or hype?
First, stop treating the interface as the product. If your competitive advantage is a beautiful screen that organizes features, you're selling shell in an era of core. The screen is going to become a commodity generated by context. The right question isn't "how do I make my interface better," it's "if my product's entire navigation were decided live, what value would remain?" What remains is what you know that no one else knows, the data only you have, the trust you built, the quality of the judgment embedded in your system, the depth of integration with the real world. Substance remains. Surface disappears.
Second, build for execution, not for answering. Every product that today "answers" — that gives you information so you can act — is in a fragile position, because the competitor who executes is going to eat you. The question is always: does my product tell you what to do, or does it do it? If it tells, you're a layer the user's agent will skip. If it does, you're the tool the agent uses. There's a gigantic difference between being skipped and being used, and it defines who survives.
Third — and this is the most counterintuitive — invest in the boring problem of trust in systems that generate themselves. When software decides live, executes without click-by-click supervision, and generates its own interface, the bottleneck stops being capability and becomes trust. How do I know the agent did it right? How do I audit a decision that was never explicitly coded? How do I hold accountable a system whose behavior changes with every execution? How do I prevent it from doing something catastrophic with the autonomy I gave it? Whoever solves this — observability, guarantees, reversibility, agent governance — will sell the shovel in a gold rush where everyone else is obsessed with the next shiny feature. History rewards whoever builds the trust infrastructure of the new layer, not whoever builds the most impressive demo of it.
Software as we know it is ending, and that's not a turn of phrase. It's a literal description of a founding premise that has fallen. Fixed screens, menus, buttons, frozen flows, code typed line by line, entire departments serving as glue between deaf systems — all of it was infrastructure for a limitation that no longer exists. What comes is not faster or prettier software. It's a different thing: systems that understand, decide, execute, and generate themselves, molded live to each intention that touches them. The shell we called software is going to look, in ten years, the way the whip holder looks on a car. A touching vestige of an era when the machine was deaf and we, gently, shouted at it through a wall of glass. The wall has fallen. Now the machine hears. And almost no one has yet understood what it means to stop shouting.
FAQ

Founder. Systems builder. Signal reader. I spend my days understanding how technology, business, health and AI are reorganizing — and articulating what comes next.
Computational sovereignty: why AI needs to come back to your machine
Intelligence has become a rented service. The next cycle is intelligence that runs on hardware you own — and that no one can switch off.
AI as a decision layer: the loop that separates those who built a system from those who bought a tool
Most companies have AI the way they have a vacuum cleaner: grab it, use it, put it away. The structural turn is something else entirely — it's when intelligence stops being an endpoint and becomes the tissue where every workflow reads context, decides, and learns.
The next cycle, before the headline.
An occasional letter: one reading, one architecture, one signal. No noise, no rush.