Dukkanify

You write

“a luxury oud & perfume store for the UAE”

We build

Create storeWatch one build

No card. Runs on a mock model if you have no key.

Seconds later

Theme · 8 products · 3 pages · all editable

NOOR

Discover the Essence of the Gulf

Handcrafted fragrances inspired by the warmth of oud and the elegance of rose.

Shop by category

The Collection

Royal Oud

Royal Oud

AED 289.00

Desert Rose

Desert Rose

AED 249.00

Majlis Noir

Majlis Noir

AED 319.00

Amber Nights

Amber Nights

AED 279.00

Oud Al Shams

Oud Al Shams

AED 349.00

White Musk

White Musk

AED 229.00

Heritage Gift Set

Heritage Gift Set

AED 399.00

Signature Collection

Signature Collection

AED 549.00

© NOOR — built with Dukkanify

You get

Theme
Palette, type, corner radius
Hero
Headline, subhead, call to action
Categories
Named by the trade you asked for
Products
Eight, priced in minor units
Pages
Home, About, Contact
Direction
RTL and Arabic type when you ask in Arabic

The model never writes your shop. It writes the data.

Every generation returns one typed object — palette, eight products, three pages — checked against a schema before anything is stored. Output that fails gets one chance to correct itself, then it is refused.

Nothing the model produces is ever executed or rendered as markup, so a storefront is the same every time it loads, every edit is undoable, and every save is a version you can go back to.

One generation
  1. your sentence
  2. ↓ the model answers with JSON
  3. checked against the schema
  4. ↓ once, if it failed
  5. stored, rendered, yours to edit

The same schema is imported by the server that validates it and the renderer that draws it, so the two cannot disagree.

Dukkanify — AI Store Builder