Home/Work/PM Real Estate Laos
2025WebTrilingualReal EstatePWA

PM Real Estate Laos

A multi-language EN/LO/ZH real estate platform. Installable as an App (PWA), Google OAuth-secured admin, and server-rendered property pages built for a business in Vientiane.

PM Real Estate Laos homepage  -  property listings with clean professional layout
EN + LO + ZH
Three languages, or as many as needed
Google OAuth
Easily login with your Google Account
PWA
You can install this website like an app
[ THE PROBLEM ]

Before this platform, PM Real Estate Laos managed their listings across social media posts. There was no central place where buyers could browse all available properties, filter by area, or view high-quality photos - and every update meant editing a file and resending it manually.

The agency also had no system for tracking clients or deals. Pipeline status lived in spreadsheets and WhatsApp (BAD IDEA), follow-ups were missed, and there was no way to see at a glance which properties were active, pending, or sold.

Three problems that needed solving:

  • 01No central listing platform - properties scattered across Facebook and WhatsApp
  • 02No client or deal pipeline - everything tracked in disconnected spreadsheets
  • 03No multilingual support - missing the Chinese-speaking and international buyer segments entirely
[ THE DESIGN ]

The brief was professional, trustworthy, and built for an international audience. Real estate buyers - especially foreign investors - make decisions based on perceived legitimacy before they ever see a property.

Clean layouts with large property photography at the centre. The UI stays out of the way and lets the listings do the work. Consistent typographic hierarchy ensures property details are scannable at a glance.

The admin dashboard mirrors the public-facing design language - dark, minimal, data-dense. Using the same visual system for both sides means the client feels at home in the CMS from day one.

[ WHY NEXT.JS ]

Three reasons: SEO for individual listings, trilingual routing, and a backend API without a separate server.

01

SEO-first listing pages

Every property page is server-rendered with full metadata, structured data, and Open Graph tags. When buyers search 'apartment for rent Vientiane' or 'land for sale Laos', individual listing pages show up - not just the homepage.

02

Multi-language routing

All pages live under app/[locale]/ with EN, LO, and ZH as proper first-class routes. next-intl handles translations and locale detection. No redirect hacks, no duplicated templates.

03

Admin API in the same codebase

Next.js Route Handlers power the entire CMS backend. No separate Express server to deploy, no CORS to configure. The admin dashboard is part of the same deployment as the public site.

[ THE WEBSITE ]
[ THE ADMIN DASHBOARD ]

A full CMS, built in

The agency needed more than a website - they needed a system. The admin dashboard is a full property management tool: add and edit listings, manage clients, track deal pipeline, and control which areas appear on the site.

Authentication is handled via username and password and by Google OAuth. The team can sign-in with their existing Google accounts.

[ TECH STACK ]
Next.js 15 + TypeScript

Server-rendered listing pages with App Router. TypeScript across the entire codebase - no runtime surprises in the admin or the API.

next-intl

Trilingual EN/LO/ZH routing baked in from day one. Each locale is a first-class route with its own metadata and translated content.

Prisma + PostgreSQL

Relational schema for properties, clients, deals, and areas. Prisma keeps migrations safe and typed - no raw SQL in the codebase.

Google OAuth

The client uses their existing Google account or username and password.

CSS Modules

Scoped styles per component. No Tailwind

PWA + Service Worker

The site installs to the homescreen like a native app. Property agents in the field open it without a browser - and cached listings load even on a weak signal.

[ WORK TOGETHER ]

Need a platform like this?

I build web platforms for Vientiane businesses - property, tourism, services. Full-stack, multilingual, and built to be managed by the client, not a developer.