Firebox Australia
How Yes AI replaced a broken rewards app with a serverless Shopify points engine for a national fire-protection wholesaler — built around their existing SparkLayer trade pricing and migrated in clean, with zero errors.
About Firebox Australia
Firebox Australia (firebox.net.au) is a national B2B supplier of fire-protection equipment — fire extinguishers, hose reels, blankets, signage and accessories — sold to fire-protection contractors, facility managers and government accounts across Australia.
The store runs on Shopify with SparkLayer, a deep B2B overlay that replaces the standard cart and applies trade pricing per customer. SparkLayer integrates with Firebox's ERP for back-office sync — which means order totals are authoritative, but Shopify's catalog prices are not.
Firebox runs a trade rewards programme to thank repeat buyers. By 2026 the previous loyalty app had failed and quarterly balances were being tracked by hand — making the rewards programme both expensive to administer and invisible to the customers it was meant to retain.
Customer Snapshot
- Industry: Fire Protection Wholesale (B2B)
- Platform: Shopify + SparkLayer B2B
- Region: National (Australia)
- Customer Type: Trade accounts
- Build: Custom Cloudflare Worker + Shopify App
- Ongoing Cost: Effectively $0/month infra
The Challenge
Off-the-shelf Shopify rewards apps could not handle Firebox's B2B reality — and the one they had tried was broken.
Broken Loyalty App
The previous off-the-shelf rewards platform had failed at the backend and was no longer awarding points or displaying balances, leaving repeat trade customers without visibility of what they had earned.
Complex B2B Pricing
Firebox runs SparkLayer over Shopify for B2B pricing — meaning Shopify product prices are not the true sale price. Any rewards engine had to read paid order totals, not catalog prices.
No Native Shopify Rewards
Off-the-shelf Shopify rewards apps either charge per-customer fees that scale poorly for a large trade list, or fail to play nicely with SparkLayer's replaced cart and checkout flow.
Manual Quarterly Reconciliation
Quarterly points totals had been tracked in spreadsheets and emailed to customers — a slow, error-prone process that did not match the always-on expectation of trade buyers.
The Solution
Yes AI designed a four-part custom build that sits alongside Shopify and SparkLayer rather than fighting them — and runs for effectively zero cost.
Cloudflare Worker Engine
A serverless points engine on Cloudflare Workers that ingests Shopify order and refund webhooks, calculates points from paid order totals, and writes balances back to customer metafields.
Custom Shopify App
A private Shopify Custom App with read_orders, write_customers, read_products and write_themes scopes — auto-renewable client credentials, no token rotation.
Storefront Rewards Banner
A dark navy and gold banner injected into the Shopify theme via Liquid + CSS + JS, with countdown timer, live points balance, and a "Join Rewards" prompt for zero-balance customers.
Double-Points Tagging
Products tagged double-points in Shopify automatically earn 2x rewards. Tag detection runs in a single batched GraphQL query per order — no per-line-item round trips.
Stack & Features
How It Works
An order is paid, points appear. A refund is issued, points roll back. No staff intervention.
Order Paid
Shopify fires an orders/paid webhook to the Cloudflare Worker with the real paid total.
Tags Resolved
A single GraphQL batch query checks every line item for the double-points tag.
Points Calculated
Order total is GST-adjusted, double-points applied where flagged, and the result clamped to the configurable spend cap.
Banner Updates
The customer's metafield is updated and the storefront banner shows the new balance on the next page load.
The Results
A rewards programme that runs itself, scales with Firebox, and costs almost nothing to operate.
Two batches of historic rewards data migrated with zero errors and zero "not found" matches against the customer list.
Cloudflare Workers free tier covers Firebox's order volume with significant headroom for growth.
Banner renders on home, collection, product and cart pages — visible to every logged-in B2B customer.
Client credentials grant means the engine renews its own access token on demand — no manual ops.
Why It Works
The engine sits beside Shopify and SparkLayer, not on top of them — so trade pricing stays authoritative, the cart stays untouched, and the rewards UI is just a thin layer on the theme.
No app subscriptions, no per-customer fees, no rotating tokens. The customer owns the engine, the data, and the Worker — and the storefront banner updates the moment an order is paid.
Custom Shopify Build, Not Another Subscription
If you run a B2B Shopify store and the off-the-shelf apps do not fit, Yes AI builds the bit you are missing — on infrastructure you own, with no per-customer fees.