Case Study
Property Listing Platform for Boutique Estate Agency
A custom Next.js property search platform that replaced a third-party portal dependency, reducing lead acquisition cost by 61% and tripling organic enquiries.
- Client
- Meridian Property Group
- Industry
- Real Estate
- Duration
- 10 weeks
- Delivered
- September 2025
Key Results
Organic enquiries +212%
Lead acquisition cost -61%
Property search: 4.2s → 0.9s
Lighthouse SEO score: 97
Portal dependency eliminated
The Challenge
Meridian Property Group had grown to 12 agents across three London offices, but their digital strategy was entirely dependent on third-party property portals. They were paying significant monthly fees for leads that weren't exclusive — the same buyer enquiring on Rightmove was enquiring with four competing agencies simultaneously.
The goal was to build a proprietary digital presence that:
- Ranked organically for high-intent property search queries in their coverage areas
- Delivered a property search experience competitive with major portals
- Captured leads directly — giving their agents a first-mover advantage over portal competitors
The additional constraint: the platform needed to stay in sync with their existing CRM (Reapit) without requiring a manual data entry workflow.
Technical Architecture
Property Data Layer
Reapit exposes a REST API for property listings. We built a sync layer that:
- Polls the Reapit API every 15 minutes for new and updated listings
- Stores normalised property data in PostgreSQL with full-text search via
pg_trgm - Triggers ISR revalidation on the Next.js frontend for updated listing pages
This meant property pages were always current without requiring a full site rebuild.
Search Architecture
Property search needed to feel instant. Our approach:
- Server-side search — all filtering happens in PostgreSQL, not client-side JavaScript
- URL-driven state — every search is a shareable URL (
/properties/?area=islington&beds=2&max-price=800000) - Optimistic loading — skeleton states appear immediately; results follow in under 200ms on typical queries
- Map integration — property pins rendered via Mapbox GL JS, loaded lazily after initial paint
SEO Architecture
Estate agency SEO is a local search problem. We built a programmatic page structure:
- Area hub pages —
/properties/islington/,/properties/hackney/— each with unique editorial content and structured area data - Property type pages —
/properties/islington/2-bedroom-flats/— targeting high-intent long-tail queries - Individual listing pages —
/properties/[id]/[slug]/— with RealEstateListing schema markup - XML sitemap — auto-generated, submitted to Google Search Console on every new listing
Performance Engineering
Property listing pages are image-heavy by nature. We applied:
- Next.js
<Image>with automatic WebP conversion and responsive srcsets loading="lazy"on all below-fold property images- Critical CSS inlined in
<head>— no render-blocking stylesheets - Edge caching for area hub pages (infrequently updated, high traffic)
Results
Within 90 days of launch:
Traffic & Leads:
- Organic search impressions grew from 1,200 to 8,700 per month
- Organic enquiry volume increased by 212%
- Direct enquiry conversion rate: 4.1% (vs 1.8% portal average)
Performance:
- Property search response time: 4.2s → 0.9s
- Lighthouse Performance: 91 / Accessibility: 96 / SEO: 97
Business Impact:
- Lead acquisition cost reduced by 61% compared to portal spend
- Portal subscription spend reduced by 40% in month four — still covering only premium listings
- Three new vendor instructions attributed directly to the website in the first 60 days
The Wider Lesson
Property portals have trained buyers to expect a certain experience — advanced filtering, map-based search, saved searches. The assumption that an agency can't replicate that quality independently is no longer true. With a well-architected headless platform, a boutique agency can compete on search quality while adding what portals can't: direct relationships, exclusive data, and a brand voice.
