Back to home

Naeman

A men's barbershop brand with craftsman service and a Pasha-era spirit. We built the system behind it: booking, loyalty, packages, payments and the dashboard that runs every branch.

Grooming & retail · Egypt · 2025Live
  • Desktop hero: "Naeman ya Basha" headline, arched portrait and app store buttons
  • Services grid with durations, leading into the gallery
  • Photo gallery of the barbershop at work
  • Phone hero in Arabic (RTL) with store buttons

The client

Naeman (نعيمًا) is a men's barbershop brand in Egypt, built around careful craft and a classic, Pasha-era character. They wanted the digital side to feel as considered as a visit to the chair.

What they needed

  • Customers book a service at a branch in about a minute, from their phone.
  • Regulars earn points on every visit and buy prepaid packages.
  • Each branch manages its own services and schedule, while the owners see the whole business.
  • Payments, sign-in and reminders that simply work, in Arabic first.

What we built

PartWhat it does
Customer appBook a service at any branch, pay online, collect points, use packages and promo codes, order products, raise a complaint.
Admin dashboardBranches, services and categories, packages, orders, points rules, promo codes, complaints, and messages to customers.
Backend & APIOne source of truth for every branch: bookings, customers, points, payments and orders.
Public websiteThe brand's home, Arabic-first, built to load fast and point people to the app.

How it fits together

flowchart LR
    App[Customer app] --> API[Backend & API]
    Admin[Admin dashboard] --> API
    Web[Public website] -.download.-> App
    API --> DB[(Database)]
    API --> Pay[Online payments]
    API --> SMS[SMS one-time codes]
    API --> Push[Push notifications]
    API --> Media[Image storage]
    Jobs[Scheduled jobs] --> API

A typical visit, from the system's side:

  1. A customer signs in with their phone number and a one-time code sent by SMS.
  2. They pick a branch and a service. The API checks the schedule and records the booking.
  3. They pay online, or use a package they already bought. The payment provider confirms back to the API, never only to the app.
  4. Scheduled jobs send a reminder before the visit.
  5. After the visit, points are added to the customer's balance. The branch sees all of this live in the dashboard.

How we worked

  • Plan: loyalty and package rules were agreed and written down before any code, so points always mean the same thing in the app, the dashboard and at the branch.
  • Build: sign-in, payments, notifications and media were built as solid shared pieces, so adding a branch is a setting, not a project.
  • Measure: every payment is confirmed server-to-server and recorded, so the numbers in the dashboard match the bank.
  • Learn: Arabic-first from day one: layout, numbers and wording were designed for Arabic readers, not translated at the end.

Result

Naeman runs every branch, booking and loyalty point on one system, and customers book in about a minute.