Executive summary
What this is
A from-scratch Online Store 2.0 theme built around the brand identity Pepperell Crafts had drawn but never landed online. Poppins for headings, Zilla Slab for body, Market Pro for accent words, cream cards, hand-drawn brand ornaments. The 273 active SKUs the store carries now sit under seven main categories instead of the brand-led flat list visitors meet on pepperellcrafts.com today.
Description copy and the spec table on every product page were verified one product at a time against the live pepperellcrafts.com product pages, so nothing on the test store contradicts what Pepperell Crafts already says about its own goods. Material, dimensions, country of origin, page count on books, breaking strength on cords, wick type on candle wicking, all of it matches the live source.
The trust numbers visitors look for ($48 free-shipping threshold, one-business-day ship, 30-day return window, 97% five-star rating across 233 verified reviews) come out from the prose where they currently live and surface as a stat strip on the homepage, on the shipping page and on the product page. Nothing changes about the policy. The visibility of it does.
Catalog
Seven categories
The SHOP menu on pepperellcrafts.com lists 17 brand pages (Stretch Magic, REXLACE®, Bonnie Braid, Parachute Cord, Silkies, Pony Bead Lacing, POM POMS and so on). The new theme groups by what the visitor is making, not by which Pepperell brand makes it. Brand pages still exist as collection filters underneath.
- Cords & Lacing 63
- Wicking & Candle Making 44
- Beads, Findings & Closures 43
- Kits, Books & Patterns 43
- Wood, Slates & Naturals 32
- Tools & Workshop 25
- Decor, Toys & Finished Pieces 23
How the filter panel works
The collection page on pepperellcrafts.com has no filter sidebar today. Only sort, by price or date. The new theme renders Shopify's faceted filter panel on every collection. Filters read from product metafields: material, project type, color, skill level, audience, made in USA, kit and value-pack flags.
The panel is sticky against the left rail on desktop and opens as a slide-in drawer on mobile. Active filters show as pills above the grid and clear in one click.
URL structure
Clean and readable. Collections sit at /collections/cords-lacing, products at /products/{handle}, static pages at /pages/{handle}. Search is /search?q=. Filters write to the URL as ?filter.p.m.custom.material=Cotton.
No session IDs in URLs, no tracking parameters bolted on at the storefront level. Any filtered result is shareable and the back button works the way visitors expect.
How a product lands in a category
Deterministic, not guessed. A product is assigned to a category only when its tags or its existing pepperellcrafts.com description contain keywords mapped to that category. A small set of edge cases has explicit SKU overrides written into scripts/classify-catalogue.mjs.
The script runs against the live Pepperell Crafts product feed and gives the same result on every run, so the IA stays reproducible.
Why seven, not seventeen
A first-time visitor on pepperellcrafts.com looking for cord has to know in advance that Bonnie Braid, Parachute Cord, REXLACE® and Cotton Craft Cord are all cord. Promoting intent above brand removes that prerequisite. The seven tiles scan in a few seconds, the seventeen brand pages still exist underneath as filter values, and customers who already shop by brand reach the same page in one click from the homepage carousel.
Storefront
What changes on each surface
The table below compares the test store to pepperellcrafts.com as it stands today. Everything in the right column is verified in the live HTML at the time of writing.
/cart. Free-shipping meter present. No drawer, no cross-sells on the empty state.Product page
Inside the product page
The product page on pepperellcrafts.com is a single rich-text paragraph under the gallery, plus a price and an add-to-cart. The new theme breaks that surface into four blocks that read like a printed product card. Each block is real on the test store right now.
Structured spec table
A 23-row spec table reads from product metafields under custom.*: Material, Format, Pages, Author, Publisher, ISBN, Dimensions, Diameter, Length, Breaking strength, Quantity per pack, Color options, Wick type, Use, Finish, Includes, Project type, Skill level, Audience, Brand, Country of origin, Care. Any row whose metafield is blank simply does not render.
The values come from a per-product audit against the live pepperellcrafts.com page, so a book lists pages and ISBN, a paracord listing lists diameter and breaking strength, and a candle wick lists wick type.
Use cases, How to use, Care
Below the description sits a tabbed block. Each tab heading maps to a metafield: "Use cases" reads custom.use_cases, "How to use" reads custom.how_to_use, "Care" reads custom.care_long. When the metafield is empty the merchant's editor content shows instead, so nothing breaks if a tab has not been authored yet.
The Use cases tab was written per product against the live page, so a candle kit talks about candle making and not about friendship bracelets, and a paracord cord talks about lanyards and survival bracelets rather than candle making.
Variant image swap
Clicking a color swatch swaps the main gallery image to the matching variant photo. The mapping uses the variant's featured_image ID first, then falls back to filename matching. Around 200 color names are mapped to brand swatches in swatch-color.liquid, including named hex colors and gradient patterns (camo, tie-dye, rainbow, sparkle, holographic).
The live pepperellcrafts.com PDP shows color names in a text dropdown. No visual swatches, no image swap on selection.
Sticky mobile add-to-cart
On mobile the inline add-to-cart button is mirrored as a sticky bar pinned to the bottom of the viewport, with the variant title and price always visible. The bar appears once the inline button scrolls out of view.
The live pepperellcrafts.com PDP has no sticky mobile add-to-cart. A visitor who scrolls through the description has to scroll back up to buy.
Social feeds
TikTok plays in page. Instagram does not.
Both feeds appear on the homepage. The reason one plays and one does not sits on the platforms, not in the theme.
TikTok feed Plays in page
TikTok exposes a public player iframe at tiktok.com/player/v1/{id} with autoplay, muted and loop URL flags. Eight curated @pepperell.crafts videos load on a single scrolling row and play silently as the visitor hovers them. No API key, no quota, no third-party service in the loop.
Adding or removing a clip means pasting a TikTok video ID into the section settings inside the theme editor. About ten seconds per change.
Instagram reels Click out to IG
Meta turned off inline playback for the public /reel/{code}/embed/ iframe in 2024. The embed renders a poster image and forces a click-through to instagram.com when a visitor presses play. The same behavior applies to every site that embeds Instagram. It is a platform decision on Meta's side.
The section uses the official embed because it stays current automatically whenever @pepperell.crafts posts a new reel. A self-hosted fallback mode lives in the same section file if reach ever becomes more valuable to Pepperell Crafts than the platform jump.
Static pages
About, Contact, Shipping & Returns, FAQ
On pepperellcrafts.com these four pages are bare prose under a single H1. The About page opens on a typo ("was in established in 1917") and runs three short paragraphs without a hero or stat strip. The Shipping & Returns page buries the numbers customers came for inside paragraphs, with a $0.01 mismatch between the announcement banner ($48.00) and the policy body ($48.01). The FAQ at /pages/faqs is a flat numbered list of 18 questions with no accordion (the more discoverable /frequently-asked-questions URL returns 404). The new theme runs each of these pages through a shared brand-aware shell.
Page shell
A cream hero band at the top with an eyebrow, an H1 with an optional Market Pro accent word, a one-line dek, and a hand-drawn brand illustration on the bottom-right corner. Below the hero, the body lays out as a two-column grid on desktop with a sticky table of contents on the left, generated automatically from the H2s the merchant types into the page editor.
Per-page templates
Each page picks the right turnkey JSON template in the page editor. About adds a four-stat heritage strip and alternating image-with-text bands. Shipping & Returns surfaces the three numbers customers came for as a stat strip above the policy text. FAQ runs an accordion. Contact pairs the form with an address card.
Prose styling
Inside the body. H2s carry a brand-stroke underline. Blockquotes render as pull-quotes in Market Pro orange with a left rule. List markers swap to a brand-orange glyph. Wrapping a paragraph in <div class="callout"> renders it as a cream card mid-page without touching theme code.
Why it matters
The pages where a first-time customer decides whether to trust Pepperell Crafts are About and Shipping. Putting the numbers and the heritage proof above the fold reduces the time-to-answer on both. The page body stays inside Shopify Admin, so any future copy change happens in the page editor, not in the theme.
For everyone working on the site
What is theme. What is content.
Anything visual stays consistent across the catalog automatically. Typography, color, spacing, ornament placement, section layout, filter behavior, cart behavior, search behavior. None of it needs the merchant to do anything to stay in brand.
Anything textual or photographic is editable in Shopify Admin without touching code. Product titles, descriptions, hero copy, page bodies, TikTok video IDs, FAQ entries, the About story, blog posts, navigation labels. Rewriting the About page in the morning, swapping a TikTok clip at lunch, or adding a new FAQ entry by close of business is a Shopify Admin task. Theme code stays out of the way.
Every section ships with a schema-driven settings panel inside the theme editor, and most behavior changes (turn the Instagram row on or off, change the announcement bar copy, raise or lower the free-shipping threshold) are one input away. If a walkthrough of any specific surface is useful, the design lead can give a short live tour.