How to Use AI Without Lying to Yourself
Part II
The app works . That's the problem .
If it didn't work you could start over , declare bankruptcy , begin with dignity. But it works. It works well enough that you showed it to someone last week and they said oh that's cool and now you have to keep going. Somewhere inside the thing are about a thousand lines of code you have not opened in three weeks . You know what they do the way you know what your router does. It's in the corner. It blinks. Don't touch it.
You need to change one thing. Small thing. Ten-minute thing , probably, for someone who knows the codebase. You are not that person . You are the person who built the codebase. These are different people now.
You don't open the file. You open the chat and type something like: the login flow isn't handling the edge case where the user already exists can you fix it. You feel the vagueness as you type it. The prompt is soft in the middle. You know this. You send it anyway because what's the alternative, reading the code? Absolutely not. We do not do that here .
The model fixes the edge case . Then , because it has the enthusiasm of a contractor who just realized you have no idea what anything costs , it mentions four other things it could improve while it's in there.
You say yes to two of them.
The app still works. It is now larger. You are now more afraid of it. The next prompt will be vaguer than this one , because the distance between what you wanted and what you have is wider than yesterday, and yesterday you were already squinting.
This is not a story about AI writing bad code. The code is probably fine. It is a story about building a thing you are increasingly scared to look at , kept alive by a chat
window and the specific human talent for not asking questions you don't want answered.
You built this. You cannot read it. You are adding features to it .
The contract renegotiation starts here.
***