Feb 21, 2025

How We Built the Stovefitter's Shopify Store: Custom Features, Minimal Apps

How We Built the Stovefitter's Shopify Store: Custom Features, Minimal Apps

Stovefitter's is a technically complex Shopify store.

The brief required advanced custom features — product comparison, a room size calculator, complex variant handling, custom wishlist functionality — that most Shopify agencies would address with a stack of third-party apps.

We took a different approach: building everything custom within the theme, using code rather than apps for functionality that runs on every page.

The Performance Argument Against Apps

Every Shopify app that injects JavaScript into your storefront adds load time.

For a single app this might add 100–200ms.

For five or six apps handling core product page functionality, the cumulative load is significant — potentially several seconds on slower connections or mobile devices.

For Stovefitter's, where product pages are complex and a high proportion of buyers are researching on mobile, this performance cost was unacceptable.

We made a deliberate decision: any functionality that needed to perform at page speed would be built in the theme, not added via apps.

The Room Size Calculator

Customers who aren't sure which stove is right for their space can enter their room dimensions and insulation level, and the site serves them a filtered collection of stoves appropriate to their heating requirement.

Building this as a custom theme component — using Liquid, JavaScript and Shopify's Storefront API — meant it runs at native Shopify speed, integrates seamlessly with the navigation architecture, and doesn't require any third-party API calls or app loading.

The filter results appear instantly rather than waiting for an API response.

Custom Product Comparison

The custom comparison implementation stores selections in local storage and renders the comparison view entirely client-side, using product data already available within the theme.

No API calls during the comparison interaction, no external scripts loading, no dependency on an app that might introduce conflicts in future updates. The comparison feature performs at the same speed as the rest of the site because it's built into the same codebase.

What This Approach Requires

Building custom theme functionality requires deeper Liquid and JavaScript expertise than standard theme customisation, and stronger understanding of Shopify's data model and API capabilities.

It also requires careful architecture thinking upfront — the room calculator, comparison feature and wishlist all share an underlying data approach, and designing that consistently from the start prevents the code conflicts that accumulate when features are added incrementally.

The result is a store that performs better, maintains more reliably, and provides a more seamless user experience than an equivalent app-based implementation.

If your Shopify store needs custom functionality that goes beyond what apps can deliver — or where app performance overhead is a concern — we build this kind of work regularly.

→ Read about our custom Shopify development service

→ Read the full Stovefitter's case study

Author

Darren Williams

Founder & Managing Director