← All work

Kremi · Shopify theme engineering

A storefront built to the brand, not to the theme

Custom Liquid sections and interactive components for Kremi's Shopify store, in Turkish and English.

Still from the animation built from the Kremi website's English storefront on Shopify: best sellers, the header heart opening Favorites, the Products menu, the Masks page, a product card on hover, a product page with a variant switch and the cart drawer
2storefront languages, Turkish and English
1shade-preview web component reacting to variant changes

Problem

A premium theme gets a brand most of the way. The last stretch, the sections that actually sell the product, either don't exist or fight the theme's assumptions.

Constraint

Everything had to live inside the merchant's existing paid theme and survive its updates. No app bloat, no external scripts slowing the storefront down.

Approach

I wrote the missing sections from scratch as native Liquid: product FAQs driven by metafields, shoppable looks, a shade-preview component built as a web component reacting to variant changes. Each one configurable from the theme editor, so the team edits content without a developer.

Result

The store runs on bespoke sections across a Turkish and English storefront. The team ships campaigns by rearranging sections in the editor, and the theme still takes vendor updates.

Paid base theme → Custom Liquid sections → Metafields + web components → Theme editor, no-code edits → Brand-specific storefront on a standard theme

Inside the storefront

Screens from the public Kremi storefront, captured without signing in. It is a paid theme with custom sections added; steps marked Custom section are ones I wrote. Scroll, and each one zooms in on the part the text describes.

  1. kremibeauty.com01 / 07
    The Kremi storefront home page: announcement ticker, header with navigation and language switcher, and a full-width hero image of a shipping pouch.

    The Kremi storefront home page: announcement ticker, header with navigation and language switcher, and a full-width hero image of a shipping pouch.

    01 / 07

    A storefront built to the brand

    Custom Liquid sections sit on the merchant's paid theme, so the brand shows through and vendor updates still apply.

  2. kremibeauty.com02 / 07
    A shoppable look: a close portrait with two numbered hotspots for Kiss'n Blush and Lip Vitamin Balm, and the two product cards with prices to its right.

    A shoppable look: a close portrait with two numbered hotspots for Kiss'n Blush and Lip Vitamin Balm, and the two product cards with prices to its right.

    02 / 07Custom section

    Shoppable looks

    Numbered hotspots on a look photo name the products and shades used, with their cards beside it.

  3. kremibeauty.com03 / 07
    A Lip Vitamin Balm product page with the Coffee shade selected: a brown tube image, six shade swatches, two set options and Add to cart.

    A Lip Vitamin Balm product page with the Coffee shade selected: a brown tube image, six shade swatches, two set options and Add to cart.

    03 / 07

    Pick a shade, the page follows

    Choosing a shade swaps the product image and its name in place. Set bundles stay one click away.

  4. kremibeauty.com04 / 07
    A shade preview strip: swatches on top, four model photos labelled Peach, Coffee, Strawberry Velvet and Cherry Coke, and a sticky bar with Add to cart.

    A shade preview strip: swatches on top, four model photos labelled Peach, Coffee, Strawberry Velvet and Cherry Coke, and a sticky bar with Add to cart.

    04 / 07Custom section

    Shade preview that tracks variants

    A web component shows each shade on a model with its name and a short description, and a sticky bar keeps the chosen shade and Add to cart in view.

  5. kremibeauty.com05 / 07
    A Lip Vitamin Balm FAQ section: six collapsed questions on the left and a product photo of the tubes on the right.

    A Lip Vitamin Balm FAQ section: six collapsed questions on the left and a product photo of the tubes on the right.

    05 / 07Custom section

    Product FAQs from metafields

    Each product's questions and answers are metafields, so the team edits them per product in the admin without a developer.

  6. kremibeauty.com06 / 07
    A product page dimmed behind a cart drawer listing one item, a free-shipping progress line, a promotion reminder, a discount code field and a Checkout button.

    A product page dimmed behind a cart drawer listing one item, a free-shipping progress line, a promotion reminder, a discount code field and a Checkout button.

    06 / 07

    Cart opens as a drawer

    The cart slides over the product page with free-shipping progress and the promotion reminder, then a discount field and checkout.

  7. kremibeauty.com07 / 07
    The Turkish version of the Lip Vitamin Balm page with the Cherry Coke shade selected, showing Sepete ekle and Hemen satın al buttons.

    The Turkish version of the Lip Vitamin Balm page with the Cherry Coke shade selected, showing Sepete ekle and Hemen satın al buttons.

    07 / 07

    Turkish and English, one storefront

    The header switcher flips the store between Turkish and English: navigation, buttons and product copy come from the same sections.

One commerce backbone

Kremi's website, app and order systems work as one. Shopify sits in the middle: products, prices, stock and campaigns are set there once and reach both the website and the app, and every order, whichever channel it comes from, flows into the same order pipeline.

Shopify: products, prices, stock → Website and app: one catalog → Campaigns set once, in Shopify → App orders in the Shopify admin → One order pipeline, every channel → Email and push to the customer
  • One store behind the website and the app

    The website and the app run on one Shopify store, so products, prices, stock, translations and product details come from the same records. Homepage edits made in Shopify's theme editor reach the app's home screen without a new app release, and the app's menu, FAQ and legal pages come from Shopify too.

  • App orders are Shopify orders

    Checkout in the app opens Shopify's own checkout, so an app order lands in the Shopify admin next to website orders and follows the same payment, notification and fulfillment rules. Every order keeps its sales channel, so app and website sales can still be reported separately.

  • Campaigns set once, in Shopify

    Shopify works out the cart total and discounts, so the app shows the same total as the website. Discount codes, automatic discounts and gift-with-purchase campaigns set up in Shopify apply in the app with no extra development and no new app release. Product launches can open early for app users, with the date kept on the product in Shopify.

More on how it fits together (4)
  • One customer account

    The website and the app share one Shopify customer account, with passwordless sign-in by email code. Saved addresses and favorites are the same on both, and the app's order history comes from that same account.

  • One order pipeline for every channel

    Website, app and marketplace orders flow into one order pipeline, so an app order needs no process of its own. One physical stock is shared out across the sales channels, the website and the app sell from the same Shopify stock, and Shopify test orders never get a real shipping label.

  • Email

    Order and shipping emails stay with Shopify: the shipping email goes out when tracking from the warehouse label flow is written back to the order in Shopify. Kremi's own review-request email goes only to customers with email-marketing consent in Shopify, checked at the moment of sending, and unsubscribing turns that consent off in Shopify too. Newsletter sign-ups from the app count only after the confirmation link in the email is clicked.

  • Push notifications, and no separate SMS

    No separate SMS channel was built: shipping updates reach customers by Shopify email and, in the app, by push notification. Packed and shipped updates arrive once per order, and a notification opens the exact product, collection, order, cart or community post it is about.

Shopify LiquidWeb ComponentsMetafieldsTheme architecture

Need something like this?

Send two or three lines: what you have, what is broken or missing, and when you need it. I reply within 12 hours, Monday to Saturday.