“We’ll Just Build It With AI”: What That Costs at Customer Two
You probably did build it with AI, and that is why the system exists at all. Assistance made the first version faster and cheaper than it has ever been. What it did not do is decide what stays shared when a second business signs — and on three installs we measured, 29 migrations ended up carrying the same number and different content.
The part that is completely true
Building the first version has never been cheaper. Assistance genuinely collapses the cost of getting something working: a system that would have needed a team and a year now gets built by one person who understands the business, in weeks. That is real, it is not going away, and it is usually why the internal software being discussed exists at all.
So when someone says they will just build it themselves, the honest answer is that they already did, and it worked.
The second version is a different problem
Version one has one user base, one set of rules, one company's vocabulary, and one integration per category. Every assumption is free, because there is nobody to disagree with them.
Version two has to decide, for every one of those assumptions, whether it is universal, whether it becomes a setting, whether it belongs to one customer only, or whether you refuse to support it. That is not a coding problem. It is a judgement made hundreds of times, months apart, usually by whoever is closest to a deadline.
Assistance makes writing the code cheap. It does not make the decision, and the decision is the expensive part.
What that looks like measured
We forked our own system twice, both times with AI assistance throughout, both times by competent people who knew what a shared core was supposed to be. Read from all three databases a few months later:
| What was measured | Result |
|---|---|
| Migration numbers shared across three installs | 60 |
| Same number, different content | 29 |
| Tables across all three | 103 |
| Identical column for column | 11 |
| Tables that drifted after the copy, unnoticed | 13 |
| Intended shared core | ~80% |
| Measured shared core | ~25% |
Nobody decided to drift. Each change was small, correct in its own context, and made by somebody who had no way of seeing the other two systems at that moment. Faster typing would have produced the same result sooner.
Where the tools genuinely do not help
- Tenancy. Adding an organisation key to every table and rewriting every access policy after a customer is live is the most expensive change on this road, and no assistant will tell you to do it before you need it.
- The boundary. Core versus configuration is a judgement about your industry, not about your code. It has to be made by somebody who knows what other businesses in your vertical actually do differently.
- Refusal. Deciding what the product will not support is a commercial decision. Assistance will happily build every request that arrives.
- Operating it. A job that stopped three weeks ago without erroring is the failure nobody reports, and nothing writes that alarm for you.
What to do with the advantage you have
The speed is a genuine advantage and it should be used. Build the first version fast, with whatever assistance you like. Then, before the second business signs, spend the time on the four things above — because those are cheap now and expensive later, and they are the same four things whether the code was written by a person, a team, or a model.
The order matters more than the tooling. The four questions are the same regardless of what wrote the code.
When this does not apply
If the system will only ever serve your own company, none of this is worth thinking about. Build it however you like, as fast as you like, and change it whenever the business changes. All of this only becomes true the day somebody outside asks to use it.
Which rung is your system actually on?
The Platform Readiness Review is seven days and $2,500. A map of what you have built, where the core-versus-configuration boundary really falls, the assumptions that break when a second business signs, and a 90-day plan including what to postpone. If it is not ready to be productized, we say so and you keep the map.