Skip to content

Real estate portal / 2026

Sigma Premium Realty: a real estate portal in three languages

Case study: a real estate portal in Montenegro in 3 languages, with filters as real URLs six levels deep and custom analytics. Laravel and Filament.

Sigma Premium Realty home page: premium real estate in Montenegro, with an SR, EN and TR language switch
Client
Sigma Premium Realty
Year
2026
Build time
15 to 20 days
Role
Full development: architecture, portal, admin panel, analytics and deployment
Technologies
Laravel 12, PHP 8.3, MySQL 8, Livewire 3, Filament, Leaflet

3

languages with their own URLs

6

filter levels as real URLs

14

sections in the admin panel

This is a case study of the Sigma Premium Realty portal. If you are looking for property on the Montenegrin coast, their official site is sigmahome.me.

Client and context

Sigma Premium Realty sells and rents apartments, villas, houses and land along the coast of Montenegro: Budva, Tivat, Kotor, Herceg Novi and nearby. Foreign buyers are part of the market, so the portal runs in three languages: Serbian, English and Turkish. I built it in 2026, in 15 to 20 days.

Problem

A foreign buyer does not search like a local one. They ask how far the airport is, whether a foreign citizen may buy, what first line to the sea means. On top of that, an agency working in several languages usually gets one site with two translations pasted over it, sharing the same URLs and doing nothing for search in the markets buyers actually come from.

Constraints

The whole portal runs on shared hosting, with no Redis, no SSH access and no Node.js on the server. It does not show on the site, but it shapes every decision underneath: analytics and image processing have to work with what ordinary hosting offers.

The hardest parts were the custom analytics and the URLs after filtering. Every meaningful filter combination had to become a readable URL Google can index, in three languages.

Solution

Three languages, three sets of URLs

The portal is multilingual from the database up: every content table has its own translation table, and translations are written by people, not machines. URLs are translated, so the same page is /nekretnine/, /en/properties/ and /tr/emlak/, with hreflang and canonical tags. A new language is added from the admin panel without code changes, and a redirect table keeps old URLs working when a page name changes.

Filters as real URLs

Filters are not query parameters behind a question mark but paths six levels deep, such as /nekretnine/prodaja/stan/budva/. Every meaningful combination of purpose, type, town and neighborhood is a page a search engine can index and a person can read. Buyers can also filter by price, size, rooms, sea view, parking, terrace, elevator and furnishing, and by distance from the beach and the airport.

Custom analytics

The analytics were written for this portal. IP addresses are hashed, bots are filtered out, and old records delete themselves. The panel shows visits, conversions, the most viewed properties and searches, and the most useful part is the report on searches that return no results: when buyers look for something the agency does not have, that is a list of demand.

An admin panel in Filament

The admin panel has 14 sections. On each property, translations and SEO have their own tabs, the location is picked by clicking on a map (OpenStreetMap and Leaflet, no API key), and images are processed into several sizes in WebP automatically. A property can be marked sold, rented or reserved, and the price can be on request.

For buyers

Buyers save searches, mark favorites and compare properties. Each listing card shows at once whether a property is sold, rented or reserved, and the portal has enquiries, reviews and an FAQ the agency edits itself. The blog answers what a foreign buyer asks before even looking at listings: buyer guides, market analysis and the legal framework.

How a property is added

Each property is entered through tabs, one at a time:

  1. Basics: title, purpose (sale or rent) and type.
  2. Price and size: an amount or price on request, and floor area.
  3. Specifications and features: rooms, sea view, parking, terrace, elevator, furnishing.
  4. Map: the location is picked with a click, and distances to the beach and airport feed the filters.
  5. Gallery: images are processed into several sizes automatically.
  6. Translations and SEO: copy and titles for each language separately.

The agency publishes its listings in three languages on its own, with no developer.

What the agency sees in analytics

The panel shows visits, unique visitors, conversions, the share of visitors who leave after one page, the most viewed properties and searches, plus the separate report on searches with no results. Google Analytics 4 runs alongside the custom analytics with Consent Mode v2, so it tracks a visitor only once they allow it. The figures stay with the client and are not published here.

Technologies and why

The portal is built in Laravel 12 (a PHP framework for applications) on PHP 8.3 and MySQL 8, with Livewire 3 and Alpine.js for interactive parts and Tailwind CSS for styling. The admin uses Filament, a ready set of screens for managing data, adapted to the portal's 14 sections. All of it runs on shared hosting, with no dedicated server.

Result

Each language version has its own URLs and content, so it ranks in its own market as a separate site instead of being a translation in a footnote. Every meaningful filter combination is a page Google can find. In the panel, the agency sees what gets viewed and, above all, what gets searched for and does not exist. Analytics figures belong to the client and are not published (as of October 2026).

Inside the application

Property search with filters for purpose, type, town, price, size, distance from the airport and features
Property search with filters for purpose, type, town, price, size, distance from the airport and features
Adding a property in the admin panel, with tabs for price, specifications, map, gallery, translations and SEO
Adding a property in the admin panel, with tabs for price, specifications, map, gallery, translations and SEO
Blog with categories for buyer guides, market analysis and the legal framework
Blog with categories for buyer guides, market analysis and the legal framework

Services used on this project

Questions about the project

What is Sigma Premium Realty?

A real estate agency on the Montenegrin coast: apartments, villas, houses and land in Budva, Tivat, Kotor, Herceg Novi and nearby. This is a case study of their portal; their official site is sigmahome.me.

Why does every language have its own URLs?

So each language version ranks in its own market as a separate site. The same page is /nekretnine/, /en/properties/ and /tr/emlak/, and search engines index each one separately.

Can a fourth language be added?

Yes, from the admin panel, with no code changes. The new language gets its own URLs and its own translation of every page.

What is the zero result search report?

A list of searches buyers run that the portal has nothing to show for. It is not a search bug but demand the agency cannot serve yet.

Got a similar job?

Describe what you need in a few sentences. Messages sent before 5 pm CET get a same day reply with an estimate of price and timeline.