We built our own Shopify theme. Here's what's inside. | Scale House
Theme dev 6 min read 6 July 2026

We built our own Shopify theme. Here's what's inside.

Everyone else builds on Shopify's default theme and plops 10 apps on top. We built our own instead. Come see what's in it.

We built our own Shopify theme. Most agencies don't bother, they grab Shopify's default and plop 10 apps on top to patch the gaps. We went the other way. Every trick and bit of goodness we've learnt building custom stores, packed into one theme you actually own. It's called Sherbet. Want to see what's inside? Keep scrolling.

So what's wrong with apps?

Loads. Every one's another monthly bill and another bit of code dragging your store down. They break when Shopify pushes an update. And you don't own any of them, cancel the subscription and that feature walks out the door with it.

We wanted the opposite. One codebase, yours to keep, with the everyday stuff already baked in.

One set of rules for the whole design

Every colour, size, space and corner comes from one file. No stray hex codes. No random 17px margin someone eyeballed at 2am.

/* Spacing: one scale. No made-up values. */
--space-4: 1rem;    /* 16 */
--space-5: 1.5rem;  /* 24 */
--space-6: 2rem;    /* 32 */

/* Corners cap at 12px. Two shadow levels, never coloured. */
--radius-3: 12px;
--shadow-low: 0 1px 2px rgba(20,20,20,.06), 0 1px 3px rgba(20,20,20,.08);

Ten spacing steps, that's the lot. When every section pulls from the same set, the store looks designed instead of thrown together. Want to reskin the whole thing for a new brand? Change one file.

Five colour schemes, one per section

Sherbet ships five. Each is a background and a text colour that pass the contrast check, so nothing you build quietly fails an accessibility test.

Cream
#FFFBF5
Sherbet
#FFD9E0
Sky
#D6E9F8
Mint
#D4F0E0
Charcoal
#1A1A1A

A section picks its scheme in the editor. Cream hero, sherbet-pink band, charcoal footer, all readable, no code.

The blocks are the theme

Here's the good bit. Everything below is a real Sherbet section, not a slide about one. Same code we ship, dressed up in a made-up botanical brand.

Sherbet hero section: full-bleed cosmos flower image with a headline and two buttons
The hero. Big image, a dark wash so the text stays readable, one headline, two buttons. Swap it for a video or a flat colour block in a click.
Sherbet product grid with badges, an only-4-left tag, wishlist hearts and prices
The product grid. The image is the card. Sale and new badges, an "only 4 left" nudge, a wishlist heart, quick-add. That's a badge app, a wishlist app and an urgency app you're not paying for.

Make it a pack, no bundles app

Pick 4 or more and the theme builds a variety pack and drops the price. The bar counts what you've added, shows the saving, and switches the checkout button on once you hit the minimum. Brands normally rent this for about $20 a month.

Sherbet make-it-a-pack bundle builder showing five filled slots, a saving, and an add-bundle button
Bundle builder. Five picked, pack unlocked, $19 off, one price at checkout. Built in.

The cart does the nudging

The cart drawer runs a free-shipping bar that shows how close someone is to free delivery. That's the little nudge that quietly bumps the basket, and it's built in, not another app.

Sherbet cart drawer with a free-shipping progress bar, line items, subtotal and checkout
Cart drawer. "$11 away from free shipping" with a live progress bar, line items, add-a-discount and gift-wrap, subtotal, checkout. The free-ship nudge alone usually needs an app.

Reviews and FAQs, without two more apps

These two are the apps we rip out most on a rebuild. Both are just sections in Sherbet.

Sherbet testimonials section with photo tiles, star ratings and verified-buyer tags
Testimonials. Photo tiles, star ratings, verified-buyer tags, and a link back to the product.
Sherbet FAQ accordion with the first question open
FAQ. A plain accordion. Good for shoppers, and it feeds the little FAQ dropdown Google shows under your listing.

Even the footer's a real section: menu columns, socials, a newsletter signup, the lot.

Sherbet footer: brand, menu columns, social icons, newsletter signup and a Crafted by Scale House credit
Footer. Menus, socials, newsletter, policy links. That "Crafted by Scale House" line is a built-in setting, leave it on or turn it off.

The stuff Google wants, set once

Sherbet writes the structured data search engines read, and lets you control it from theme settings instead of us digging through code.

Set your return window and shipping once. Every product page comes out valid. Same with the favicon and page titles, they read from your Shopify settings, never something we hard-coded.

Speed's built in, not bolted on

You can't buy speed from an app. A slow theme stays slow. Sherbet decides what loads first before anything shows up:

@layer reset, tokens, base, layout, utilities, sections;

Two small files load first. Everything else loads without blocking the page, using an old browser trick:

<link rel="stylesheet" href="base.css"
      media="print" onload="this.media='all'">

The browser treats it like a print style, so it doesn't hold up the first paint, then we flick it on once it's down. Fonts preload so the text doesn't pop in halfway. Not glamorous. It's the difference between a store that shows up now and one that makes you wait on a blank screen.

The fun stuff, off by default

There's a 404 page with a little game, confetti the first time someone adds to cart, and a Konami-code easter egg for anyone nosy enough to find it. All optional, all off unless a brand wants them. Personality should be a choice, not something the next dev has to rip out.

What was actually hard

Two things. Sticking to the rules: a set-values system only works if you never cheat it, and the urge to drop one custom number into one section never goes away. And the Theme Store review. Passing Shopify's bar, real accessibility, valid data, no speed shortcuts, made us build it better than we would have on our own.

You own it

Launch on Sherbet and the code is yours. No app subscriptions holding features hostage, no licence, no vendor to get locked out of. We built a candle brand's whole store on it and handed over a codebase they run themselves.

That's the point. The theme should work for the person selling, and it should be theirs to keep.


Weighing a bought theme plus a pile of apps against a custom base? Add up the app fees over two years first. Then come talk to us.