A website in one evening: how the AI interface built an estate agent website in two languages
ai-interface estate-agent-website mcp multilingual workshop-report
The first generation of our AI interface could write blog articles and upload images. That was a start. The question the estate agent software really has to answer is a different one: can an AI assistant build a whole estate agent website over the Model Context Protocol, the way a person would do it in the client? We ran that acceptance test in one evening, with a real website as the model.
The model and the rebuild
The model was the existing website of a landlord of furnished flats: five pages, a main menu, a slideshow at the top, a contact box in the sidebar, a footer with the legal links. The assistant got nothing but the address of the model and access to the MCP endpoint. It read the model, created the pages, built the layouts from the elements of the website builder, wired the menu and published.
Along the way things surfaced that no manual mentioned. An element that should appear on every page belongs not in a page layout but in a module above the content. A footer with links is not a text block but a menu of its own in an embedded module, so the links follow the pages when an address changes. And the property list only renders once the menu has an entry for the property search, because every property module resolves its links through that entry. Each of these lessons has been in the layout guide since that evening, the guide the assistant reads before it builds.
Colours, templates, a second language
Two tools were still missing and came into being on the way. The first reads and sets the colours and fonts of a website as variables of the theme: the orange of the model, the grey of the texts, the surface behind the box. The second saves a page layout as a template and applies it to other pages, as the builder in the client has long been able to do.
Then came the second language. The assistant created the English pages as counterparts of the German ones, an English main menu, an English footer menu, the English contact box. The privacy page came from the German version through the new template function. Finally a blog post in both languages, linked as a translation pair, with a title image and a gallery from locally uploaded files.
What the rebuild set off in the code
An acceptance test is only honest if it finds mistakes. It found three, and all three are fixed as of today.
First, the properties did not speak the language of the page. The English property description arrived in the exposé, the title stayed German, and the language switch in the exposé did not know the English counterpart. Now list cards, exposé headline, search engine title and inquiry subject carry the title of the page language, and the exposé names its translations.
Second, the sitemap listed every language as an address of its own without connecting the two. To a search engine that looks like duplicate content. As of today, properties and blog posts appear in the sitemap as pairs with their language variants.
Third, the search results themselves. A look at the live website showed 135 page titles over sixty characters and 94 descriptions that Google cuts off mid-sentence. Title and description now follow a budget: sixty characters including the website name, descriptions ending on a whole sentence. That is the kind of mistake you only see when you read your own website the way a stranger does.
Why this matters
An estate agent website without an editorial backend on the web is only a good idea if maintenance is effortless elsewhere. The client is one way. The AI assistant at the MCP endpoint is the second, and since this acceptance it reaches from creating the website to the second language. What it learns on the way ends up in the guide it reads next time. The 62 properties of the preview got their English descriptions the same day, spread across three assistants working in parallel.
This post is once again one that came into being through the interface: text, translation, images, publication. The human supplied the images and had the last word.