Case Study: Building a Custom Loyalty Card System for Shankey Male Grooming

loyalty barbershop

When Shankey Male Grooming — a Belfast institution since 1997, with barbershops in Ballyhackamore and Holywood — came to us wanting a modern loyalty scheme, the brief was simple to say and a little more interesting to build: no plastic cards, no third-party app, and no complicated admin for staff at a busy till.

Here’s how we built it, and what it means for businesses thinking about doing something similar.

The Challenge

Shankey’s website already runs as a Progressive Web App (PWA), meaning customers can add it to their phone’s home screen and use it like a native app. The goal was to bring loyalty points into that same experience — but with a few real-world constraints that ruled out most off-the-shelf plugins:

  • Two branches, two separate point balances. A customer’s Ballyhackamore points shouldn’t carry over to Holywood, or vice versa.
  • Zero friction at the till. Staff are cutting hair, not searching through customer databases. Whatever we built had to be as fast as scanning a barcode.
  • No logins to juggle. Staff needed a simple, permanent till login — separate entirely from admin access or other in-store systems like gift voucher processing.
  • Real ownership of the data. Rather than routing customer data through a third-party loyalty platform, everything needed to live on Shankey’s own site.

What We Built

We developed a custom WordPress plugin from the ground up, built on top of the open-source points engine myCred, giving Shankey full control and no ongoing subscription costs.

For customers:

  • A unique QR/barcode, generated automatically and tied to their account
  • A one-tap “Save as Image” option, so the code lives on their phone without needing a wallet app
  • A live points balance and full transaction history, viewable any time through the PWA
  • Push notifications the moment points are earned or redeemed — no need to even open the app

For staff:

  • A dedicated scanning screen, built for speed: scan (or type) a code, see the customer’s name and balance instantly, and either log a visit or process a redemption in a couple of taps
  • A permanent, restricted till login that can only access the scanner — nothing else on the site
  • Automatic branch detection, so each till only ever touches its own branch’s points

For the business owner:

  • Full oversight: every points transaction is logged and viewable in one place, broken down by branch
  • Configurable rules — the points-per-pound ratio and redemption thresholds can be changed any time, independently for each branch, with no code changes needed
  • An automatic email alert if an unusually large number of points is added in one go, as a simple safeguard against staff error or misuse

The Real-World Details That Matter

Anyone who’s built something for a live, actively-used website knows the gap between “it works in testing” and “it works when a real customer is standing at the till.” A few things came up along the way that are worth mentioning, because they’re the kind of detail that separates a working system from a fragile one:

  • Caching layers can quietly break things. Between page caching, JavaScript optimisation, and the site’s own PWA service worker, several layers had to be specifically configured to leave the staff scanner untouched — otherwise staff could load a “stuck” version of the page that looked fine but didn’t respond to taps.
  • Push notifications aren’t one-size-fits-all. Getting notifications working reliably meant navigating browser-specific privacy protections (several popular browsers block them by default), plus resolving a conflict between two different notification scripts running on the same page.
  • Security matters even for internal tools. Every action on the scanner is permission-checked and validated server-side — not just hidden behind a login screen — so a lost till device or a copied link can’t be used to manipulate customer balances.

None of this is visible to a customer scanning their code at the till. That’s rather the point.

The Outcome

Shankey Male Grooming now has a loyalty system that feels like a natural part of their existing site rather than a bolted-on extra — fast for staff, transparent for customers, and fully owned by the business rather than rented from a third-party platform.

If you’re a Belfast business thinking about a similar project — loyalty schemes, booking systems, or any custom functionality your off-the-shelf options don’t quite cover — get in touch with Belfast Web Apps. We build it properly, and we stick around to make sure it actually works once real customers start using it.