Your AI app runs on your laptop. That's the easy part.
ENGINEERING
OCTOBER 5, 2026

Your AI app runs on your laptop. That's the easy part.

5 min read
BACK TO BLOG

The gap between "it runs" and "a stranger can use it" is not more features. It is a short list of unglamorous things nobody told you about.

You had an idea. You opened Lovable, or Cursor, or Base44, or Claude Code, and over a few evenings a thing appeared that genuinely does what you meant. You can click through it. It looks like the picture in your head.

And now it has been sitting there for weeks.

Not because you lost interest. Because some instinct — correct, by the way — is telling you that putting a real customer on it would be a bad idea, and you cannot name what the bad idea is.

I want to name it.

"Done" means something different than you think

When you were building, done meant the screen does the thing. That is a real milestone and you should not let anyone sneer at it. People have been talking about their idea for years; you have a running version of yours.

But the next definition of done is not an extension of that one. It is a different question entirely: what happens when someone who is not you, and does not want it to work, uses this?

Your coding tool was never asked that. It answered every question you put to it, accurately, and it had no reason to raise the ones you did not think to ask.

The list is shorter than you fear

Almost everything that stands between a working prototype and something you can put a customer on falls into five buckets. None of them are exotic.

Who can see what. Right now, is there anything stopping one customer from loading another customer's data by changing a number in the address bar? In an AI-built app the answer is very often no, because "add login" and "make sure people can only read their own rows" sound like the same task and are not.

What happens when it breaks. Not if. A payment fails, an email bounces, a form half-submits on a train. Does the app tell someone, or does it fail politely and quietly and leave the customer thinking you ignored them?

What you cannot change later. This is the one nobody warns you about. An app with no tests is not just risky — it is finished, in the worst sense. Every future change risks breaking something you cannot check, so the rational move becomes never touching it, and the thing calcifies.

Where the secrets are. Keys to your database, your payment provider, your email service. If any of them shipped into the part of the app that runs in the customer's browser, they are not secrets any more, and the app will carry on working perfectly while that is true.

Who owns it. A question with a real answer that most founders ask third and should ask first.

Why didn't any of this show up while you were building?

Because every one of these faults is invisible from the inside.

You are the only user. You have one account, so there is nobody else's data to leak into. You never get errors because you click the happy path — you built the happy path. You do not need tests because you remember how it all works.

The app is not lying to you. It is answering a much easier question than the one you are about to ask it.

What I would do first, in your position

Not hire anyone. Not rewrite anything.

Open your app, log in, and try to read your own data from a browser where you are not logged in. Copy the address of a page that shows something private, open a private window, paste it in. If you can see it, you have found the most important thing on this page and it took ninety seconds.

Then look at whether anything, anywhere, would tell you if the app threw an error at three in the morning. Not a log you could go and read — something that actively reaches you.

Those two answers will tell you more about where you really are than any amount of adding features.

And if it turns out you are nearly there

That happens, and more often than the people selling rescues would like to admit. Plenty of AI-built apps are genuinely close, and the honest answer is a week of unglamorous work rather than a project.

I am one engineer. I have no interest in talking you into something larger than what you have got, because I would be the one who has to do it.


Run the free website check — it looks at a public site, not your app, but it is a fair sample of how I work: it finds specific faults and tells you which ones actually matter.

If you have something half-built and you want a straight read on what stands between it and a real customer, tell me what you have got. If the answer is "less than you think", I will say that.

SHARE
5 min read
Read More

MORE ARTICLES

MSUFCU turned its own website off. That was the right call.
Engineering
Engineering

MSUFCU turned its own website off. That was the right call.

A PHP flaw became unauthenticated remote code execution with no workaround, so banks and governments went dark on purpose. What happened in Lansing, and why.

I gave an AI agent a wallet and a spending limit
Engineering
Engineering

I gave an AI agent a wallet and a spending limit

An autonomous client paid for its own API call in stablecoins. The payment was the easy half — the interesting half is the record of what it was refused.

The demo worked because you built it on your own data
Engineering
Engineering

The demo worked because you built it on your own data

The most expensive failure in applied AI is the one that looks like a success. Here is the test that catches it, and why it has to be able to fail.

How to read the arithmetic on a views guarantee
Engineering
Engineering

How to read the arithmetic on a views guarantee

A real offer promises 10 million views in 90 days or you do not pay. Here is the division that tells you what you are actually buying.