The components

Each part, at the width it was built at.

Nothing here is a screenshot.

Each one is a whole buying decision, filmed playing. Under each one is the sentence you say to your agent to get it. No code here, on purpose.

The tin and the jar are our demo. The cut runs on the photograph you already have.

Three dark coffee tins side by side over a row of packs reading 1 tin $19.00 at $19 a tin, 3 tins $48.00 at $16 a tin minus $9, 6 tins $90.00 at $15 a tin minus $24, the six-tin pack chosen, and a dark bar reading Add 6 tins, $90.

Pack selector — 1, 3 or 6, price per unit

  • Consumable · reordered
  • Sofa · mattress · watch
the line
Use uxgen. Put a pack selector on my product page at 1, 3 and 6 units.
Cut my product out of the photographs I gave you — a different frame for each pack, never one frame scaled up.
On every tile print the price, the price per unit and the saving, read from my real price list, and mark the last tile "best per unit" only if the arithmetic says so.
Take what you need from my catalogue, my photographs and my shipping rules. Invent no number I have not given you.
Six dark coffee tins in a row above three price cards reading 1 tin $19.00 at $0.95 a cup, 3 tins $48.00 minus $9.00 at $0.80 a cup, 6 tins $90.00 minus $24.00 at $0.75 a cup, an Included row ticking Scoop, 120 filters and Travel tin, and a dark Add 6 tins $90.00 button.

Bundle builder — free gifts stack with the tier

  • Consumable · reordered
  • Sofa · mattress · watch
the line
Use uxgen. Build the bundle ladder on my page: 1, 3 and 6, with the free gifts stacking as the tier climbs.
Every gift on the list has to be something I actually ship — check it against my catalogue before you tick it.
Print the price per unit under each rung so the climb is arithmetic and not a claim, and show the saving against buying singles.
Take what you need from my product list, my gift stock and my shipping rules.
Amber glass MICRON jars on a pale bench, one open with tablets showing, above a dark panel: two thresholds, free shipping unlocked and free express $57 to go, a cart line of three jars at $78.00, and a white Add to cart button.

Free shipping bar — two thresholds to unlock

  • Consumable · reordered
  • Sofa · mattress · watch
the line
Use uxgen. Put the free-shipping bar in my cart and on my product page.
It has to say what is left to spend, to the cent, and it has to end on the truck — the symbol, not the word.
Read my threshold and my shipping cost from the store. Do not round them, and do not invent a second threshold I have not set.
Take what you need from the cart state. If I already ship free on everything, leave the bar out.

Saturday, no alarm

Take what you need.

15 % off your first order.

Three amber glass MICRON jars with brushed metal caps on a pale bench, one of them open.

Press one — the code is underneath

Coupon strip — tear a tab, keep the code

  • Consumable · reordered
  • Sofa · mattress · watch
the line
Use uxgen. Hang a strip of coupons under the shelf on my page.
A tab tears off when it is pressed. Then, and only then, ask for the email. Then reveal the code — in that order, never the email first.
The tab has to look printed before it was touched, and nothing under it may look like a barcode or a serial: a buyer must be able to read every mark on it.
Take what you need from my offer. If I have no first-order discount, do not build this.
A dark coffee tin at $19.00, 250 g, 20 cups, $0.95 a cup, with two near-black notes pinned around it on leader lines: Does it reseal? two pieces of metal, the lid presses back on; and $19 for coffee? 250 g divided by 12.5 g is 20 cups, so $0.95 a cup.

Fact pills — objections answered on the photo

  • Any shop
the line
Use uxgen. Pin three facts around my pack, on leader lines, and make them point when they are pressed.
Three, never four. Each one answers a question a buyer would ask holding the thing in a shop — not a feature I would like to boast about.
Take what you need from my label, my FAQ and my returns page. Use no adjective I have not written myself.
Drag the ring: what is printed on the tin turns around it.

Label ring — drag to read around the pack

  • Any shop
the line
Use uxgen. Set what is printed on my label on a ring around the product, and let the buyer drag it round.
Read the lines off the photograph I gave you. Never retype them, and never guess a line that the shot does not show.
Take what you need from the label. If a line is unreadable in the frame, leave it out rather than filling the gap.

Unlock 20 %

Pick every square with the frosted jar.

Pick 3

Photo captcha — spot the product, get the code

  • Consumable · reordered
  • Sofa · mattress · watch
the line
Use uxgen. Gate my promo behind a picture grid: the buyer picks the squares that show my product, then the code appears.
Cut the squares out of my own photographs. It has to look like my shop — never like a third-party verification widget, never a blue panel with a checkbox.
Ask for the email at the end, when the code is handed over, and not before.
Take what you need from my product shots. If I have fewer than three usable frames, do not build this.

The control run

The one report we publish is the one that accuses us.

It looks at its own work before handing it back, and it reads a store it never wrote just as hard. This one ran on our own control page, written by a capable agent with uxgen switched off.

Not on npm yet — this line fails today.

npx -y uxgen@latest audit https://your-store.com

uxgen · reportcontrol run · 16 Aug 2026 · walked at 390 and 1440
open     390px  http://localhost:4173/creatine
read            3 duration tiers · price per day on each
click    OK     tier "2 mois" → bar reads "Pack 2 mois · 2 pots"
click    OK     "Ajouter au panier" → the drawer opens
read     OK     free-shipping bar · subtotal 44,90 €
read            "Plus que 0,10 € pour la livraison offerte"
click    OK     chained "un pot de plus" → subtotal 66,07 €
click    DEAD   "Passer commande" → answered:

                "Démo — le paiement n'est pas branché sur cette page"

read            page unchanged: yes · payment field: none

result          1 dead path · the buying path does not end

Everything before that click was correct: the tiers, the price per day, the shipping bar, the upsell. The page is beautiful and it cannot take a euro. That is the half nobody measures.

What we do not promise

No conversion figure
Zero customers and zero A/B tests. Nothing measured to quote, and we are not going to invent one.
No reviews, no logos
We have none. What is on this page instead is real output: the pieces the server composed, filmed playing.
No delivery rate
Sections land when they land, with no weekly promise on it — a cadence we cannot prove is the claim this engine exists to catch.

Your pages stop looking generated, and start carrying an offer.

Beauty is what makes them stay. Arithmetic is what makes them pay. uxgen never ships one without the other.

Get started does not open a checkout — card payment is not switched on yet.

Not on npm yet — this line fails today.

claude mcp add uxgen -- npx -y uxgen@latest