Skip to content
MSALEH

02 / 05 · Case Study

Kidzenia

An Arabic-first online store for a children's and teens' clothing manufacturer, with cash on delivery.

Sector
Retail
Role
Sole engineer
Year
2026
Stack
Payload · Next.js · Postgres
Kidzenia storefront home page in Arabic with a summer collection banner

01

The problem

A children's and teens' clothing manufacturer sold by phone and wanted to sell online, with cash on delivery, in Arabic first.

The store would be the smaller channel at launch, around 40 to 80 orders a month, selling from the same stock as phone and in-person sales.

02

Constraints

  • One stock, three sales channels

    Phone and in-store sales can't wait for the website to be updated.

  • Cash on delivery leaves no room for overselling

    An oversold item means cancelling a parcel the customer is already expecting.

  • The existing WhatsApp number stays

    Switching to the WhatsApp Business API would take the number out of the WhatsApp app staff already use.

  • Why not an off-the-shelf platform

    None of the hosted platforms the client evaluated handled shared stock and cash on delivery the way the business works, and several don't serve Egypt.

03

Three key decisions

  1. Decision 1ADR-0004

    A reserved share of stock for the web

    Each variant has a Web Allocation. The site sells the lower of the allocation and the stock on hand, minus reservations, so other channels never touch the website.

    Trade-offAn item can show as sold out online while units remain; a warning list flags variants below their allocation.

  2. Decision 2ADR-0006 · 0005

    Order confirmation through WhatsApp

    A pre-filled WhatsApp message with the order code and a token goes to the number customers already know, and staff confirm it in the admin panel.

    Trade-offConfirmation is manual, but moving to the WhatsApp API later changes only the evidence type, not the order statuses.

  3. Decision 3ADR-0007

    Unconfirmed orders followed up by staff

    Unconfirmed orders keep their stock and wait on an oldest-first follow-up list; a daily job releases any still unconfirmed after seven days.

    Trade-offStaff work a list rather than a timer, because a short timeout would cancel Thursday-evening orders over the Friday–Saturday weekend.

04

Outcome

  • Storefront, admin, returns and inspection, plus an illustrated Arabic guide for staff.
  • Each order reserves stock, creates the order and records the movement in one transaction, so stock and orders can't disagree.
  • A separate demo environment with the real catalogue and fictional customers.

The store is live; order figures will be added as they come in.

Want to hear how Kidzenia was built?

Screens

Demo data, invented for this page

  • The shop grid with product photos, prices, colours and filters
    01The catalogue, filtered by age, size and colour.
  • A product page with colour and size pickers
    02Colours and sizes come from stock, so customers only pick what exists.
  • The same product page on a phone
    03Most orders arrive from a phone.
  • Staff dashboard in Arabic listing new orders to confirm by phone and stock to review
    04The staff side starts with today's work: orders to confirm and stock to check.
  • An order with its items, totals, delivery address and status history
    05An order from placement to the courier, cash on delivery.
Next project03 / 05Tiba MasrA bilingual export catalogue of Egyptian fruit and vegetables for importers worldwide.
Tiba Masr home page: a farmer with a basket of fruit and the line Harvested Fresh, Delivered Pure