Introduction
Shopify is a hosted e-commerce platform — Shopify runs the servers, the checkout, and the database, and you build on top of it rather than standing up your own store from scratch. Customization happens in three main ways: themes, which control how a store looks, apps, which extend what a store can do, and headless storefronts, which replace the theme entirely with a custom-built frontend.
Themes vs. apps
A theme is a set of template files that render a store's pages — product pages, collection pages, cart, and so on. Themes are written largely in Liquid, Shopify's own templating language, mixed with regular HTML, CSS, and JavaScript. An app, by contrast, is a separate piece of software (often not hosted by Shopify at all) that talks to a store through Shopify's APIs — adding features like reviews, subscriptions, or custom shipping rules that a theme alone can't provide.
This course focuses mainly on theme development, since that's where most day-to-day Shopify customization happens, and covers just enough of the API side (lessons 9, 10, and 15) to understand how themes, apps, and fully custom frontends connect.
What is Liquid?
Liquid is an open-source templating language Shopify created (and now used elsewhere too). It lets a template file output dynamic data and make basic logical decisions, without being a full programming language — there's no way to define arbitrary functions or connect to a database directly. Here's a first look at what it feels like in context:
<h2>{{ product.title }}</h2>
<p>{{ product.price | money }}</p>
The double curly braces output a value; everything else is plain HTML. You'll get comfortable with this mix over the next two lessons.
The Shopify ecosystem, briefly
A few terms you'll see constantly: the Theme Editor is where merchants customize a theme's content without touching code; the Admin is the dashboard where a store's data (products, orders, customers) lives; and the Admin API is how external code — apps, scripts, integrations — reads and writes that data programmatically.
A third path: going headless
Not every store uses a Liquid theme at all. A business with unusual frontend requirements — a native mobile-first experience, a highly custom checkout journey, or a frontend team that already works in React — can instead build a completely custom storefront against Shopify's data APIs, with none of the theme structure this course spends most of its time on. This approach is called "headless," and lesson 15 covers Shopify's own supported path for it.
Starter themes and the Theme Store
Very few Shopify developers start a theme completely from a blank folder. Shopify publishes reference themes built to current best practices that most custom development either forks or studies closely, and the Theme Store is where merchants browse and purchase pre-built themes — each of which has to pass a technical review (performance, accessibility, code quality) before being listed.
Online Store 2.0
You'll sometimes see the term "Online Store 2.0" — this refers to a set of platform changes (JSON templates, native section support on every page, app blocks, and metafields with UI support) that modernized theme development a few years back. Every concept in this course assumes an Online Store 2.0-era theme, which is the default for any theme built or updated today.