Our quick answer: for most business applications, no. After 15+ years of agency work, creating custom software for clients, we saw how there is always the need for customisation. That being said, custom software how we knew it has to evolve.

The need for tailored software is real

A standard tool can get you a long way. Then you reach the details that make your business different: the last ~20% of any process is where your edge lives. It may be a small part of the whole, but it contains much of the knowledge that makes your business good at what it does.

Buying another SaaS product rarely resolves the whole problem. You gain a feature, another subscription and another place where information lives. Soon, customer data is spread across several tools, and integrations hold the process together. Changing a field in one place can mean fixing the connections around it. Or very often, you can even change that one field.

The appeal of building your own application is obvious. You could put everything in one place and make it work exactly as you need. When AI can produce a working prototype in hours, that option becomes even more tempting.

We agree with the ambition. The problem lies in the reality of building and maintaining custom software, whether it's vibe code or done the "traditional way".

Custom software, standard problems

The biggest part every project is repetitive work: server setup, security, permissions, user login, emails and forms, etc. None of it should be custom.

Every project needs these fundamentals to work reliably. Very few businesses gain an advantage from having their own implementation of them.

Of course agencies rarely start from zero. They reuse code, templates and frameworks to cover the basics. Copying a proven foundation saves time at the start, but each copy becomes another version to maintain. As projects evolve, their code and dependencies diverge. A security fix or improvement then needs to be applied and tested across each version.

AI can write that code faster. It can also reproduce the same maintenance burden faster. A generated login system still needs to be secured. A generated permission check still needs to be correct. The fact that the first version was cheap does little to settle who will take responsibility for it over the following years.

The expensive part comes after launch

In our experience, the initial build was never the biggest cost over the life of a system. Adapting it as the business grew consumed the most time and energy.

A business learns by operating. Yet custom software is often built as if the important learning should be finished before development begins.

A team adds a service. An approval process changes. A customer needs an exception that becomes standard six months later. Each change sounds reasonable in isolation. In a custom codebase, it can touch assumptions spread across the application.

With agency-built software, that can leave a business dependent on the people who wrote it. A one-off application may receive little attention between projects. Bringing in a new team means paying for them to understand it, and even the original team may struggle to predict the cost of a change. The software gradually becomes something the business hesitates to touch.

Good engineering and ongoing investment can prevent this. Our question is whether an ordinary business application should require that level of dedicated effort in the first place.

Vibe coding is useful within its limits

Vibe coding means asking AI to generate and change an application, often without closely examining the code it produces. We see real value in that for a personal tool, a prototype or a small internal helper. It is a quick way to try an idea and learn whether it is useful.

We would not use that approach on its own as the basis for an enterprise production system. A convincing demo leaves too much unanswered. Can one customer access another customer's records? What happens if an operation fails halfway through? Who understands the system well enough to diagnose a problem and safely change it?

Security, permissions, data integrity and maintenance need clear answers and someone accountable for them. An AI-generated application can receive the engineering work needed for production, but that work brings you back to owning and maintaining custom software. Generating code is easy compared with running it reliably over time.

The next step for the evolution of custom software: a higher foundation

Software development has a long history of moving common work into reusable foundations. Programming languages made it easier to work above machine instructions. Frameworks packaged recurring application patterns. Cloud services took on parts of operating infrastructure. Platforms bring more of those capabilities together.

At each step, builders can spend more time on what their software should do for the people using it.

Vibe coding alone does not make the same move. If the AI generates your login, permissions and infrastructure code, those parts still become yours to host, secure and maintain. The work has been accelerated, but the responsibility remains.

The real next step is a higher baseline: platforms where the standard parts come ready-made and you only shape what's unique. You shape the data, relationships and workflows that are specific to your business. The platform supplies the common foundation.

That changes where expertise matters most. Understanding the problem, deciding how information belongs together and connecting the right systems become the central work.

AI makes a good data model more valuable

When assistants can work with business tools through interfaces such as MCP, the structure of the data matters even more. An assistant needs to know what a customer is, which projects belong to that customer and what a project's status means.

A coherent model gives both people and assistants something dependable to work with. Scattered copies and ambiguous fields make even a simple request harder to interpret.

We expect more non-technical user to shape their own software at this level. They will need to understand their data and processes. AI can help translate that understanding into a working setup without making them responsible for a generated codebase.

Tailored software should become normal and custom code the exception

Custom code still makes sense when the software itself is the product, or when there are genuine technical constraints: extreme performance requirements, specialised behaviour or unusually deep integrations. In those cases, dedicated engineering can be essential.

But for everyday business operations, let's not reinvent the wheel and get held back by the limitation of an old code base. Stop rebuilding what's already solved and rather spend effort on what makes the business different.

Adaptability matters more than a perfect first version. Your data should remain accessible to you, and your workflows and data models should be easy to change as your understanding improves.

Why we are building Klarino

Klarino puts this approach into practice. A shared database layer sits alongside a familiar interface with all the basics built in. AI and add-ons functionality help teams shape their business applications exactly how they need it.

We want businesses to have software that fits them and remains practical to change. After 15 years of building custom software, that is where we see the greatest opportunity: making a better fit possible without handing every business another codebase to look after.