Retail · 2026

Mahmooda Jewellers

A 22ct gold jeweller trading on Green Street since 1976, with no website and stock recorded on paper.

View live site ↗
Mahmooda Jewellers homepage

The problem

Everything about the shop lived in the shop. Stock was counted by hand, prices moved with the gold rate, and a customer could only find out what was in the case by walking into it.

The storefront

A dark, gold-lit catalogue that lets someone browse the cases from their sofa, with Stripe taking deposits so a piece can be held.

Mahmooda Jewellers storefront

The till, rebuilt

A point-of-sale system — Stock Console — that runs the counter: stock in and out, sales, and the day's takings. It is the shop's own working system, not a demo.

Stock Console till screen

One source of truth

The website reads its stock straight from the till over a token-gated feed. Sell a piece at the counter and it comes off the site — no one re-types anything.

Stock Console stock list

What was hard

Letting the website read the till without opening the till

The shop's takings and stock cannot be public. The feed is a single token-gated endpoint that exposes only what a shopper may see, and nothing else the console knows.

A redirect is not a lock

In the Next.js App Router, redirecting from a layout does not stop the page underneath from rendering — the body still comes back to anyone who asks for it directly. We found the takings page reachable that way and closed it with a proxy that denies by default, a guard on every page, and a test that walks all of them.

On a phone

Most of Mahmooda Jewellers’s customers arrive on a phone, so that is the width the design was decided at.

Mahmooda Jewellers on mobile