A bilingual website and CMS for a UAE law firm. It presents 20 legal services, the team, legal news and judgments, with consultation booking and a full admin dashboard.

Mohamed Salem Al Kaabi Advocates & Legal Consultants is a law firm in the UAE. The website is its main channel for new clients: it explains each practice area, introduces the lawyers, publishes legal news and notable judgments, and turns visitors into consultation requests by phone, WhatsApp or the contact form.
I built the whole system myself: the Next.js website, the admin dashboard, and the NestJS + MongoDB API. Every piece of content, from services and sub-services to the team, news, judgments, banners and partners, is editable from the dashboard in both Arabic and English.
The firm offers many practice areas, from litigation to cybercrime, but had no clear online presence to explain them or to capture people looking for legal help in the UAE.
A fast, bilingual, SEO-friendly website with a dedicated page for every service, clear calls to action (free first consultation, call, WhatsApp), and a CMS so the firm updates its own content without a developer.
Individuals and companies who browse services, read legal news and book a consultation.
Manage services, sub-services, team, news, judgments, banners, partners, testimonials, messages and subscribers.
Lawyers and staff who apply to join the firm through the Join Us page.
20 practice areas, each with its own page, icon and sub-services, all managed from the dashboard.
Articles and notable court judgments written with a rich-text editor, with SEO-friendly slugs.
The firm's lawyers and consultants with photos, titles and ordering controlled from the CMS.
Book-a-consultation CTA, floating phone and WhatsApp buttons, a contact form and a newsletter subscription.
Full RTL / LTR support with localized routes and content for every page.
Per-page metadata, slugs for every entity and localized URLs to rank for legal searches in the UAE.
Role-based CMS with banners, sections, partners, testimonials, settings and messages, plus a database export / import tool.
1 / 5Next.js App Router with /ar and /en routes, SEO metadata per page
Protected routes in the same app, role-based access
NestJS modules: services, sub-services, teams, news, judgments, contact, subscribe…
MongoDB via Mongoose, plus a JSON export / import endpoint for backups
Challenge
Pages were reachable only by database IDs, which is bad for search ranking. All the existing content, in two languages, had no slugs.
Solution
I added slugs to every entity (services, sub-services, news, judgments, team) with a one-off migration script that generated them for all existing records. Routes resolve by slug, and each page now ships its own localized metadata.
I'd love to help you build something great. Tell me what you're working on.
Let's talk
An online academy for project management (PMP®, CAPM®, PMO, Risk). It has secure video courses, scored exams, "mistake" exams and verifiable certificates, plus a full admin dashboard.

A multi-tenant restaurant system: online ordering on each restaurant's own branded website, a POS inside the dashboard, and built-in restaurant accounting.

One QR code that opens a branded page for each business, with its menu, branches, social links and one-tap "save contact", plus a dashboard to manage it all.