A day in the engine room: how our AI interface learned to work
Some working days can be summed up in one sentence. This one needs a few more — and that is exactly why we are writing it down.
The morning: an honest defeat
The day began with an acceptance test that went thoroughly wrong. Our new interface lets AI assistants maintain blog posts and their images directly in the estate agent software. The posts worked on the first try, the images did not: of five uploads three arrived damaged, and instead of photos the website showed white bars.
The cause was instructive. A language model can process text superbly, but image data it has to pass through character by character — and it miscounts reliably as soon as patterns repeat. The consequence was clear: images must not flow through the AI at all.
The afternoon: a better way
So we rebuilt the upload route. The AI now only announces that it wants to upload a file, and receives a one-time address for it. The actual bytes then travel straight from the hard disk to the server — at original size, verified and without a detour through a language model. For images from the web, the server fetches the source itself.
Added to that were the handles that make a media library usable in the first place: delete, rename and move, all through the same interface. The four damaged test files from the morning were cleaned up by the AI itself that evening.
The evening: the finishing touch
In the third stage the interface finally learned every metadata field: search engine texts, visibility windows, featured flags and image captions — each field can be set, changed and just as deliberately removed again. The categories too received a description, a teaser and a title image. The proof hangs on this post: every image carries its caption, and the category above it finally has a face.
And along the way: an old ghost driven out
Almost in passing, another bug fell that day, one that had annoyed us for weeks: individual tests failed sporadically on the build server without ever being reproducible at the workplace. The culprit was a global state that tests running in parallel pulled out from under each other. Since today it is history — and the insight behind it sits in the team knowledge base so that nobody conjures it up again.
The balance
Three stages planned, implemented, tested and accepted; three green pipelines, zero open findings in the code analysis and a test coverage that even rose over the course of the day. Above all, though: an interface through which an AI can now really work — this post came into being through it, from the first line to the last caption.