ASAR TECH
A Dubai tech shop where retail and wholesale share one cart — storefront, checkout and an admin the owner can actually use
Product design · Full-stack build · E-commerce

Retail and wholesale, same shelf
One price list, two kinds of buyer
A Dubai reseller sells the same laptop twice over: one to a traveller who wants it today, fifty to a shop that will resell them.
The usual answer is two websites — a retail store, and a B2B portal where the price hides behind a login, an account approval and a quote request.
Here there is one shop. The ladder is printed on the product page, and the tenth unit drops the price in the cart in front of everybody.
Price per unit, AED
MacBook Pro 14" M4 Pro · 512 GB
1–9
AED 8,999
retail
10–49
AED 8,449
wholesale
50+
AED 7,899
by the pallet
Medusa price lists carry the tiers, the product page prints them, and the cart applies them the moment the quantity crosses. No B2B portal, no login for prices, no invoice on credit.
01 — The shelf
The wholesale price is printed on the page

02 — The cart
The tenth unit changes the bill

03 — The counter
Duties prepaid, 249 countries deep




The shop we shipped
Drawn at 390 px, then widened
Bottom nav · sticky buy-bar · filter sheet







The back office
The owner never opens Medusa
A commerce engine ships with an admin built for developers. The person running this shop is not one, and reads Russian.
So the console lives inside the same Next.js app, in their language, with task names instead of Medusa nouns — and the admin token stays in an httpOnly cookie the browser never reads.
Every write goes through a narrow endpoint of its own. There is no generic proxy handing the whole admin API to a browser tab.






How it runs
Built to be handed over
Real data
Catalogue, prices, specs and photos are the owner’s own, entered in the console and live the moment they are saved.
Payments
Cash on delivery, cards, Tabby and Tamara — each method carries its own keys, entered in the admin and switched on without a redeploy.
Tax and duties
Prices exclude VAT and delivery is DDP: duties are prepaid at checkout, so nothing is collected at the customer’s door.
Recommendations
Six engines — similar, customers-also-bought, frequently-bought-together, bestsellers, new arrivals and recently viewed — ranked on the backend and rendered from the live catalogue.
Built for a reseller
The shop sources to order out of Dubai, so availability and lead time come from the desk that answers the phone, not from a warehouse counter.
Two languages
EN and RU, key for key — 541 = 541 — so one switch changes the whole shop, product copy and spec labels included.
0
prices on every product, one cart
0
countries the checkout accepts
0
recommendation engines behind the shop
What came out
One cart serves the tourist buying one and the shop buying fifty — no login, no quote request
The owner runs the whole shop from one Russian console: catalogue, orders, leads, payment keys and the home page, no redeploy
7,474 pages in the production build, EN/RU parity 541 = 541, unit and end-to-end suites green
Medusa 2 · Next.js 15 · PostgreSQL · Redis · Playwright
asarstore.com




