Nudestix
Context
Nudestix sells color cosmetics direct to consumer at nudestix.com, and it sells them by shade. A blush carries a dozen shades, a shade name is reused across formats with different pigment behind it, and a shopper searching for "Nudies Matte Lux Dolce Darlin" is searching for a variant. Two more brands run off the same shop — NUDESKIN and a Nudebody line.
The theme is Shopify, based on Dawn 6.0.2. That version number governs almost everything below it. Dawn 6 predates Shopify's swatch metaobjects, ships no theme blocks, and gives a product page no metadata hook. Most of this engineering exists because the platform in front of us had no way to express "shade" as a first-class thing.
If you want the shorter, plain-language version of this engagement rather than the engineering record, Deploi's Nudestix project page tells the same story without the theme internals.
Storefront Facts
- Public name: Nudestix · Storefront: nudestix.com
- Industry: color cosmetics, direct to consumer
- Platform: Shopify — theme based on Dawn 6.0.2
- Documented builds: 135 · Coverage: 59 capability areas in 11 categories
- Templates touched: 110 — 82 campaign
page.*, 15 collection, 5 product - Surfaces: landing, collection, product detail, global, home, cart, search, blog, account
- Attribution mix: 101 Deploi-authored, 34 Deploi-modified-vendor
- Status: Live, verified 2026-09-06
- Evidence: Read from the theme, with client working-session records
Capability Coverage
A build can sit in up to three areas, so these count coverage, not builds, and do not sum to 135.
| Capability category | Documented builds |
|---|---|
| Content, Campaigns & Editorial | 72 |
| Performance & Platform Health | 60 |
| Search, Filtering & Discovery | 44 |
| Product Detail Experience | 41 |
| Bundles, Kits & Subscriptions | 23 |
| Social Proof, Reviews & Trust | 23 |
| Cart, Checkout & Conversion | 19 |
| Customer Accounts, Loyalty & Service | 15 |
| Navigation & Information Architecture | 14 |
| Multi-Market & Multi-Brand Storefronts | 10 |
| SEO, Structured Data & AI Answer Surfaces | 8 |
Hubs, by builds documented here: art-directed hero and banner system 15 · metafield-driven PDP content 13 · faceted navigation 12 · fixed bundles and kits 12 · campaign landing pages 11 · collection merchandising and product rails 12 · video and shoppable media 11 · variant-aware content 9 · AJAX cart drawer 9 · design system 8 · mega menu merchandising 8 · variant swatches and shade pickers 8 · custom site search 6 · editorial blog and content hub 5 · structured data 4 · vendor widget remediation 3 · guided selling quizzes and finders 2.
Engineering Themes
Shade is an architecture, not a widget. It starts at the swatch: roughly 250 Shade Name:#hex pairs in one theme setting, settings.swatch_colors, with two escape hatches parsed in Liquid — #hex|Product Title scopes a hex to one product where a shade name means different pigment across products, and #hexA&#hexB paints a duo-tone shade as a hard-edged gradient. Shades group by finish off variant.metafields.my_fields.stick-type, and product-get-options-strip-symbols.liquid strips 32 punctuation characters so "Naughty N' Spice" survives a CSS attribute selector. It continues into metadata: the layout builds <title> from selected_or_first_available_variant.metafields.custom.title and appends ?variant= to the canonical only when a variant was explicitly requested, while the section emits one hidden input per variant carrying data-meta-title, data-meta-description and data-meta-ingredient from that shade's custom.* metafields. A crawler that runs no JavaScript still gets shade-specific title, description and canonical — the per-variant SEO the existing Nudestix project page refers to, supported here independently. It ends at the grid: a collection.variants template listing shades, not products.
Bundles, built three ways because there are three shapes of set. Fixed kits are ordinary Shopify products merchandised on the component page, with a swatch picker per component before one add-to-cart. Shopper-composed palettes turn a collection template into a tray: one priced bundle SKU goes to cart, every pick rides along as a line-item property, and a _bundleId mirrored to localStorage is the only thing that makes the set editable afterwards. A second product template switches its add-to-bag wrapper between <product-form> and <bundle-product-form> on one Liquid conditional, driven by which metafield a merchandiser filled in.
Native features where app surface area would otherwise be. The PDP content system parses the existing HTML description into accordions at render time, overrides three of them per variant from metafields, and renders icon strips, badges and campaign widgets from metafields and metaobjects — ground normally covered by a tabs app, a trust-badge app and a page builder. Comparison is a drawer on localStorage, custom elements and the Section Rendering API used as a read-only endpoint. Promo tiles and load-more are theme blocks on Dawn's facet transport. The trade is constant, and it's the one to weigh if you're looking at the same choice: copy stays editable in the admin and present in the first byte of HTML, and the theme owns every edge case an app vendor would otherwise have owned for you.
Constraints We Worked Inside
Dawn 6.0.2 set the floor. Its variant picker renders text buttons and nothing else, it has no swatch primitive and no theme blocks, and its FacetFiltersForm assumes a Liquid-rendered grid re-fetched by section rendering — so every addition layered onto that machinery rather than replaced it. Shopify's storefront filtering operates on products only; there's no first-party way to facet, sort or paginate a variant-level result set in Liquid. Shopify Functions and the bundles API were not in play, so a promotional price had to be carried by a real SKU and set identity held client-side.
Three brands share one storefront with no brand dimension in Liquid, so brand is derived at render time from product.type and collection.template_suffix. The US, Canadian and international stores are separate storefronts on separate domains rather than Shopify Markets, so region switching is navigation, not localization.
The installed stack was already dense: 36 distinct third-party apps, scripts and libraries appear across the documented builds — reviews, wishlist, loyalty, buy-now-pay-later, consent, tag management, video, forms — several mounting into the same buy box or grid, one inside a closed shadow root. And product copy already lived in one HTML description with <h5> subheadings, so the new product page had to ship with no content migration.
Selected Builds
Product detail experience
- Color-accurate shade swatches driven by a merchandiser-editable hex registry · High · Deploi-authored.
- Metafield-driven PDP content system — a resolver over the description and 29 metafield keys. High · Deploi-authored.
Search, filtering and discovery
- Shade-level collection grid hydrated from an external faceting service · High · Deploi-authored.
- Main collection grid: promo tiles, load-more and a filter blocklist · High · Deploi-authored.
- Product card with award badges and a per-variant content payload · High · Deploi-modified-vendor.
Bundles and kits
- A collection template turned into a palette builder — picks as line-item properties. High · Deploi-authored.
- "Save With Sets": shade-selectable kit contents — a swatch picker per component. High · Deploi-authored.
- A second product template whose add-to-bag switches between one cart line and several — chosen by metafield. High · Deploi-authored.
Navigation, cart and campaign
- Title-matched mega menu with a full-depth link-list fallback · High · Deploi-authored.
- Cart page rebuilt around loyalty points, protected gifts and a dark order summary — the loyalty and gifting widgets are vendor products. High · Deploi-modified-vendor.
- Homepage hero carousel v2 - video and split-image slides with per-slide typography control · High · Deploi-authored.
What We Would Not Claim
The base theme is Dawn 6.0.2 and we did not write it. A meaningful share of this storefront is Shopify's code with our additions layered over it: 34 of the 135 documented builds are Deploi-modified-vendor, and some of what looks bespoke — pagination, media modals, the facet form, the cart's underlying behavior — is old Dawn with local changes on top. Where that is true, the build page says so.
The external faceting and search service the shade-level grid and the search modal call is infrastructure outside the theme repository. We built the storefront side — section shell, query contract, card rendering, facet UI, state handling — and claim no authorship of the service.
Nor is the third-party stack ours. Reviews, wishlist, loyalty, consent and payment-messaging widgets are vendor products we integrated with and kept out of each other's way. The integration is ours; the widgets are theirs.
One build record on this storefront is documented and not counted. Checked against the live storefront, the code it describes doesn't run there — so it isn't evidence of what this store does, and any total that included it would overstate the record. It's out of the count above, out of every capability area, and described nowhere in this section. It stays in our own record, as a finding for the client.
All Builds
Thirty are published so far; the other documented builds follow.
- Product detail page: shade swatch picker · PDP content system · "Save With Sets" kits · bundle product template · shade selector and shade finder · variant content swatch system · comparison drawer and table · on-model shade carousel · price snippet with a kit value line
- Collection listing: shade-level grid · main collection grid · palette builder · product card system
- Home and campaign: homepage hero carousel v2 · hero slide content renderer · play/pause element · accessible link labels · editorial split banner v2 · exclusive-offers rail · featured tutorial and shoppable rail · before/after results carousel
- Blog: creator collab video listing
- Cart: loyalty and order summary · cart cross-sell · threshold incentives
- Global and search: mega-menu block system · headless predictive search · announcement carousel · layout load-order shell · mega-menu product rail v2
Let's Build Something Great
Nudestix needed a storefront that could sell a shade the way its shoppers choose one, on a theme with no idea what a shade was. If your catalog is shaped in a way your platform can't describe, that's our kind of conversation. Contact us today to start your Ecommerce Transformation.