Skip to content
← Projects

Demo · Fictional estate agency

Answering foreign buyers at any hour, in their language

A Swedish buyer writes at 23:48: they want to view a flat on Thursday and their mortgage is approved. At a small agency that message waits until morning and is often answered in English. By then the buyer has written to three other agencies.

The production version is built for Claude; this demo was recorded with gemini-3.6-flash on synthetic data.

Demo with 15 synthetic leads for a fictional estate agency. The model’s answer (gemini-3.6-flash) is scored before the guardrails, 124 checks in all.

What it does

  • Replies straight away, not the next morning, in the buyer’s language (Spanish, English, German, Dutch or Swedish) and says it’s an AI assistant, as the EU AI Act requires (Art. 50).
  • Shows only properties that exist, are available and fit the budget. If nothing fits, it says so.
  • Asks for whatever is missing to qualify the buyer: budget, timing, cash or mortgage.
  • When a person is needed (a viewing, a call, a property that isn’t listed, a legal or tax question), it leaves a handover card for the agent who speaks that language, and a proposed viewing slot when they asked to view.
Before and after: who does each step with a lead that arrives at nightCodeAIPersonBeforeA lead arrives at 23:00It waits until 09:30An agent reads it, maybein a language they don’tspeakSearches listings byhandReplies about 10 hlater: the buyer hasalready written to threeother agenciesAfterA lead arrives at 23:00Replies straight away,in their language, withlistings that fitAsks what’s missing:budget, timing, cash ormortgageViewing, call, unlistedproperty or a legal ortax question?If so: handover cardready at 09:00, or acall now
If no person is needed, the AI keeps the conversation going and a person reviews the log.

How it’s built

The model proposes; code decides. Every listing the model returns is checked against the catalogue: if it doesn’t exist, isn’t available or is more than 10 % over budget, the buyer never sees it. Prices always come from the listing card, never from the model’s text.

Architecture of the lead-response assistantCodeAIPersonLead by web chat or email, in Spanish, English,German, Dutch or SwedishAssistant: keeps eachlead’s conversationCatalogue of listings andfree viewing slotsModel (gemini-3.6-flash in the demo; the codealso runs on Claude): proposes the reply as fixedJSONGuardrails in code: the listing exists, isavailable, is within budget + 10 % and the slotis freeReply: AI disclosure onthe first line, text andcards with the cataloguepriceHandover card for theagent who speaks theirlanguageThe agent sees it in the morning, or on call

One lead, step by step

Sequence diagram: a Swedish lead, from arrival to handoverBuyer(23:48)Assistant(code)Model(AI)Guardrails(code)Agent(speaks sv)“Kan vi titta på den på torsdag?Vi har lånelöfte.”catalogue + free slots + message,JSON schemaSwedish · mortgage approved ·listing L10 · slot S3 · handovercheck listing, availability,budget and slotL10 ok · S3 free (Thu 11:00,agent speaks Swedish)AI disclosure (in Swedish) + reply+ card L10 + Thu 11:00handover card: why now,financing, listing, slot
One case from the test: a synthetic Swedish lead who wants a Thursday viewing and has an approved mortgage.

How it was tested

15 synthetic leads, 3 per language, with traps: impossible budgets, a "6-bedroom villa in Puerto Banús" that doesn’t exist, and a property under offer. The model’s answer (gemini-3.6-flash) is scored before the guardrails, 124 checks in all.

  • Language: 15 of 15 replies in the buyer’s language, across all 5 languages.
  • Invented, unavailable or over-budget listings proposed by the model: 0. The guardrails had nothing to remove. If a model does get it wrong, the guardrails stop it before the buyer sees it (a test with a deliberately wrong model checks this).
  • AI disclosure: in all 15 replies.
  • Handover to a person: the right call in all 14 cases that test it; 6 handover cards; the 4 that asked for a viewing come with a proposed slot.
  • Budget, bedrooms and cash-or-mortgage read correctly in every case that mentions them (10, 8 and 7).
  • Overall: 15 of 15 cases and 124 of 124 checks passed.
  • Median reply time: 15 s, on Gemini’s free tier, including its rate-limit waits and retries.

What this doesn’t show

These are 15 synthetic leads for a fictional agency, written by the same team that wrote the checks. It’s a small set; it shows the design works on these cases, not a success rate on real buyers.

Tell me about a process that eats your time.

In 30 minutes we’ll see whether AI can help. No commitment.