Wishful Thinking
Custom Decor Ecommerce
A custom Shopify ecommerce store for a Calgary decoration company, combining interactive product designers, wholesale account access, and quote-based ordering.
The Challenge & Solution
What the store needed to support, and what we built
- Customers upload artwork and preview it on the product before ordering
- Retail shoppers and wholesale buyers need different levels of access
- Some custom items need a quote rather than a fixed price
- Buyers need guidance to compare decoration methods
- Proofing, handling, and liability terms need dedicated pages
- Store staff need to manage content from the Shopify admin
- Interactive hat and name badge designers with logo upload and preview
- Approval-based wholesale accounts with tier-gated pages
- Metafield-driven “Contact us for pricing” button linking to a quote page
- A five-category Decoration Guide with technique article pages
- Dedicated pages for proofing, handling, and liability terms
- Custom sections and theme settings managed in the Shopify theme editor
Key Features
Custom functionality built for how Wishful Thinking's customers order
Interactive Hat Designer
Customers upload front and back logos and see them positioned on a hat preview, and the preview details are passed along to the cart.
- Front and back view tabs with separate logo uploads
- Preview details attached to the cart item
- Support for an additional logo placement
Name Badge Designer
A dedicated logo uploader and preview for name badges, paired with a combined pricing layout.
- Logo upload with on-product preview
- Combined garment and design pricing layout
- Dedicated name badge product templates
Custom Pricing Block
A pricing block built for products that combine a garment choice with a decoration choice, with configurable layouts and styling.
- “Garment, then design” and combined page layouts
- Configurable pricing-table styling, including selected rows
- Quantity selector alongside pricing
Wholesale (B2B) Access
Selected pages can be limited to approved wholesale accounts, while other visitors see a sign-in or application prompt.
- Account-tier and approval-status guard blocks
- Configurable messaging for guests and pending accounts
- Dedicated wholesale sign-up page
Quote-Based Ordering
Products flagged in Shopify swap the add-to-cart button for a “Contact us for pricing” button that links to the quote page with the product name included.
- Enabled per product with a metafield
- Quantity controls hidden on flagged products
- Dedicated request-a-quote page template
Decoration Guide
An educational section that explains heat transfers, dimensional branding, patches, decals, and accessories.
- Five decoration categories, each with its own guide page
- Technique article template
- Guide products linked through a metafield
Customer Journeys
Two buyer types, two tailored paths, one store
Retail Custom Order
- 1Browse collections: hats, patches, stickers, name badges, zipper pulls, and bring-your-own
- 2Choose a product and variant
- 3Upload a logo and preview it
- 4Review pricing
- 5Add to cart with the preview details attached
- 6Check out through Shopify
Wholesale Account
- 1Apply on the wholesale sign-up page
- 2Account shows a “pending approval” message until reviewed
- 3Store team approves the account and assigns a tier
- 4Wholesale-only pages become available
Technical Foundations
Practices implemented in the store's theme code
SEO Foundations
- Canonical URL tag in the theme layout
- Open Graph and Twitter Card tags, including product price metadata
- Predictive search enabled
- Decoration guide pages and a technique article template
Accessibility Features
- Skip-to-content link and screen-reader status messages
- Configurable keyboard focus styles
- 44px minimum heights set for buttons, inputs, and dropdowns
- Shared form-styling tokens for theme fields, app blocks, and Shopify Forms
Performance Practices
- Core theme scripts loaded with defer
- Font preconnect and swap-based font loading
- Component stylesheets loaded per section
Merchant Management
Content and product behaviour the Wishful Thinking team can manage in Shopify
Custom Section Library
Twelve custom sections for the About, Contact, Decoration Guide, and Terms pages, available in the Shopify theme editor.
Metafield-Driven Control
Metafields for request-quote, terms notices, and linked guide products let staff change behaviour per product from the Shopify admin.
Global Theme Settings
Colours, typography, buttons, inputs, upload fields, and pricing tables are adjustable from the theme settings panel.
Colour Palette
The store's palette is anchored on brand blue, with Manrope typography
Tech Stack
Shopify's platform, extended with custom Liquid and app blocks
Shopify
Online Store 2.0 with JSON templates and sections
Liquid
Custom sections, snippets, and product templates
Theme App Extension
Custom app blocks for designers, pricing, and access guards
Metafields
Product-level controls for quotes, terms, and guides
Customer Accounts
Approval status and tier-based wholesale access
CSS Design Tokens
Shared custom properties across theme and apps
Built on Shopify
The store runs on Shopify's hosted platform, with checkout handled by Shopify.
Planning an Online Store?
Whether you need a product designer, wholesale accounts, or quote-based ordering, let's talk about what your store needs.
Project details describe the store's theme and configuration at the time of publication. The live store is managed by Wishful Thinking and may change.