Five engagements clients buy, and one more that is only starting to be bought.
Each is listed as what actually gets built, so you can price it, staff it, or
hand it to someone.
Shopify Plus builds
A storefront built to the shape of the catalog rather than fitted around a purchased theme. Liquid where the platform should carry the rendering, Hydrogen and Oxygen where the front end needs to be its own application.
Custom Liquid theme development, built from nothing purchased
Metaobjects driving content and merchandising
Hydrogen storefronts in React and Remix, deployed on Oxygen
Storefront API data loading, caching and route-level control
Deep variant matrices and configurator models
Subscriptions and bundling built into the theme core
Multi-region and multi-currency on Shopify Markets
Page speed held as a requirement, not measured at the end
Sections assembling from metaobjects
Migrations and replatforming
Moving a live business onto Shopify from WordPress, Magento or BigCommerce, with the catalog restructured to what it actually needs on the way across.
Catalog, customers and order history moved with relationships intact
URL and redirect maps so rankings survive the cutover
Data model rebuilt around the real product architecture
Parallel running and reconciliation before the switch
Zero-downtime cutover with a rollback path
SEO designed into the build rather than added afterward
Records leaving one shape, landing in another
Custom development
The parts of a commerce business that no app covers, built as software and documented so your own team can own it.
Wholesale and B2B portals
Subscription, bundle and recurring logic
Checkout extensions and Shopify Functions
Internal tools and admin surfaces
Pricing data audits, flattening the grid in R to surface outliers and gaps
Price surface modeling, so a new size or quantity prices consistently with the grid around it
Private apps on Admin GraphQL and webhooks
Serverless services on AWS Lambda and Cloudflare Workers
One call path through the modules
Integrations
Getting Shopify and the systems around it to agree on the same numbers, continuously, including when one of them is down.
ERP, OMS and PIM sync over Admin GraphQL and webhooks
Third-party warehouse and 3PL inventory
Multi-location inventory and available-to-promise
Order routing and allocation across locations
Tax, duties and cross-border requirements in platform
Payment rails presented per market
Four systems, one set of numbers
CRM
The email, SMS and push program treated as software rather than as a campaign calendar. Built alongside the storefront where there is one, so the store and the program hold the same view of a customer instead of half each.
Architecture audits over the flows, automations and segments already running
Migrations between platforms, or a first program built from nothing
Custom journeys, triggers, templates and hosted pages
Data integrations to Shopify, warehouses, ERPs and internal APIs
Omnichannel orchestration across email, SMS and push
Deliverability: sender reputation, authentication and list hygiene
Consent and suppression carried in the data model, not in a spreadsheet
Reporting that ties sends to orders rather than to opens
Run on Salesforce Marketing Cloud and Marketing Cloud Next, Data Cloud, Klaviyo, Braze, Iterable and Customer.io.
One field, three journeys
AI and agentic commerce
Catalogs are being read by software that never loads the page.
Assistants search catalogs, build carts and check policies through published servers. The work is making a store answer correctly on that surface, and deciding what it should refuse to answer.
The same store, as an assistant receives it
AI visibility
An llms.txt, structured data, product feeds and catalog semantics, so an assistant reads the range correctly and cites it as it is rather than as it guesses.
Storefront MCP and UCP
Shopify's catalog, cart, policy and order servers connected and tested against real questions, so an agent can search, add to a cart, quote a policy and check an order.
Custom MCP servers
Your own systems on the same standard: inventory, order status, pricing rules and anything else an agent should be able to ask about directly.
Everything below is off until you turn it on, and stays off if you do
nothing. Turning something off later takes effect when the page next loads,
because a script that has already run cannot be unrun.