---
title: "POP Local | Headless Shopify & portal | Croissant & Baguette"
description: "We rebuilt POP Local on headless Shopify, category pages from 20 seconds to under one, moved the shop off Square, and built the portal that pays 343 makers."
url: "https://croissantbaguette.com.au/projects/pop/"
---

# POP Local

https://croissantbaguette.com.au/projects/pop/

We rebuilt POP Local on headless Shopify, category pages from 20 seconds to under one, moved the shop off Square, and built the portal that pays 343 makers.

Client: Independent retailer, Canberra · Industry: Retail & local makers · Services: Ecommerce, Web Apps, AI & Workflows · Stack: SvelteKit, Shopify, Sanity, Supabase, Cloudflare · Date: 2026-06 · Live site: https://poplocal.com.au

**Outcomes**
- **<1s page loads** — category pages took up to 20 seconds on the old build
- **343 makers on the portal** — each with their own sales, payouts and product submissions
- **1 system for shop and online** — Square and Next.js replaced by Shopify, point of sale included
- **1 click fortnightly payout files** — bank files generated, reports emailed to every maker
- **6k product URLs kept alive** — every old address redirected in the migration

## Twenty seconds a page, and the makers paid by hand.

POP Local sells the work of hundreds of small Australian makers, in store and online. The old site, Next.js on top of Square, loaded every product and every category on every category page, so the pages people shop from took up to twenty seconds. Online sales were close to nothing. Behind the counter it was worse. Every fortnight someone built a sales report for each maker by hand and typed up a bank file for the payments. Makers dropped products at the shop with a name and a price, and the team wrote the descriptions with no idea what was in them.

## A store that loads, on Shopify.

A headless storefront on SvelteKit reading products, collections, search and cart from Shopify's Storefront API, with the slow parts (recommendations, reviews, the maker's other products) streamed in after the page has painted. Category pages filter by maker, type, price and availability without a reload. Customer accounts sign in by email code or Google, with order history, loyalty points and reviews on top. Every page of content is in Sanity with a page builder and visual preview, so the team edits the site themselves. Click and collect runs through Shopify, and it is where online orders have taken off.

## Square to Shopify, counter included.

The shop moved from Square to Shopify in one go: products, customers and the point of sale in store, so in-store and online sales sit in one system and every sale carries the maker who made it. The old catalogue had 1,208 product addresses; each one redirects to its new home, so nothing that ranked was lost.

## The portal that pays the makers.

POP Maker is a web app for both sides of the counter. Makers apply, sign the agreement, then log in to see their own sales pulled live from Shopify, their payout history, and submit new products with the details the shop never had: ingredients, materials, care, allergens, the story. They keep their bank and GST details current themselves. Staff approve applications (which sets the maker up in Shopify, with a collection of their own on the site), review product submissions with an AI-enhanced description they can edit, and push products into Shopify as drafts. Every fortnight the payout run collects each maker's sales, works out the payout on cost of goods with GST added where the maker is registered, lets staff adjust and confirm, emails every maker their report, and generates the ABA files the bank accepts as a batch payment. What took a day of spreadsheets is a few clicks, with the numbers logged.

## The numbers.

Maker count from the portal, June 2026. Online sales had no baseline to compare against; they started from close to zero.

## Theirs to keep.

Shopify is the system of record for the shop, the site and the portal. Everything else runs in POP Local's own Cloudflare, Supabase and Sanity accounts, from their repositories.

- **SvelteKit** the storefront and the maker portal
- **Shopify** products, checkout, point of sale, sales data by maker
- **Sanity** site content with visual preview, portal copy and the AI prompt
- **Supabase** accounts, the portal database, payout files
- **Cloudflare** hosting, plus a queue-driven worker for the payout run
- **Growave** loyalty points, reviews and Instagram
- **Resend · Klaviyo** maker emails and customer marketing
- **Gemini** product descriptions drafted from what the maker submits
