Real Estate Software & CMS for Agents with OpenImmo Import / Export
A day in the engine room: how our AI interface learned to work

A day in the engine room: how our AI interface learned to work

· Acceptance

ai mcp workshop-report

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.

The team in front of the big picture — everything in view

The team in front of the big picture — everything in view

Four screens, three stages, one goal

Four screens, three stages, one goal

Concentrated work on the new interface

Concentrated work on the new interface

Ready for the evening: the pipelines are green

Ready for the evening: the pipelines are green

Back to the overview

Newly Added

Newly listed properties appear here first. This way, you can see the latest additions from any page without having to switch to the overview. One click opens the property's full listing with all details, photos and its location on the map. You'll find the complete list under "All Properties".

House for rent

01723 Wilsdruff

Object no.:
MI-062
Base rent:
1,850 EUR
Rent per m²:
12.01 EUR
Living area:
154 m²
Rooms:
5.0

Detached house for rent in Wilsdruff: 154 m², heat pump, garden, two parking spaces

House for rent

01217 Dresden

Object no.:
MI-061
Base rent:
1,520 EUR
Rent per m²:
14.07 EUR
Living area:
108 m²
Rooms:
4.0

End-of-terrace house for rent in Dresden-Mockritz: 108 m², first occupancy, garden

Apartment for sale

01309 Dresden

Object no.:
MI-060
Purchase price:
598,000 EUR
Purchase price per m²:
4,397.06 EUR
Living area:
136 m²
Rooms:
4.0

New-build maisonette for sale in Dresden-Striesen: 136 m², KfW 40, first occupancy

House for sale

01067 Dresden

Object no.:
MI-059
Purchase price:
1,450,000 EUR
Purchase price per m²:
7,250 EUR
Living area:
200 m²
Rooms:
7.0

Listed town villa for sale in Dresden-Innenstadt: 200 m², 620 m² garden

House for rent

01156 Dresden

Object no.:
MI-058
Base rent:
1,480 EUR
Rent per m²:
11.94 EUR
Living area:
124 m²
Rooms:
5.0

Semi-detached house for rent in Dresden-Cossebaude: 124 m², garden, garage

House for rent

01156 Dresden

Object no.:
MI-057
Base rent:
1,050 EUR
Rent per m²:
11.05 EUR
Living area:
95 m²
Rooms:
3.0

Small detached house for rent in Dresden-Cossebaude: 95 m², garden, garage

    Contact Us

    Software Entwicklung Sieg
    Rhönweg 5 
    01159 Dresden

    info@ses-realestate.com

    Useful Links

    Our Partners


    Please note: All properties on this site are fictitious. Addresses, prices, floor areas and energy data do not describe any actual properties, enquiries are not processed and no contract is concluded. What you see is our software's interface in action: search, listing pages, shortlist and map work exactly as they will later with real properties.
    ©2026 SES Software Entwicklung Sieg