Featured Project · Ecommerce

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.

2
Interactive product designers
B2B + B2C
Retail & wholesale in one store
50+
Configurable design tokens
5
Decoration guide categories

The Challenge & Solution

What the store needed to support, and what we built

What the business needed
  • 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
What we delivered
  • 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

  1. 1Browse collections: hats, patches, stickers, name badges, zipper pulls, and bring-your-own
  2. 2Choose a product and variant
  3. 3Upload a logo and preview it
  4. 4Review pricing
  5. 5Add to cart with the preview details attached
  6. 6Check out through Shopify

Wholesale Account

  1. 1Apply on the wholesale sign-up page
  2. 2Account shows a “pending approval” message until reviewed
  3. 3Store team approves the account and assigns a tier
  4. 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

Brand Blue
#0379C7
Focus Blue
#1A42D0
Charcoal
#121212
Slate
#242833
Soft Gray
#F3F3F3
White
#FFFFFF

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.

Online Store 2.0Shopify CheckoutTheme Editor

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.