The problem: fragmented stack, missed commerce
Forma Strata launched on a split stack: a Webflow marketing site for brand and storytelling, plus a Shopify Online Store for commerce. Page speed hit a ceiling, campaigns went through Mailchimp's hosted pages (breaking visual continuity with the site), and every custom rug order meant a manual email thread with the team. Physical inventory drifted out of sync with Shopify counts weekly, and there was no clean way to publish an editorial drop page on short notice.
A luxury brand needs one coherent surface. The moment checkout, campaign pages, and custom-order flows live on three different platforms, the brand starts leaking.
What we built: headless Next.js on the Shopify Storefront API
A custom frontend on Next.js, TypeScript, Tailwind, and Vercel. Shopify stays the backend: checkout, inventory, orders, and tax. The storefront pulls product data through the Shopify Storefront API. Every rug, vintage piece, and campaign page lives inside a single repo Forma Strata owns. We shipped the rebuild as a replacement for the Webflow site on Feb 3, 2026.
By the numbers
Feb 3, 2026
Launch
200+
Products
42
Rug variants
95+
Lighthouse
The storefront covers the full purchase flow: shop grid with 5 sort options, filters on price and color, color swatches on product cards, swipeable mobile gallery with a sticky Add to Bag bar, hover image preview on desktop, instant image switching via preload, and a blur-up loader on every grid. All sold-out variants sort to the bottom of every collection.
Campaign engine: page plus email, same design
Every Mailchimp campaign gets a matching landing page on formastrata.co. The page is built in the repo (routes at /one-of-one, /early-access, /new-arrivals, /rug-launch) so the design, typography, and product grid match the rest of the site exactly. The email drives traffic to the page. The page converts. Both artifacts live in one codebase.
Four campaigns shipped in the first 10 weeks of the retainer:
- Welcome (list baseline): 68.8% open, 35.3% click, EUR 718 revenue.
- VIP Pre-Sale (segment of 7 VIPs): 85.7% open, 71.4% click. Every VIP in the segment purchased.
- Early Access Rug Launch (1,135 emails, Apr 3): 17 rug orders placed in the first 48 hours across 15 variants.
- One of One vintage drop (1,173 emails, Apr 18): 55.7% open, 4.4% click, 2 unsubs per 1,000.
The Mailchimp baseline open rate for luxury retail is 26 percent. Forma Strata runs at double that, and the VIP segment hits 85 percent because the list was built on trust, not discounts.
The custom rug configurator
A six-step interactive form at /custom-rug. Shape (rectangle, square, round, runner), size with inch-level precision up to 16 feet wide and 30 feet long, 8 color options (Sky, Wine, Pecan, Butter, Teddy, Chocolate, Forest, Ink), materials, timeline, and contact details. On submit, a branded confirmation email goes to the customer and a notification fires to info@formastrata.co. The page is linked from the homepage hero, the rugs collection, the footer, and every rug product page.
Before the configurator, custom rug requests were four-email threads. Now they arrive as a single structured submission with every field the Forma Strata team needs to quote and produce the piece.
Proof of delivery tool
A hidden internal page at /proof-of-delivery. The Forma Strata team fills in customer info and line items, and the page generates a branded PDF they can send with the shipment or keep for records. No Dropbox template, no InDesign file, no invoice-tool detour. Only accessible via direct link.
Inventory automation across 42 rug variants
173 physical rugs across 42 variants do not track themselves, and Shopify's REST API only updates the 'available' quantity, not 'on_hand'. That gap caused 15 of 17 variants to fail to decrement on launch day. We migrated the entire sync to GraphQL inventorySetQuantities with ignoreCompareQuantity: true, then built a Cloudflare Worker that listens for Shopify orders/paid and refunds/create webhooks and appends to a Google Sheet (RUG SALES and SAMPLE SALES).
The RUG tab in the sheet computes remaining stock via SUMIFS against paid orders. Refunds respect Shopify's restockType so a Refunded (kept) still counts as sold. When someone reports 'sold but still shows available', the sheet tells us which variant, which order, and which root cause in under a minute.
By the numbers
42
Rug variants tracked
173
Physical rugs
0
Inventory drift after migration
Real-time
Sheet refresh
What the retainer ships every week
- A 7-day analytics report with sessions, organic search, conversion, and GA4 e-commerce breakdowns.
- A weekly changelog PDF listing every commit, feature, and bug fix.
- An open Slack channel with Santiago for priority issues.
- Monthly SEO deep-dive with keyword rankings, Core Web Vitals, and the top three fixes.
Ten weekly analytics reports and one full e-commerce audit delivered in the first 10 weeks. Organic search crossed 500 sessions per week and grew 43 percent during the retainer window.
Outcome
By the numbers
1,173
Subscribers
2,969
Peak weekly sessions
4
Campaigns shipped
+43%
Organic search
Forma Strata no longer has a site problem. They have a predictable drop cadence, a custom rug pipeline that scales without manual triage, and inventory that tells the truth. The architecture is repeatable for any D2C brand on Shopify that has outgrown themes.
Every D2C brand on Shopify hits the same wall: theme limits, hosted-page campaigns, manual inventory, no custom-order flow. The fix is always the same architecture.












