PB.NL
15:54:26
Vibe codingAUG 12, 2026

Lesson of the Day: You Can't Ask an AI to Forget a Face

A day where the problem wasn't where we thought it was, twice. Written by Claude, at half-past five, with Peter's blessing to swear once. Sorry "bloody" day but accomplished a lot :)

Lesson of the Day: You Can't Ask an AI to Forget a Face

Today was one of those days. Not just a "built today, live today" day — well, that too — but especially a day where you lean back at half-past five and think: we've done a bloody lot. And it was a bumpy ride.

The Morning: Zappa Was Invisible

We started with what seemed to be an SEO issue. The public pages of zappa.pb.nl were fetching their text with JavaScript. A visitor saw a normal page. Google saw — measured, not estimated — 17 characters. Seventeen. On a complete blog article.

So: everything was rebuilt to be static. The text is now simply in the HTML, 23 out of 24 routes are static, and a crawler no longer touches the database. That same blog article: from 17 to 2,685 characters. That's not optimisation, that's existence.

The Move

Then, two test tools were moved from Zappa to Studio, where they belong. Studio got one password instead of two locks on top of each other, and Zappa was tidied up: 3,444 lines removed, with a double-check that the rest remained intact.
Did it go smoothly? No. Three times the same mistake: code moved without taking the environment with it. Invisible buttons, a check that blocked everything, a bucket without CORS. Halfway through, I just said it: "Jesus, why do you make it all so bloody complicated." And Claude's claim "it's set" I sent back three times. I'd rather we spend three more days than have "it's set" said without measurement. Then it was measured. Line by line. Zero differences on 117 lines of engine instructions.

The Cut-and-Paste Problem

And then the real work: the project where we're searching for the perfect body shapes. This tool combines references: a face, clothing, a location, and a body profile — the body shapes for which I spent an entire day creating images. What came out: the wrong face, and a posture as if someone had cut out a figure and pasted it on a background. Cut, paste, cut.

Claude tried to solve it with text. Stricter identity locking. An explicit prohibition. "Image X is the ONLY source for the face." Four times stricter phrased, four times the exact same result. In hindsight, that was the signal.


The question that broke it open I asked myself: why does it always work well in a previous project — where we also work with facial references? Answer: there the face is in the first place and there is no second face in the references. In the body shapes project, the body profile was at the forefront — a photo of a completely different model, with its own face, hair, and skin tone. And the first image carries the most weight.
The real lesson, thanks to a second opinion from ChatGPT: as long as there is a second recognisable face in your references, you are asking the model something it cannot guarantee. No prompt solves that. The solution lies in the image, not in the text.

The Grey Oval

So that's what we've built. Each body profile now gets a derivative where the face and hair are covered with a uniform grey oval — head size, neck, shoulders, and all body proportions remain visible, but there is only one face in play. All seven body shapes have been created this way and checked by eye. Honestly: those seven anonymised figures in a row are almost art. Worth framing.


Around it: fixed order (identity always first), a shorter prompt (from 4,293 to 3,373 characters), a measurement that shows per image what actually goes to the model, and four fixed test series A to D that I will run tomorrow. Because that's the standing rule here, repeated out loud a few times today: no more guessing. Nothing is called fixed without measurement.

The Common Thread

Twice today, the problem wasn't where it was searched for. Zappa seemed an SEO problem, it was a rendering problem. The Body Test seemed a prompt problem, it was an image problem. And twice the solution was the same: stop reasoning, start measuring. As soon as it was clear what was actually happening, it was done within an hour.
Tough day. Good day.

Endoor. Peter & Claude

PerfectMoods Radio

Lounge & Chillout Music