AI

The login button absolutely works

I asked a model to build me a small experimental site during one of my geek hours. I had colors, layout, and intent in mind, and wanted to see what it would make of them. This was before the whole boss-agent-with-a-staff era – just one model and me.

A few minutes later, I had a gorgeous site running on localhost. It had even added a few details I had not asked for that were, annoyingly, exactly right. It was astonishing.

“The website is ready. You can log in at http://localhost:8080.”

I clicked Log in.

Nothing.

No press state. No color change. No login. The thing might as well have been painted on.

Reload. Still nothing.

“The login button does not work.”

It inspected the button code. Changed how the button was implemented. Assured me that it would absolutely work this time. Please reload and log in.

Nope.

The tests it had written were green. I read them. I have the QA scar tissue to understand them. They were not fake, and they were not obviously incomplete. They proved that the button logic worked when something invoked it.

They did not prove that a person could click the damned thing.

More changes to the button. More assurances that it would absolutely work. More me becoming slightly ruder.

This was around the time I started naming the things I yell at. Mostly because shouting “you” at a terminal gets confusing.

I did not find the bug by being cleverer at CSS than the model. I had one irritating fact that would not fit its explanation: I was clicking, and nothing was happening.

Eventually I stopped arguing about the button.

“Stop. You are checking the button code. Are you checking for other things that might be blocking it?”

Invisible overlay. Intercepting every increasingly annoyed click.

The button had been fine the entire time.

Once we were looking in the right place, the fix took minutes. The site itself had taken about two minutes to build. Convincing the model to stop repairing the working button took more than an hour.

This is the part of working with capable models that remains difficult to describe without sounding as though one of the two halves must be exaggerated. The site really was good. The model really had built it in minutes. The tests really were green. And I really did spend the next hour clicking a button that absolutely worked, underneath the invisible thing swallowing every click.

I did not diagnose the overlay. My contribution was less glamorous and, I suspect, more important: I refused to accept an explanation that contradicted what was happening in front of me. Then I made the search bigger.

Green tests are evidence. They are not a veto over your eyeballs.

It is the same stubbornness behind mail on disk first. The model does not get to talk me out of the click, or the spinner, or the schema just because its explanation is internally tidy.

And feeling like a developer turns out to have less to do with personally typing every line than I once thought. Sometimes it means being the person in the room who says, “Your theory is lovely. The button still does nothing.”

Astonishment is allowed.

So is “stop looking at the button.”

~ Trish

← All notes