Coffee shop Shopify theme with subscriptions-ready purchase options: DEV3 Roastery

How to set up a coffee roaster or tea shop on Shopify with roast levels, tasting notes, brew guides and Subscribe & save purchase options that use real selling plans, using DEV3 Roastery.

DSDilawar Singh 5 min read 0 views
Coffee shop Shopify theme with subscriptions-ready purchase options: DEV3 Roastery

Specialty coffee sells on detail. A buyer wants to know how dark the roast is, what it tastes like, where it was grown and how to brew it, and the best customers want it delivered every few weeks without thinking about it. Generic Shopify themes put all of that into one block of description text and leave subscriptions to whatever the app happens to inject. DEV3 Roastery is a coffee shop Shopify theme built the other way round: roast level, tasting notes and origin are structured data the theme displays well, and purchase options are ready for subscriptions through Shopify's own selling plans. This post covers who Roastery is for, how to set up a coffee product, how subscriptions work (and what the theme deliberately does not do), and the brew guides, cafés and wholesale pages around them.

The Roastery home page: a serif headline beside a steaming 3D cup with a rotating freshly-roasted stamp

Who a coffee Shopify theme like this is for

Roastery was designed for businesses that sell what they roast, blend or brew:

  • Small-batch coffee roasters selling beans and ground coffee by size and grind.
  • Tea merchants with loose-leaf teas that share the same tasting and origin story.
  • Cafés with an online shop, which also need opening hours and locations on the site.
  • Specialty drink brands that sell brew gear and accessories next to the drink itself.

The demo is the fictional Ember & Leaf roastery: 6 coffees, 4 teas and 4 pieces of brew gear (51 variants in all), with 5 pages and a Brew Journal blog.

A coffee-first product page

Roastery is an Online Store 2.0 theme built from scratch on DEV3's own base, not a fork of Dawn. Its product section is the standard one (gallery, variant pills, sticky add-to-cart, pickup availability and native 3D model media) plus three coffee blocks.

The Coffee profile block shows a roast meter of five beans, the tasting notes as chips, and a facts grid with origin, process, altitude and varietal. Each value comes from an optional product metafield:

  • custom.roast_level: an integer from 1 (very light) to 5 (dark)
  • custom.flavour_notes: a list such as Jasmine, Bergamot, White peach
  • custom.origin, custom.process, custom.altitude, custom.varietal: single lines of text
  • custom.brew: a suggestion such as "Pour-over · 1:16 · 94 °C", shown as a chip

Anything you leave empty is hidden, so teas leave the roast level blank and the meter disappears, and brew gear shows none of it. Size and grind work best as normal variant options (250 g or 1 kg; whole bean, filter or espresso), and Shopify's unit pricing shows the price per kilogram.

Coffee profile: roast level, tasting notes, origin, process, altitude and varietal above size and grind pills

On collection pages, each card shows the roast meter and the first two tasting notes, and a roast-level filter works well as a metafield filter in Shopify's free Search & Discovery app.

Subscriptions-ready purchase options

This is the part most coffee shops ask about first. Roastery's Purchase options block is built on Shopify selling plans, the same mechanism every Shopify subscription app uses:

  1. Install a subscription app, such as the free Shopify Subscriptions app.
  2. In the app, add your coffees to a plan (for example, every 2 or 4 weeks with a discount).
  3. On those products, the block now shows One-time purchase or Subscribe & save, with a delivery-frequency picker.

The selected plan is sent with the add-to-cart request, cart lines show the plan's name, and billing, discounts and subscriber management are all handled by the subscription app at checkout.

What Roastery does not do is just as important: the theme has no billing of its own, and it never fakes a subscription. If a product has no selling plans, the block shows a fallback line you write instead. In the demo it reads "Brewing for a café or office? Ask about standing orders." with a link to the wholesale page. Leave the fallback empty and the block hides. You never end up with a "subscribe" toggle that quietly sells a one-off bag.

Origin stories

The origin stories section gives each farm or origin a card with an arched image, country, region, altitude, producer, process, tasting notes and a short story, with an optional link to the coffee. A journey line draws itself down the page as the shopper scrolls, and each pin lights up as its card comes into view.

Origin timeline: each farm gets a chapter with region, altitude, notes and producer

Brew guides with a timer

The brew guide turns each method (pour-over, French press, AeroPress, cold brew) into a tab with an image, the ratio, dose, grind and water temperature, up to five steps and a link to a product. Start brew timer fills a ring and highlights each step in turn as a short preview; shoppers who prefer reduced motion get a plain real-time timer without the animation. Set the brew time to zero to hide the timer for methods like cold brew.

Interactive brew guide: pick a method to see ratio, dose, grind, water and step-by-step timing

Cafés and wholesale

  • Cafés: location cards with an address, weekday and weekend hours, phone, a map link and a note. An Open now or Closed now badge is worked out in the visitor's own browser from the hours you enter.
  • Wholesale: a Shopify contact form with business name, business type and monthly volume fields and a list of benefits. Enquiries arrive in your store's contact email marked as wholesale.

Ready-made page templates cover About, FAQ, Contact (form and cafés), Wholesale and Cafés.

Wholesale page: a trade enquiry form with business type and monthly volume fields

A warm look, slow motion and one small 3D cup

Roastery's single 3D object is a glazed cup and saucer with latte art and soft rising steam, in the hero. You can change the glaze and clay colours, or paste in your own model. It loads only when it nears the screen, pauses offscreen and falls back to a poster without WebGL. The rest of the motion is deliberately slow and soft: long reveals, split serif headlines, beans that pop into the roast meters and a few drifting beans in the hero. Everything follows a single Off, Subtle or Full setting, and visitors who prefer reduced motion get static content.

Install and import the demo

  1. Go to Online Store → Themes → Add theme → Upload zip file and choose dev3-roastery-1.0.0.zip from the download. Click Customize, then Publish.
  2. Import Demo-Content/products.csv under Products → Import, add the metafield definitions and images, then create the collections, pages and menus from the demo README. A scripted seed is available from DEV3 support on request.

Roastery passes Shopify Theme Check with 0 errors and 0 warnings, and we tested add to cart, the cart drawer and the checkout handoff on a live development store. The initial JavaScript is about 24 KB gzip.

See it in motion

There is no public live demo, because the demo runs on a password-protected development store. The video tour walks through Ember & Leaf from the hero to a coffee page, the brew guide and checkout.

Video tour of the Roastery demo store, from the hero to a coffee page and checkout

Roastery is on the DEV3 marketplace. The case study covers the design decisions in more depth.

DS

Written by

Dilawar Singh

CTO, DEV3 Technologies · ClinicPro, Inventra & WorkPro

Dilawar Singh is the CTO of DEV3 Technologies. He leads the engineering of DEV3’s own products — ClinicPro, Inventra and WorkPro — which are built, sold and supported by the DEV3 team from Mohali, India.

Keep reading

All articles