Multi-Domain Platform Case Study

Feel-Ing Real Estate Platform

Four websites. Three languages. One shared database. A fully automated real estate platform connecting Hungarian and Spanish property markets with built-in CRM sync and AI-powered translation.

Overview

One platform. Four markets. Zero duplication.

Feel-Ing is a real estate agency operating across Hungary and Spain, serving buyers in three language markets simultaneously. Rather than maintaining four completely separate sites, I built a unified architecture with a single shared database, a centralised admin panel, and automated content workflows.

Agents manage listings once in Hungarian. The platform automatically syncs with the property management system, translates content to English and German, and publishes to all four sites — with full SEO metadata, hreflang cross-linking, and property-specific Open Graph images.

4

Live domains

3

Languages

1

Shared database

Auto

CRM sync

Feel-Ing Real Estate Platform

The Domains

Four sites, one codebase

Each domain is a separate Next.js deployment targeting its own language market, all sharing the same Supabase database.

🇭🇺

Feel-Ing.hu

HungarianKomárom-Esztergom County

Hungarian domestic real estate with automated property CRM synchronisation.

Visit site
🇭🇺

Feeling-Spain.hu

HungarianSpanish properties for HU buyers

Spanish listings marketed in Hungarian — the most feature-complete domain.

Visit site
🇬🇧

Feeling-Spain.com

EnglishInternational market

English-language portal for international and expat buyers.

Visit site
🇩🇪

Feeling-Spain.de

GermanGerman-speaking market

German-language portal targeting buyers from Germany, Austria, and Switzerland.

Visit site

Architecture

Shared database, localised experience

🗄️

Single Supabase backend

All four domains query the same PostgreSQL database. Language-specific queries return the right translations per site without duplicating data.

🤖

Property CRM XML Ingestion

A scheduled job automatically fetches the property management data feed and syncs all property records into Supabase. Properties not seen in the feed are soft-archived — never deleted.

🌍

Translation Pipeline

Hungarian is the single source of truth. The translation API auto-translates descriptions and blog content to English and German. Translations are stored per-column and editable in the admin.

🔐

Role-Based Admin

Owner, Admin, and Agent roles with scoped permissions enforced at middleware and API level. Each agent can only see and manage their own listings.

🗺️

Hreflang Cross-Linking

Every property and blog page includes hreflang tags linking to its counterpart on all 4 domains. This tells search engines which version to show to which audience.

🖼️

Supabase Image Storage

Property images and floor plans stored in Supabase Storage (CDN-backed). Gallery management, main image selection, floor plan tagging, and sort order all managed from the admin.

Features

Everything the agency needs

🔄

Property CRM Auto-Sync

Scheduled job automatically ingests the property management data feed — creating, updating, and soft-archiving properties. No manual imports needed.

🌐

Auto-Translation

Property descriptions and blog posts authored in Hungarian are auto-translated to English and German via the translation API. Editors can review and refine with one-click translate buttons in the admin panel.

🏠

Property Listings

Rich listings with multi-image gallery, floor plans, full property specs, price, location, and agent contact card. All data stored in a shared Supabase database with language-specific views.

✍️

Multilingual Blog

Markdown-based blog system with TipTap rich text editor. Posts authored once in Hungarian, translated to EN/DE. Full SEO metadata and Open Graph tags per post.

📬

Lead Capture & Inbox

Contact forms with rate limiting, email validation, and property-linked inquiries. Admin inbox with read/unread tracking and reply capability.

📰

Newsletter System

Double opt-in newsletter with GDPR-compliant consent tracking. Campaign creation, subscriber management, and one-click bulk send via Nodemailer.

👥

Agent Management

Agent profiles with multilingual bios, photo upload, and role-based access (owner, admin, agent). Each listing shows the assigned agent's contact details.

🔍

Multi-Domain SEO

Dynamic metadata per property and blog post, Open Graph images, hreflang cross-linking between all 4 domains, JSON-LD structured data, and auto-generated sitemaps.

Tech Stack

Modern stack, proven in production

Frontend

  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS
  • Framer Motion
  • TipTap (rich text)

Backend

  • Next.js API Routes
  • Zod validation
  • NextAuth v4
  • Nodemailer (SMTP)

Database

  • Supabase PostgreSQL
  • Language-specific queries
  • @supabase/supabase-js
  • Shared across all 4 domains

Integrations

  • Translation API (HU→EN/DE)
  • Property management data feed
  • Redis (rate limiting)
  • Google Analytics 4 + GTM

Infrastructure

  • Vercel (4 deployments)
  • Vercel Cron (automated sync)
  • Supabase Storage (images)
  • SMTP

Engineering Highlights

Decisions worth noting

Multilingual at the database layer

Rather than using an i18n library, translations live in per-language columns within a single row. Language-specific queries with fallback logic serve the right translation without application-layer complexity.

Soft-archive instead of delete

Properties removed from the CRM feed are flagged as inactive rather than deleted. This preserves history, prevents accidental data loss, and allows easy reactivation if a listing returns.

Stateless rate limiting with Redis

Contact form endpoints are rate-limited per IP using Redis — working reliably in serverless Vercel functions without persistent connections.

Server Components first

Next.js 15 Server Components handle all data fetching. "use client" is reserved for interactive elements only — keeping bundle sizes small and initial page loads fast across all four domains.

Need a platform that works across multiple markets?

I build multi-domain, multilingual web platforms with automated content workflows. Let's discuss your requirements.