All case studies

DEV3 Technologies · own product

DEV3 Roastery: a coffee and tea Shopify theme with brew guides and subscription-ready purchase options

Our own Online Store 2.0 theme for coffee roasters and tea shops: roast meters and tasting notes from metafields, purchase options that use real selling plans, origin stories, brew guides with a timer, café hours and wholesale enquiries, with a steaming 3D cup hero.

Industry
Coffee, tea and drinks (Shopify theme)

Live project preview

Client systems are private — screenshots shown where permitted.

DEV3 Technologies · own product — screenshots
Steaming 3D cup hero — A real-time 3D cup with rising steam and a rotating roast badge beside a serif headline.

Steaming 3D cup hero — A real-time 3D cup with rising steam and a rotating roast badge beside a serif headline.

The challenge

Specialty coffee is sold on details: how dark the roast is, what it tastes like, where it was grown and how to brew it. Generic Shopify themes put all of that in one block of description text. Roasters also live on repeat orders, and many themes either ignore subscriptions or show a "subscribe" toggle that is only decoration. We wanted the details as structured, filterable data the theme can display beautifully, purchase options that work with any subscription app through Shopify's own selling plans and never pretend to bill, and the café and wholesale side of the business on the same site, all in a warm, calm design where the motion feels slow and handmade.

Our solution

Roastery is an Online Store 2.0 theme built from scratch on DEV3's own Shopify theme base, not a fork of Dawn. The base supplies the standard templates, the cart drawer, predictive search, filters, swatches, the motion system and a lazy 3D accent engine; Roastery adds its own sections, product blocks and 3D preset on top.

Key design decisions

  • Coffee as metafields. Roast level, tasting notes, origin, process, altitude, varietal and brew are optional metafields; empty fields simply hide, so teas and gear use the same template.
  • Selling plans, not a fake toggle. Purchase options read the product's selling plan groups and send the chosen plan with the cart request. Billing stays with the subscription app; without plans the block shows fallback text.
  • Brew guides that teach. Each method tab carries ratio, dose, grind, temperature and steps, and the timer ring highlights each step; with reduced motion it runs as a plain real-time timer.
  • Café hours computed client-side. Open now and Closed now are worked out in the visitor's browser from 24-hour opening times, so cached pages stay correct.
  • A small, warm 3D accent. The procedural cup and saucer with latte art and soft steam loads lazily, pauses offscreen and falls back to a poster.

Results

Roastery ships with the fictional Ember & Leaf store: 14 products with 51 variants, 52 rendered images, a GLB cup model, 5 pages and 3 journal articles, as a product CSV with images.

  • Theme Check: 0 errors and 0 warnings in Shopify Theme Check.
  • Live store test: tested on a Shopify development store, from add to cart through the cart drawer to the Shopify checkout handoff.
  • Browser QA: an automated harness at desktop and phone sizes confirmed the 3D accent renders, reduced motion turns animation off, and the console shows 0 errors.
  • Weight: about 24 KB gzip of initial JavaScript and 18 KB of CSS; three.js loads lazily.

Roastery is on the DEV3 marketplace. Watch its video tour there.

Setup guide

Requirements

  • A Shopify store with the Online Store sales channel
  • No app is required. Optional: the free Shopify Search & Discovery app for collection filters, a reviews app that writes the standard rating metafields, and a subscription app that uses selling plans.

What's in the download

Unzip the download from your DEV3 account first. Do not upload the download itself to Shopify.

  • dev3-roastery-1.0.0.zip: the theme. Upload this zip as it is; do not unzip it.
  • Documentation/index.html: the full guide. Open it in a browser.
  • Demo-Content/: products.csv, seed.json, images/, models/ember-cup.glb and a README for the manual import.
  • LICENSE.txt and START-HERE.txt.

Install the theme

  1. In Shopify admin go to Online Store → Themes.
  2. Click Add theme → Upload zip file and choose dev3-roastery-1.0.0.zip.
  3. When the upload finishes, click Customize to preview it in the theme editor.
  4. Click Publish when you are ready. Your current theme stays in the theme library.

Import the demo content (optional)

The demo brand Ember & Leaf is fictional; every product, review and image is sample content rendered for this theme.

  1. Go to Products → Import and upload Demo-Content/products.csv. The CSV has no image URLs.
  2. Add each product's images from Demo-Content/images/, following the file names in the demo README.
  3. Settings → Custom data → Products: add custom.roast_level (integer 1–5), custom.flavour_notes (list of single-line text), custom.origin, custom.process, custom.altitude, custom.varietal and custom.brew (single-line text). All are optional.
  4. Upload ember-cup.glb as media on the cup set for the 3D/AR gallery view.
  5. Content → Files: upload the section images listed in the README.
  6. Create the collections (including Brew gear for the cart upsell), the pages with their templates (About, FAQ, Contact, Wholesale, Cafés), the Brew Journal articles and the menus.

A scripted seed that does all of this in one command is available from DEV3 support on request. It runs against your own store with your own Admin API token, and it tags everything it creates so it never touches your other products.

After the import

  • Subscriptions: install a subscription app that uses Shopify selling plans (for example the free Shopify Subscriptions app) and add your coffees to a plan. The Purchase options block then shows Subscribe & save. Without plans it shows your fallback text; the theme itself never bills.
  • Replace the café addresses and opening hours, and set your store's contact email so wholesale enquiries reach you.
  • Set up payments, shipping and taxes in Shopify's own settings; checkout is Shopify's.

Updates

Download the new version from your DEV3 account and upload the new theme zip under Online Store → Themes → Add theme. It arrives as a new theme in your library: copy your settings across in the theme editor or re-apply your changes, then publish it.

How to use

Roast and flavour metafields

Create these under Settings → Custom data → Products. All are optional; empty fields are hidden.

  • custom.roast_level: integer, 1 (very light) to 5 (dark). The bean meter on cards, the product profile and the hero's "today's roast" card.
  • custom.flavour_notes: list of single-line text. Notes on cards (first 2) and chips on the product page.
  • custom.origin, custom.process, custom.altitude, custom.varietal: single-line text. The facts grid in the coffee profile.
  • custom.brew: single-line text, e.g. Pour-over · 1:16 · 94 °C. The Brew it chip.

Teas use the same fields; leave roast_level empty and the meter disappears.

Product page

  • The Roastery product section is the standard product section plus three blocks: Coffee profile, Purchase options and Brew suggestion.
  • Sell grind and size as normal variant options (Size: 250 g / 1 kg, Grind: Whole bean / Filter / Espresso). Use Shopify unit pricing to show the price per kg.

Subscriptions (Purchase options)

  1. Install a subscription app that uses Shopify selling plans (for example the free Shopify Subscriptions app).
  2. Add your coffees to a plan in that app.
  3. The Purchase options block now shows One-time purchase or Subscribe & save with a delivery-frequency picker. The chosen plan is sent with the add-to-cart request, and cart lines show the plan name.

Billing, discounts and subscriber management are handled by the app at checkout. If a product has no selling plans, the block shows your fallback text (or nothing if you leave it empty). The theme never fakes a subscription.

Origins, brew guides, cafés and wholesale

  • Roastery origin stories: one card per origin with an arch image, country, region, altitude, producer, process, notes, story and an optional product link. The journey line draws itself on scroll.
  • Roastery brew guide: each Method block becomes a tab with an image, ratio, dose, grind, water temperature, up to 5 steps and a product link. Set the brew time to 0 to hide the timer.
  • Roastery cafés: cards with address, weekday and weekend hours (24-hour HH:MM), phone, map link and note. Open now / Closed now is worked out in the visitor's browser.
  • Roastery wholesale form: business name, type and monthly volume (comma-separated lists you can edit) and a benefits list. Enquiries arrive in your store's contact email.
  • Page templates: assign page.about, page.faq, page.contact, page.wholesale or page.cafes under Online Store → Pages → Theme template.

The 3D cup

  • The Roastery hero shows the procedural cup and saucer with latte art and steam. Set Glaze colour, Clay colour and options such as {"tilt":0.34,"steam":true}. Steam shows best on dark schemes.
  • Paste a .glb link into GLB file URL to use your own model. Without WebGL, the poster image shows.

Motion

Roastery uses slow, soft reveals, split serif headlines and drifting beans. Change the animation level (Off, Subtle or Full), reveal style, duration and stagger under Theme settings → Motion. Reduced motion is always respected.

Related case studies

DEV3 Technologies · own product · Supplements and wellness (Shopify theme)

DEV3 Vitality: a supplements Shopify theme with supplement facts, a goal quiz and honest subscriptions

Our own Online Store 2.0 theme for supplement and wellness brands: shop by goal, a tag-matched product finder quiz, accessible supplement facts tables, subscribe & save that appears only with real selling plans, stacks, a testing story with lot lookup, a disclaimer block and a 3D tub hero.

DEV3 Technologies · own product · Furniture and home décor (Shopify theme)

DEV3 Nestwell: a furniture Shopify theme with shop-the-room, a "will it fit" check and a 3D chair

Our own Online Store 2.0 theme for furniture and décor stores: a 3D lounge chair that recolours from fabric and leg swatches, shop-the-room hotspots, complete-the-room bundles, dimensions with a doorway and floor-space check, delivery estimates, showrooms and trade enquiries.