From App to Agent: Why Classic Applications Won't Disappear, but Will Look Different
Also available in German: Von der App zum Agenten: Warum klassische Anwendungen nicht verschwinden, aber anders aussehen
The thesis
Classic applications are not going away. They are, however, losing their role as the place where people type in data, and becoming the reliable core that agents and people work on together.
“The future is AI agents and chat” is something I now hear in almost every project conversation. The obvious follow-up question: should we still build forms, input screens and dashboards at all? My answer after several months of running my own agents day to day: yes, but differently. The real question is less “app or agent” and more: who does the work, and where does the human decide?
In this post I describe how the architecture shifts as a result, and show it with two examples of my own: my receipts agent for bookkeeping, and HourPay, which started as a classic time-tracking app and now runs as an agent.
What stays: the deterministic core
Agents need something to act on. That is exactly what classic applications have always done well: a clean data model, business rules, permissions, transactions and an audit trail.
A language model is probabilistic. A booking, an invoice or a statement of work has to be deterministically correct. That is why the core does not become less important but more important: it is no longer called by a single UI, but by any number of agents that access it faster and more often than any human.
In its guide to effective agents, Anthropic deliberately distinguishes between workflows with a predefined flow and agents that steer their own path, and recommends starting with the simplest solution (Building effective agents). My reading for enterprise software: intelligence belongs at the edges, truth belongs in the core.
API and MCP first, the interface second
If you build an application today, design the domain logic first as a clean API and additionally expose it as an MCP server. The UI then becomes just one client among several.
The Model Context Protocol has become the de facto standard for how agents access tools and data. In December 2025, Anthropic handed MCP over to the newly founded Agentic AI Foundation under the Linux Foundation, backed among others by OpenAI, Google, Microsoft and AWS (Phoronix). That makes it no longer a vendor format but open infrastructure, comparable to the Language Server Protocol for IDEs (MCP specification).
In practice, this means designing tools the way an agent needs them:
- Named by domain:
record_work_entry, notPOST /api/v2/entries. - Idempotent and validated: Agents retry calls. Duplicate bookings must be caught by the core, not the model.
- With clear permissions: reading, proposing and booking are separate rights.
- With events, not just CRUD: agents should be able to react to events, not only query.
Build it this way and you have an application that a person can use through a UI, an agent through MCP and another system through the API, all equally. In my own setup this is not a vision of the future: my agents reach mailboxes, documents and other systems through MCP servers instead of hand-built integrations.
UI on demand: the interface appears where it is needed
Chat is a good entry point but a poor results view. You happily type “show me all open items older than 30 days” in natural language. But you want the result as a table you can sort and tick off, not as prose to read.
The answer is UI on demand: the request arrives as intent, the response as a fitting view. There is now a standard for this. With MCP Apps (SEP-1865), MCP servers can deliver interactive interfaces directly to the chat client, where they run in a sandboxed environment (SEP-1865). The extension unifies the approaches of MCP-UI and OpenAI’s Apps SDK. It is supported in ChatGPT, VS Code Copilot Chat and Goose, among others (morphllm).
For application developers, this shifts the question. No longer “which input screens does the app need?” but “which views does a person need to make a decision?” There are usually three kinds:
- Overview: dashboards and lists you take in at a glance.
- Review: the agent’s proposals with reasons, ready to approve or correct.
- Exceptions: whatever the agent could not assign with confidence and needs a human answer.
Everything else, meaning the classic input form, becomes the exception for cases that leave no digital trace.
Data capture, rethought
Data capture changes the most. People no longer retype what already exists as a trace; they confirm a draft.
Almost every working hour and every expense leaves traces: calendar entries, commits, tickets, emails, invoices, bank transactions. An agent reads these sources, builds a proposal with its reasoning, and the core checks it against fixed rules such as required fields, valid projects, daily limits or locked periods. Only then does a human see it.
Whatever leaves no trace, such as a phone call or an on-site meeting, is added freely: as a chat message or voice note that the agent turns into a structured entry. The same pattern works for receipts, travel expenses, maintenance logs or CRM upkeep.
Example 1: the receipts agent
My monthly bookkeeping now runs through an agent that collects receipts and matches them. Nothing is booked until I confirm.
The starting point was classic: an expense ledger as a macro-enabled Excel file in SharePoint that I filled in by hand every month. Receipts came from Gmail, Outlook, Amazon and on paper, plus bank and credit card statements to reconcile against.
The agent did not replace the spreadsheet. It replaced the typing:
- Signals: invoices from the mailboxes, orders, bank statements, photographed paper receipts. The agent reaches the mailboxes through MCP servers.
- Draft: a local model behind a LiteLLM gateway in my homelab proposes matches between receipts and transactions and writes them to a suggestions file.
- Rules: the normal flow stays deterministic, as scripts. The model may propose but never book.
- Approval: I review the proposals. Only then is an import file created, which a button transfers into the expense ledger.
- System of record: the ledger itself is never changed directly, backups included.
The result is unspectacular in the best sense. The Excel file that goes to my tax advisor looks the same as always. The only thing that changed is who does the work.
Example 2: HourPay, from timer app to agent
HourPay started as a classic app and now runs as an agent. This project shows the shift most clearly.
The first version in spring 2026 was textbook web development: React and TypeScript on the front end, Node.js with SQLite on the back end, a live timer, clients and categories, a monthly dashboard, CSV and Excel export, and finally a statement of work as a PDF with signature lines. The data source was me: start the timer, stop it, pick a category, type a description.
That part was exactly the problem. Time tracking rarely fails because of the software. It fails because you forget to press the timer.
The agent version turns this around. It pulls together what I worked on from the traces of my working day and builds the entries from them. The input form becomes a review.
| HourPay as an app | HourPay as an agent | |
|---|---|---|
| Who captures | me, via timer and form | the agent, from existing traces |
| Role of the human | enter data | review and approve the draft |
| Main interface | timer and input form | review before month-end close |
| Data model and rules | clients, categories, rounding | unchanged |
| Output | statement of work as PDF | unchanged |
The last two rows are the real point. What the client sees and signs at the end has stayed the same. All that disappeared is the screen where I typed in data.
A topic of its own: model routing
When every work step can be a model call, choosing the model becomes an architecture decision. Which task does code solve, which a small local model, which a large frontier model, and who decides that at runtime? For the receipts agent, the answer today is deliberately simple: script first, the model only where the script finds no unambiguous match, and financial data stays inside my network.
Behind this sits a topic of its own, with gateways, cost, data protection and fallbacks. It will get a dedicated post.
Where the limits are
Not every application becomes an agent, and not every agent is a good idea. I see four limits in practice.
Classic UI stays where speed and routine matter. Point of sale, IDEs, CAD or dispatch live on high frequency and muscle memory. Putting a chat in front of them makes them slower, not better.
Many agent projects fail. Gartner expects more than 40 percent of agentic AI projects to be cancelled by the end of 2027 due to cost, unclear value or inadequate risk controls. Even so, Gartner expects around a third of enterprise software to include agentic AI by 2028 (Gartner). Both fit together: agents pay off where they take real work off people’s hands, not as a label.
Data protection and labour law. As a sole proprietor, it is no problem for me if an agent analyses my calendar and commits. Inside a company, this quickly becomes a monitoring measure. In Austria, systems that monitor employees and affect human dignity require the works council’s consent in the form of a works agreement (§ 96 ArbVG). Without a works council, employees must consent individually (§ 10 AVRAG). The Austrian Supreme Court’s decision on biometric fingerprint scanners shows that time tracking can fall under this (OGH).
Traceability. Billable hours and booked receipts must remain verifiable. That is why nothing is submitted automatically in my setup: every entry carries its reasoning, which signals support it, and a human approves.
Outlook and rules of thumb
The coming years do not belong to chat instead of apps, but to applications that cleanly separate who does the work and where the human decides.
Gartner describes this development in stages: from embedded assistants, through task-specific agents in individual applications, to agent ecosystems that collaborate across applications (Gartner). I see the direction confirmed in my own daily work.
My next step is topic agents: one agent per area that knows everything about its topic, for example for the homelab or the receipts. Each of them talks to its systems through APIs and MCP, and the same pattern applies everywhere.
If you start a new project today, six rules help:
- Build the core solidly: data model, rules, permissions and audit, classic and deterministic.
- API and MCP as the primary interface: domain-named, idempotent tools with separate rights for reading, proposing and booking.
- Replace capturing with finding: use existing traces instead of making people type.
- UI on demand: lean interfaces for overview, review and exceptions, with chat as the entry point.
- Route models through a gateway: code before a small model before a large model, roles instead of hard-wired model names.
- No auto-submit: the agent proposes, the human approves, the system books.
Sources
- Anthropic: Building effective agents, December 2024
- Model Context Protocol: Specification 2025-11-25
- Phoronix: Linux Foundation’s Newest Endeavor: The Agentic AI Foundation, 9 December 2025
- Model Context Protocol: SEP-1865, MCP Apps: Interactive User Interfaces for MCP
- morphllm: MCP Apps: The Spec That Turns MCP Servers Into UI Platforms
- Gartner: Gartner Predicts Over 40% of Agentic AI Projects Will Be Canceled by End of 2027, 25 June 2025
- Gartner: Gartner Predicts 40% of Enterprise Apps Will Feature Task-Specific AI Agents by 2026, 26 August 2025
- § 96 Austrian Labour Constitution Act (ArbVG)
- § 10 Austrian Employment Contract Law Adaptation Act (AVRAG)
- OGH (Austrian Supreme Court): Works council participation rights in the introduction of a biometric time-tracking system
Transparency: This post was created with AI assistance. I reviewed it and take responsibility for the content. More under AI Transparency.