Blog
Practical notes on JavaScript tooling, module systems and the platform decisions behind the work we do
-
Shopify Order Edit API: Begin, Stage, Then Commit
Edit a paid Shopify order with orderEditBegin, stage line and discount changes on a CalculatedOrder, then orderEditCommit, and know what it cannot touch.
-
Node Worker Threads vs Child Process: Which to Pick
Use worker_threads for CPU-heavy JavaScript in one process, child_process for other programs or crash isolation, and cluster to serve HTTP on every core.
-
Checkout UI Extension Cart Metafields: Reach the Order
Cart metafields from a checkout UI extension reach the order only via a definition with cart_to_order_copyable; the old write API went in 2026-04.
-
WooCommerce to Shopify Migration: Map the Catalogue
A WooCommerce to Shopify migration lives or dies on the catalogue: attributes to options, variations to variants, nested categories to flat collections.
-
Next.js Webpack to Turbopack: Port Your next.config
Next.js 16 fails the build on a webpack() config: how to port loaders, aliases and fallbacks to turbopack.rules, and when --webpack is the honest answer.
-
Shopify App Billing API: When You Still Need It
Shopify App Pricing is the default for public apps; the Billing API is legacy but still the route for one-time charges, usage caps and per-shop pricing.
-
Shopify Hydrogen Redirects: storefrontRedirect on 404
Hydrogen serves the URL redirects merchants create in Shopify admin by calling storefrontRedirect on every 404: here are its matching rules and limits.
-
Cloudflare Queues Retries: Ack, Delay and Dead Letters
A Cloudflare Queues retry redelivers the whole batch unless you ack per message: how ack, retry delays, max_retries and dead letter queues fit together.
-
Shopify Storefront API Metafields: Why They Return Null
Storefront API metafields return null until the definition grants PUBLIC_READ; here is the access fix, the identifiers query and how to resolve references.
-
Shopify Webhook Retries, Duplicates and Idempotency
Shopify gives a webhook endpoint five seconds, retries failures and sends duplicates, so acknowledge fast, dedupe on the webhook id and reconcile.
-
Speculation Rules: Prerender the Next Page in Chrome
Add a speculation rules script to prerender the next page in Chrome, pick the right eagerness, and keep analytics and carts safe while the page is hidden.
-
Deploy a Shopify Theme With GitHub Actions, Safely
Deploy a Shopify theme from GitHub Actions with a Theme Access password and shopify theme push, without overwriting edits the merchant made in the editor.