Ecommerce development
Online stores rarely fail on the product page. They fail at the edges: the checkout customisation that breaks on a platform update, the ERP sync that oversells stock overnight, the payment webhook that arrives twice and ships an order twice, the site that slows to a crawl in the first hour of a sale. We build custom Shopify apps, headless storefronts and commerce backends, and spend most of our effort on the parts that move money and stock.
Four ways this arrives.
The ERP updates overnight, the store sells all day, and by morning the two do not match. We build the sync as a queue with retries and reconciliation, decide which system wins for each field, and alert on drift before a customer buys stock you do not have.
Or checkout slows until people give up. We cache what can be cached at the edge, keep live stock checks off the browsing path, load-test the shape of a real launch rather than a steady trickle, and queue anything that cannot scale.
Bundles, B2B price lists, subscriptions, delivery rules by postcode. We build it as a custom Shopify app or with Shopify Functions and checkout extensions so it survives platform updates, or tell you when you have outgrown the theme altogether.
Payment webhooks can arrive twice, late or out of order, and the handler trusts every one. We make order state follow the provider's record, process Stripe and Razorpay events idempotently, and reconcile daily so a mismatch is a report, not a complaint.
An hourly sync with a third-party system reachable only through its API, with values normalised at the boundary so unchanged records stop looking changed.
Read the write-up →Asked on nearly every call.
Have you built a store like ours?+
We build stores from the parts of commerce that usually go wrong, and those are what we work on every day: syncing with a third-party system that only speaks through its API, handling webhooks that arrive twice, and background jobs that must not lose or repeat work. On a call we will walk you through how that applies to your store.
Shopify, headless, or fully custom?+
Start with Shopify if a theme and a few apps cover you; that is cheaper than anything we would build. Go headless when the storefront must do things a theme cannot, or share a front end with other products. Build on Medusa or commercetools when the catalogue, pricing or order flow is genuinely unusual. Most stores never need the third option, and we will say so.
Can you connect our ERP or warehouse system?+
Usually, if it has an API or can export files on a schedule. We start by agreeing which system owns each field, such as stock, price and order status, because most sync bugs come from two systems both believing they are the source of truth. Then we build the sync with retries, a log of every change, and a daily reconciliation report.
Which payment providers do you work with?+
Stripe, Razorpay, and Shopify Payments when the store runs on Shopify. Choose the one that suits your markets and fees; we earn nothing from any of them. The work that matters is the same for all three: treat the provider as the record of what was paid, handle every webhook idempotently, and test refunds and partial captures, not only the happy path.
How do you prepare for a sale or a launch?+
We load-test the whole journey, from landing page to paid order, at the traffic you expect and beyond it. We find what breaks first, which is usually a third-party script, an uncached page or the stock check, and fix it before the day. During the sale itself, the engineer who did that work is watching the dashboards with you.