Jordan shops like loyalty doesn't exist.
That's the point.
Acme's store runs wherever it runs — Shopify, Salesforce, or custom. Every order flows to the loyalty engine automatically; the member never changes how they shop.
🧥
Trail Jacket
$64.00
★ Gold members earn 128 pts
🥾
Ridge Boots
$120.00
★ Gold members earn 240 pts
🧢
Summit Beanie
$18.00
★ Gold members earn 36 pts
Under the hood: the storefront posts each order to one idempotent API; a field-mapping template normalises the payload; the Gold rule
WHEN customer.tier == "gold" THEN AWARD order.total × 2 POINTS does the rest. No loyalty code in the storefront.Drop-in components, wearing Acme's brand.
These are the actual open-source web components (@aetherprojects.net/widgets) a tenant embeds — balance, tier, credit, redeem, history — themed here with Acme's colours via CSS variables. In demo mode the redeem button genuinely works: spend some credit and watch the other components refresh.
checking…
What members never see: VariaOS. The components inherit the host site's styling (
--loyalty-accent etc.), the widget token is read-scoped and resolves to one customer server-side, and the only write it permits is a redemption behind the configured floor.How points become money, get spent,
and stay accounted for.
Step through one real configuration (the Retail Starter programme): Jordan's side on the left, Acme's books on the right. Every number below follows the actual demo-tenant rules.
1 · EarnJacket $64 → +128 pts (Gold 2×)
2 · Issuance1,000 pts → $15 credit (×1.5 Gold) + $5 promo
3 · UseBoots $120 − $20 credit (FEFO)
4 · TrackingOne trail: member, CFO, auditor
What Jordan sees
Acme Points
872
Store credit
$0.00
What Acme's books see
No credit lots yet—
| Entry | Ref | Amount | Status |
|---|
Credit liability
$0.00
Credit issued
$0.00
Credit redeemed
$0.00
Press Play. Four steps, one promise kept: shop → points → money → spent — with every movement writing an immutable ledger row that the member's history, the CFO's liability report, and the auditor's export all read from.