Case studyReal Estate CRM

Immo23

IMMO23 had outgrown WordPress. I rebuilt it as a custom Laravel platform and CRM: around 5,000 listings migrated, properties managed in one place and sent to external portals from the same back-office.

Launched
2026
Tools
6
Industry
Real Estate CRM
Visit immo23.mu
  • Laravel
  • Inertia.js
  • React
  • MySQL
  • Redis
  • Horizon
Immo23

01Challenge

IMMO23 is a real estate agency in Mauritius that sells and rents properties to local and international clients. Its website ran on WordPress, and the agency had outgrown it.

The website was a shop window, but the agency needed a system to run the business behind it: agents, owners, rental contracts, and sending listings to the property portals where buyers actually search.

What made it difficult

  • Around 5,000 existing listings had to move from WordPress to the new platform without losing content.
  • Everything had to work in English and French, with prices in several currencies.
  • Listings had to be sent to external property portals from the CRM instead of being retyped on each one.
  • The site's search visibility had to be protected through the switch and grown afterwards.

02Solution

I rebuilt IMMO23 as a custom Laravel application: a public property website and a private CRM sharing one database. The back-office is built with Inertia.js, React and shadcn/ui, so the team works in a fast, modern interface rather than a WordPress dashboard.

Why Laravel instead of staying on WordPress

WordPress is great at publishing pages. IMMO23 needed relations and workflows: a property belongs to an owner, is assigned to an agent, may have a rental contract with an end date, and has to be published to several portals. Building that with plugins would have meant fighting the platform. A custom application makes those relations part of the core, and leaves room for whatever the agency needs next.

Migrating ~5,000 listings

This was the hardest part of the project. Every WordPress listing, with its text in both languages, prices, characteristics, location and images, had to be mapped into the new, stricter data structure. I migrated and cleaned the data so the agency started on the new platform with its full catalogue, instead of re-entering it by hand.

One listing, many portals

Properties are entered once in the CRM and sent to external property portals from there. Publishing runs in background queues (Laravel Horizon and Redis), so the back-office stays fast even while a batch of listings is being pushed out.

The CRM behind the website

  • Agents: each property is assigned to an agent, who appears as the contact on the public listing.
  • Owners: recorded separately and linked to one or more properties.
  • Rentals: contract end dates are tracked, with automatic reminders before they expire.
  • Currencies: prices in several currencies, with rates updated automatically by scheduled tasks.

Search and SEO

The public site has an advanced search (sale or rent, type, location, price, bedrooms, reference) and dedicated property and location pages in English and French. I set up 301 redirects from every old WordPress URL to its new address, so existing rankings and links carried over. I also handled the on-page SEO, set up Google Analytics and Google Search Console, and wrote two articles for the agency's blog to start building content around its market.

03Results

IMMO23 now runs its listings, agents, owners and rentals from one system it owns, with its full catalogue of around 5,000 listings carried over from WordPress.

  • One place for listings: entered once in the CRM, then published to the website and to external portals.
  • Rentals under control: upcoming contract expiries are flagged automatically, ahead of time.
  • A bilingual public site with search designed for property buyers.
  • Rankings preserved: old URLs redirect to the new pages, so search traffic wasn't lost in the move.
  • Measured from day one: Google Analytics and Search Console track traffic and search performance.
  • Built to grow: new integrations and features can be added without working around a CMS.

Need a similar result for your business?

Share your project goals and get a clear recommendation on scope, timeline, and implementation plan.

Contact me