- Role
- UI/UX · Frontend · Backend
- Website
- noraalhafidh.com
- Date

Nora Al-Hafidh House, an exclusive Iraqi fashion design house from Baghdad.
Nora Al-Hafidh Logo Redesign


I redesigned the logo while building the site, because the original didn't work at the sizes the site needed and its style clashed with the design. It was my own suggestion, and the logo was the first thing I worked on, before anything else.

Interface & Experience
The UI and UX were built around how ordering really works at Nora Al-Hafidh, while carrying the project's original identity and logo. The logo uses only black and white, with a few extra colors added across the site at the client's request. The design system is sharp and classic, matching the house's fashion style, which draws mostly on the classic spirit of Iraqi women's fashion.
noraalhafidh.comThe usual store pattern
- Open the product
- Choose the size
- Choose the color
- Place the order
The pattern inside Nora Al-Hafidh
Open the product page
- More than one size choice on the same page
- Extra measurements inside each size
- Different add-ons across sizes
Custom system A non-linear path
The Order Problem
This simple diagram shows one of the engineering problems I had to solve. Ordering at Nora Al-Hafidh isn't like ordering from other stores, because this is a fashion design house, not a shop that imports and sells ready-made pieces. So the order itself had to be tailored to what the house needs from each customer.
The interface had to work with a single piece having three size tiers, each with its own price, each opening its own measurement fields, while every piece in the same order can come in a different size and color.
So how do you keep that system under control? And how does the interface draw every change without affecting the other sizes, the extensions across the site, or even the custom measurements field?
The answer wasn't a page… it was an engine.
The Solution
Instead of storing every possibility, I stored the rules that generate them.
Every product became a schema that holds its size tiers, how much each tier adds to the price, the measurement fields each tier opens, and the questions it asks the customer.
The interface has no fixed logic. It reads the schema and builds itself. Prices aren't picked from a list, they're worked out from the schema's rules. And every order is saved as a full snapshot of what the customer chose, so it stays correct even if the price changes later.
The part I'm proudest of is that custom measurements stopped being a separate system. They're now an extension of the same schema, with the same pieces and the same fields. The only difference is that the price isn't set upfront. It's agreed afterwards.
Dashboard
The dashboard was designed with permissions for staff and the owner only.
Print design as part of the Nora Al-Hafidh project

Built with
- JavaScript
- JSX
- React.js
- SQLite
- JWT
- Multer