Documented and testable
Code in your repository with tests, not a connector nobody can debug at 2am when orders stop flowing.
ERP, SUBSCRIPTIONS, CUSTOM APPS AND CONFIGURATORS
ERP, PIM, 3PL and subscription logic connected to Shopify with documented, testable code — plus the custom builds that do not come out of an app store.
IN SHORT
Four areas, each with its own page.
Shopify connected to the systems a business already runs on, down to integrations with individual local stores.
Bundle builders and subscription logic that hand off cleanly to Recharge, as built for Tayst Coffee.
When the logic does not fit an app: vendor capacity, delivery scheduling, made-to-order queues.
Build-your-own product flows, from Trunki custom designs to date-driven personalisation at Moonglow.
Almost never because the API was hard. Integrations fail because nobody decided who owns the data.
Your ERP thinks it owns inventory. Shopify thinks it owns inventory. A 3PL sends updates too. For six months it works, because the numbers happen to agree. Then a partial shipment arrives during a sale, the three systems disagree, and you oversell a product you do not have — at which point everyone discovers the rule was never written down.
The second failure is assuming the happy path. Systems go down. Payloads arrive malformed. Webhooks arrive twice, or out of order, or six hours late. An integration that only works when everything works is not an integration, it is a demo.
Five stages. The first two are documentation, and they prevent most of what goes wrong later.
Product, inventory, price, customer and order flows drawn out end to end, including the direction each one travels. Most integration problems are really unclear ownership problems.
For every field, one system wins. Writing this down before any code exists prevents the class of bug where two systems each think they own stock levels.
What happens when the ERP is down, the payload is malformed, or the same webhook arrives twice. Retries, idempotency, alerting and a reconciliation path, decided up front.
Built against Shopify APIs and webhooks with tests, in your repository. Run in parallel against real data where the source system allows it.
Queues, error rates and reconciliation reports watched after launch, because the interesting failures only appear under real volume.
An app, when the market has solved your problem well and maintains it. You are buying someone else’s ongoing maintenance, which is usually the cheapest thing you can buy.
A middleware platform, when flows are standard and volume is predictable. You pay per operation, forever, in exchange for not owning the plumbing.
Custom code, when the rules are genuinely specific to your operation — or when you notice you are chaining three apps together to approximate one behaviour, which is usually the signal that the thing you need does not exist yet.
| Middleware platform | Custom integration | |
|---|---|---|
| Time to first sync | Days | Weeks |
| Cost shape | Per operation, ongoing | Build once, maintain |
| Unusual business rules | Limited to what it anticipated | Whatever you need |
| Debugging | Their logs, their support queue | Your code, your tests |
| At high volume | Cost scales with orders | Cost stays flat |
| Best for | Standard flows, predictable volume | Specific rules, or volume that makes per-operation pricing hurt |
Code in your repository with tests, not a connector nobody can debug at 2am when orders stop flowing.
Retries, idempotency, alerting and a reconciliation path designed in, because integrations fail on somebody else’s schedule.
We settle which system owns inventory, price and customer before any code is written.
You own the code and the documentation, so you are never locked to one developer.
Moonglow sells jewellery set to the moon phase of a date that matters to you. We built Find Your Moon: the customer enters a date of birth or other significant date, the store renders that moon phase, and it drives the personalised product.
A cake marketplace connecting customers to vendors across Malaysia. We built the back end that decides what can actually be delivered: each vendor has a daily capacity and each cake a lead time, and together they determine which dates and time slots a customer is offered at checkout.
A guided bundle builder for a coffee subscription: the customer answers what they drink, how many drinkers there are, which roast they want and how many cups, picks their cups, and the built bundle is handed straight to Recharge.
GANT came to Shopify with internal systems already in place. We migrated the store and connected those systems, including integrations with individual local stores.
Clients from the roster whose work this page describes. Each links to what we actually built.
GANT came to Shopify with internal systems already in place. We migrated the store and connected those systems, including integrations with individual local stores.
A guided bundle builder for a coffee subscription: the customer answers what they drink, how many drinkers there are, which roast they want and how many cups, picks their cups, and the built bundle is handed straight to Recharge.
A cake marketplace connecting customers to vendors across Malaysia. We built the back end that decides what can actually be delivered: each vendor has a daily capacity and each cake a lead time, and together they determine which dates and time slots a customer is offered at checkout.
Trunki moved from Magento to Shopify Plus, with a configurator for the custom, one-off ride-on designs the brand is known for. We have managed the store since.
Moonglow sells jewellery set to the moon phase of a date that matters to you. We built Find Your Moon: the customer enters a date of birth or other significant date, the store renders that moon phase, and it drives the personalised product.
Whichever is cheaper to own over three years. A middleware platform is right when the flows are standard and the volume is predictable. Custom code wins when the business rules are specific, because you are not paying per operation forever and you are not limited by what the platform anticipated.
You do. It lives in your repository with documentation and tests, so you are never locked to one developer or agency.
Discount, shipping, payment and checkout validation logic that previously needed a custom checkout or a platform-level customisation. They run on Shopify infrastructure, which means no third-party script and no latency added to checkout.
Yes. Shopify Plus raises API rate limits for exactly this reason. The engineering question is usually not volume but sync design — batching, deltas rather than full syncs, and where reconciliation happens.
A standard ERP or 3PL connection is typically four to eight weeks. Custom back ends with their own business rules — capacity engines, configurators, vendor logic — are scoped individually after the data mapping stage.
Replatforming and reconnecting systems at the same time? See migration services — we reconnect existing internal systems rather than replacing them. Selling across regions adds its own integration questions: Markets.
NEXT STEP
Vendor capacity engines, bundle builders and configurators are the work we are asked for most. Tell us the rule set.