Skip to content
All work

RMR Law Associates

A bilingual law firm site built compliance-first.

Client
RMR Law Associates & Consultants LLP
Role
Design & build
Year
2026
Disciplines
Full-stack, Web design, UI/UX

Overview

A bilingual English and Malayalam website for a Kerala firm of advocates, designed around Bar Council of India Rule 36 — which restricts how advocates may advertise. The constraint drove the architecture: an automated compliance check fails the build on any advertising-rule regression.

The problem

The risk was not having a website. It was what the website said.

Bar Council of India Rule 36 restricts advertisement and solicitation by advocates. The exposure sits in superlative claims, promised outcomes, and published testimonials or ratings — not in the existence of a site.

The firm was replacing a WordPress site that had accumulated the usual marketing language, along with a set of broken URLs and a claim of "25 years" standing three paragraphs from a claim of "21 years".

The approach

Compliance as a build step, not a review step

A checklist a human runs before deploying is a checklist that eventually gets skipped. So the rules were made executable — npm run compliance scans the content files and exits non-zero on any regression.

  • 01No reviews route, and no rating anywhere on the site
  • 02No aggregateRating or review in structured data, so no stars in search results
  • 03Titles lead with the firm name rather than search keywords
  • 04The disclaimer gate is a real gate — declining actually withholds the site
  • 05Years of standing derived from the enrolment year, so it can never contradict itself

The build

Everything a non-developer would change lives in one folder

Offices, phone numbers, courts, credentials, all twelve practice areas and both language dictionaries sit in content/. Every practice page, nav entry, sitemap row, intake option and JSON-LD block derives from those files.

Adding a practice area is a one-file edit. The firm does not need me to publish a change.

The detail nobody asked for

The broken links from the old site were redirected too

Every URL from the previous WordPress site 301s to its replacement — including the ones that were already broken there. /litignation was a typo that had been live for years. /civil-law pointed at Corporate Law.

Inbound links to a misspelled URL are still inbound links. They now land somewhere correct.

51
Static pages

Both languages, fully pre-rendered

12
Practice areas

Each a one-file content edit

2
Languages

English and Malayalam at parity

Built with

  • Next.js 15
  • React 19
  • Tailwind CSS v4
  • Framer Motion
  • MDX
  • Vercel