Skip to content
All projectsCase study · 2026

Haven Estates is an AI property search website for Saudi Arabia, built by SyntaxWise. People search in plain words and ask an AI assistant about real listings, with one n8n workflow doing the work behind it.

Real Estate3 weeksClient project

A sandstone courtyard with arched doorways and a still pool, under an arch
Real listings123 homes · 6 cities

The 60-second film, narratedClick to play with sound

Introduction

Year
2026
Industry
Real Estate
Timeline
3 weeks
Client
Client project
Scope of work
AI Automation (n8n)RAG Chat AssistantSemantic SearchWeb App DesignWeb App DevelopmentData Pipeline & API

Challenge

Property search is slow and vague. Search boxes want exact filters, listings are hard to compare, and a simple question can take days to answer.

The brief was a property site that feels calm and premium, and that answers people the way an agent would. Visitors should be able to browse real listings on a map, type what they want in plain words, and ask an assistant follow-up questions. The assistant could only answer from the listings database, never from the model's imagination, and it had to stay inside a free-tier Gemini quota.

At a glance

123real listings across six Saudi cities
52nodes in one n8n workflow, in five sections
15 minfrom a new listing to searchable by meaning
1embedding call per hero search, no chat model

Landing page

A calm, editorial home page that gets people searching straight away.

Light serif headings, a sand-and-green palette and an arched courtyard photo set the tone. The hero search bar is the main call to action, and a live 'just listed' card and a city marquee show the data is real.

The whole home page, top to bottom. Hover to hold, click to read it at full size.

List view

Real listings, filtered in a click, next to a live map.

City, district, type, rent or sale, price, area and bedrooms all filter in one bar, and the URL updates so a search can be shared. Results sit beside a clustered Leaflet map with price pins. Every listing has its own page with a gallery, details, a location map and similar homes.

AI assistant

Ask in your own words. Get real property cards back.

The assistant is an n8n AI agent on Gemini. It decides when to search, writes a query plus filters, and calls a listing-search sub-workflow (Gemini embeddings matched in Supabase pgvector). It can also search near a place using OpenStreetMap geocoding.

Conversation memory lives in Postgres, and when a visitor wants an agent, it collects their contact details in the chat.

Every card it shows is read from the listings database, so prices and details are never made up.

n8n, section C: the chat webhook and the AI agent, with Postgres memory and its tools.

Mobile

The full experience, sized for a phone.

Filters wrap into chips, the map stays above the results, and the chat opens full height, so browsing and asking work just as well on a phone.

Powered by n8n

One workflow, five jobs.

  1. AIngestA webhook upserts listings into PostgreSQL.
  2. BEmbedding syncEvery 15 minutes, new and changed listings are embedded in batches with Gemini (one call per 50, paced for the free tier) and swapped into Supabase in one transaction.
  3. CChatThe chat webhook runs the AI agent.
  4. DListing searchA sub-workflow serves the agent’s search tool.
  5. EWebsite searchA webhook powers the hero search.

The real workflow: 52 nodes, sections A to E. Click to zoom in.

PostgreSQL stays the single source of truth; Supabase holds only the vectors.

Outcome

  • Real data.
  • Instant answers.
  • Fully automated sync.

Listings flow from the database to search and chat without manual steps: add or change a listing and it is searchable by meaning within 15 minutes. The hero search answers without a chat model, and the assistant only answers from real listings.

Built with

  • React 19
  • Vite
  • Tailwind CSS 4
  • React Router
  • Leaflet
  • FastAPI
  • PostgreSQL
  • n8n
  • Google Gemini
  • Supabase pgvector
  • OpenStreetMap Nominatim