Loading...
Loading...
The first version was not broken. It was too much for the tool, the moment, and the person who had to run it.

The first version was not broken.
That made it harder to admit it was wrong.
I had built a system for a local nonprofit clinic. The goal was practical: take work that lived in scattered habits and make it easier to run. The clinic did not need theater. It needed something the people carrying the work could understand, trust, and use without me standing beside them.
The first build did too much.
It had logic. It had structure. It had the kind of internal neatness that makes a builder feel like the work is going well. It solved problems that were real. It also introduced a level of complexity that the situation could not carry.
That is a different kind of wrong.
Technically wrong is easier. A formula fails. A script throws an error. A button does nothing. You can point at the defect and fix it.
This was not that. The system worked in parts. The idea was defensible. The intent was good. But the whole thing asked too much from the tool and too much from the person who had to live with it.
So I tore it down and rebuilt it smaller.
Technology people like capability.
We like systems that handle edge cases. We like structure. We like clean models. We like workflows that account for what might happen later. There is a place for that. In regulated environments, missing an edge case can become a serious problem.
But a small business or nonprofit does not get value from every capability a builder can imagine. It gets value from the capability it can actually operate.
That distinction matters more than most consultants want to admit.
The first version of the clinic system had too much surface area. Too many places where a user had to understand what the system expected. Too many assumptions hidden inside the flow. Too many moments where the right next step made sense to me because I had built it, but would not be obvious to the person trying to run a clinic day.
That is not the client's failure.
If a system requires the builder's brain to operate, it is not finished.
I had to ask a colder question: would this still work when I was not in the room?
The answer was no.
The build was happening in the same world every small business now lives in: AI could help, but it could not take responsibility.
AI made pieces of the build faster. It helped draft code. It helped reason through formulas. It helped sketch options. But every layer I added gave the tool more room to be plausible in places where it needed to be exact.
That was the warning.
When a workflow is simple, AI assistance can be checked more easily. Does this tab exist? Does this value go here? Does this button do one clear thing? Does the user understand the result?
When the workflow gets too clever, review gets harder. The tool can produce more code, but the business has less ability to inspect it. The consultant can understand the system, but the client becomes dependent on the consultant. The file may function, but the person using it starts to feel like they are borrowing someone else's machine.
That is not independence. That is a new dependency with better branding.
I do not want to leave clients with that.
The goal was not to prove what I could build. The goal was to leave behind something the client could run.
The uncomfortable part was not the rebuild. Rebuilding is work, but it is clean work. You make decisions. You remove pieces. You simplify the path.
The uncomfortable part was admitting that the first version reflected my bias as a builder.
I saw a system. The client needed a routine.
I saw possible future cases. The client needed the next clinic day to go smoothly.
I saw places where automation could reduce manual effort. The client needed enough visibility to trust what was happening.
None of those builder instincts are bad on their own. They become bad when they outrun the client's capacity to own the result.
Small organizations often have fragile technology not because they are careless, but because every tool is competing with real work. The person using the system is not sitting in a training lab. They are answering messages, handling exceptions, managing people, finding missing information, and trying to keep the day moving.
A system that requires calm, focused attention every time it is used may fail in exactly the environment it was meant to support.
That was the lesson.
The second version was smaller on purpose.
Fewer moving parts. Fewer assumptions. Fewer places where the user had to remember what the system meant. More visible steps. More plain language. Less cleverness.
I treated every feature as guilty until it proved it deserved to stay.
Does this reduce real work, or does it only make the design look complete?
Does this make the next step clearer, or does it require explanation?
Can the client fix a simple mistake without calling me?
Can the system fail in a way that is visible instead of silent?
Can someone learn it while carrying the normal pressure of the day?
Those questions changed the build.
The second version did less, and that was the point. It did the part that mattered. It gave the client a path they could understand. It made the work easier without hiding the work completely. It left room for the organization to grow into the system instead of being pinned underneath it.
Then came the part that matters most: teaching the client to run it.
A handoff is not a meeting where the consultant explains what they built. A handoff is the moment where the client proves the system is no longer yours.
If they cannot operate it, it has not been handed off.
AI makes overbuilding easier.
That sentence should make every consultant a little nervous.
When code takes longer to write, complexity has natural friction. When AI can draft the first version quickly, it becomes easier to add one more feature, one more automation, one more conditional branch, one more helper script.
The output arrives fast enough that the builder can mistake speed for fit.
But the client still carries the complexity burden. Not necessarily in money. In attention. In confidence. In maintenance. In the quiet fear that touching the system will break something.
That burden is real.
For owner-run businesses without technical staff, the right build is often the smallest system that makes the work safer, clearer, and easier to repeat. Not the most complete system. Not the most impressive system. The smallest useful one.
That does not mean settling for poor work. It means respecting the operating reality.
The business has to run the thing on a bad day.
I am glad I built the wrong thing first, but only because I caught it before pretending it was right.
The mistake clarified the standard. Good technology is not the thing the builder can defend. It is the thing the client can carry.
That standard has changed how I approach AI adoption work. I still use AI. I still build. I still believe small organizations can do more than they could a year ago. But I trust smaller first versions more than grand designs. I trust visible workflows more than hidden magic. I trust teaching more than dependence.
The consultant's ego wants to leave behind something impressive.
The client needs something durable.
Durable is usually plainer than impressive. It has fewer parts. It has clearer ownership. It has an undo path. It has documentation normal people can read. It survives the week after the consultant leaves.
That is the work I am interested in now.
Not proving what AI can build.
Proving what a small business can actually use.
If your first AI build needs to be smaller before it becomes useful, start a conversation.
Related Reading
More Insights
← Back to all articles