The blog

Shopify development,
written down properly.

Tutorials and explanations from the team building learnshopify.dev. Production Liquid patterns, the object model, theme architecture, and the judgment AI tools still get wrong.

TutorialJune 5, 2026 · 3 min

How to show review stars on Shopify collection product cards

Add star ratings to the product cards in a Shopify collection grid by reading the reviews.rating metafield your review app maintains. Here's the Liquid for the stars, the review count, accessibility, and hiding the block for products with no reviews.

Read post
CareerMay 30, 2026 · 4 min

How to become a Shopify developer in 2026 (a realistic roadmap)

A step-by-step roadmap to becoming a Shopify developer in 2026: what to learn, in what order, what to skip, and how the job changed now that AI writes the code.

Read post
CareerMay 30, 2026 · 3 min

Do you still need to learn Shopify development in the AI era?

AI writes Liquid in seconds, so is learning Shopify development still worth it in 2026? Yes, but the skill shifted. Here's what actually makes a Shopify developer valuable now.

Read post
Theme architectureMay 30, 2026 · 4 min

Shopify sections, blocks & theme blocks explained (Horizon, 2026)

Sections, blocks, and the newer theme blocks confuse almost everyone. Here's how they actually fit together in Shopify's current Horizon architecture, with when to reach for each.

Read post
TutorialMay 21, 2026 · 5 min

How to build a free shipping progress bar in Shopify (no app)

A complete guide to building a "You're $12.00 away from free shipping" cart bar in Shopify with Liquid — the code, the cents-vs-dollars trap, live cart updates, styling, and how to make the threshold a merchant setting. No app required.

Read post
TutorialMay 19, 2026 · 2 min

How to format money and currency in Shopify Liquid

Shopify stores prices in cents, so {{ product.price }} renders as 1899, not $18.99. Here's how the money filter works, the difference between money and money_with_currency, and why hardcoding a $ breaks international stores.

Read post
TutorialMay 16, 2026 · 2 min

How to display product metafields in a Shopify theme

Metafields are how you add custom data to Shopify products — ingredients, specs, care instructions. Here's how to read them in Liquid, handle the different metafield types correctly, and render rich text and references without breaking.

Read post
TutorialMay 14, 2026 · 2 min

How to add a sale badge in Shopify with compare_at_price

Show a "Sale" badge (or a percentage off) on discounted products in Shopify using compare_at_price. Here's the Liquid, how to calculate the discount percentage, and how to handle products with multiple variants correctly.

Read post
TutorialMay 12, 2026 · 1 min

How to truncate product titles and text in Shopify Liquid

Keep long product titles from breaking your grid. Here's the difference between Shopify's truncate and truncatewords filters, how to set a custom ellipsis, and why you should strip HTML before truncating a description.

Read post
TutorialMay 9, 2026 · 2 min

How to loop through products in a Shopify collection with Liquid

Render a grid of products from a collection using Liquid's for loop. Here's how to limit the count, access the loop index, handle empty collections, and why you should paginate large collections instead of looping all of them.

Read post
TutorialMay 7, 2026 · 1 min

How to set fallback values in Shopify Liquid (the default filter)

Stop empty fields from leaving holes in your theme. Here's how Shopify's default filter works, the difference between empty, blank, and nil, and the allow_false gotcha that catches everyone with booleans.

Read post
TutorialMay 5, 2026 · 1 min

How to show "from" pricing for products with variants in Shopify

When a product has variants at different prices, a single price is misleading. Here's how to show "From $18.99" with price_min and price_max in Shopify Liquid, and only when the variants actually differ.

Read post
TutorialMay 2, 2026 · 2 min

How to show a low-stock warning in Shopify (Only 3 left)

Add urgency with a "Only 3 left in stock" message in Shopify using variant.inventory_quantity. Here's the Liquid, the inventory-tracking gotcha that shows negative or zero counts, and how to handle variants correctly.

Read post