<link href="https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Cairo:wght@300;400;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
The Mohamed Abdelawal Law Office website home page

Mohamed Abdelawal Law Office

A public practice site, and the office system behind it

18
Modules delivered
2
Languages, full RTL
5
Role types
0
Paper case files left
Industry
Legal tech
Platform
Website · Web app
Year
2026
Duration
6 weeks
Our role
Product design · Architecture · Full build · Ongoing support

01 The brief

A working law office in Alexandria was running its entire practice on paper files, a shared drive and a WhatsApp group. Hearing dates were tracked by whoever remembered them. Powers of attorney lived in a filing cabinet. Nobody could answer "what does this client owe us?" without an afternoon of arithmetic.

They needed one system — in Arabic, for staff who had never used software more complex than Word, and without a migration that would stop the office working for a week.

They also had no presence at all. A practice with thirty-five years behind it could not be found by anyone who did not already know its phone number. So the work came in two halves: a public site that argues for the office, and the system that runs it once a client says yes.

Everything is in Arabic, mirrored properly, and the hearing calendar has not missed a date since launch.

02 What we built

The public site is a static Arabic build: a home page that states the practice, six practice-area pages with their own scope and FAQs, a legal-articles section written for the questions clients actually search, and a contact page whose enquiry form names its practice area. It is the front door of the practice, and its header carries a client-portal link straight into the system.

Behind that link is the system. Each case carries its own overview, parties, documents, appointments and financials as tabs on one record — so a lawyer opening a file at 8am sees the hearing, the opposing counsel and the outstanding balance without leaving the page.

Clients and lawyers get the same treatment: a profile that gathers their cases, contacts, powers of attorney and financial position in one place. The agenda view rolls every hearing across the office into a single calendar, and office attendance is tracked against it.

The money side finally became visible. Expenses, HR payroll and a guided month-closing routine sit alongside client and case financials. The office closes a month in under an hour instead of a week.

03 Architecture

The decisions that make a system like this survive contact with a real office are mostly invisible from the outside.

  • Role-based access

    Five role types enforced twice — route guards in the client, row-level policies in the database. A paralegal never loads a payroll record, even by URL.

  • True right-to-left

    Direction-aware layout via logical properties, mirrored iconography and Arabic-Indic numerals — not a stylesheet flipped at the last minute.

  • Supabase backend

    Postgres, auth and file storage with typed clients, so the team spends its time on features instead of infrastructure.

  • Nine settings modules

    Courts, case types, countries and expense types are all editable by the office. Adding a new court does not require a developer.

Built with

  • Angular 21
  • TypeScript
  • Supabase
  • PostgreSQL
  • Tailwind CSS

Inside the product

Screens

01 / 04

The public site

The half of the project the public sees: an Arabic-first practice site that states who the office is, what it argues, and how to reach it — with the client portal one click away in the header.

02 / 04

Practice areas

Six practice areas, each with its own page, scope and frequently asked questions — so somebody searching for a specific problem lands on the answer rather than a phone number.

03 / 04

Behind the portal

Past the client portal is the other half — the system the office runs on. Open it and see the practice whole: the active caseload, what is being heard today, live powers of attorney, and where the money is.

04 / 04

Hearings agenda

Every hearing for every lawyer in one week view. This is the screen that stopped the office losing dates to a WhatsApp group.

More of the system

Each area sets out what the work covers and answers the questions clients actually ask, with a consultation call to action pinned beside it.

Plain-language explainers of procedures clients ask about most, filterable by area — the part of the site that earns search traffic instead of buying it.

Where the public half hands over to the private one: an enquiry names its practice area, and the office picks it up as the first record of what may become a case.

Hundreds of clients with their identity documents, contact routes and status — searchable in a second instead of found in a drawer.

One client, everything about them: their cases, contacts, powers of attorney and outstanding balance on a single record.

The registry that used to be a filing cabinet: scope, issuing office, expiry, and which lawyers each document actually authorises.

A case file and every movement on it — sessions, decisions, what was filed, and what is required before the next date.

Five role types, enforced in the client and again in the database. A paralegal cannot reach a payroll record, even by typing the URL.

Results

We stopped losing hearing dates in the first month. The partners can see the whole office from their phone now.
Managing partner · Mohamed Abdelawal Law Office