Shopify Ecosystem

A suite of 10+ Shopify apps offering unified functionality for online and in-store

Shopify apps

I’ve been a core contributor to Visualsoft’s Shopify App ecosystem, architecting scalable solutions that extend the platform's native capabilities.

This involved building internal shared packages to standardise logic across our suite and lead-developing the initial development of a number of apps, and adding major functionality to some existing ones as well, some of which are detailed below.

Theme extension
POS extension
Checkout extension
Proxy page
Embedded admin
Storefront API

Wysh ‑ Unified Wishlists

Wysh was the first app that we did that integrated with Shopify POS, and was the first app that would be part of our "unified" approach.

With that in mind, the core concept of Wysh, to give it a UPS over the many other wishlist apps out there, is that it was designed with POS in mind from the start.

Customers can build their wishlist online, as standard with any wishlist feature, but these wishlsits are then available to view within the POS system, allowing in-store staff to see items that the customer has wishlisted, and more importantly are in stock in that store, offering a unique opportunity to upsell customers products that they have showed interest in.

Wysh - add to wishlist
Impulse - unified upselling

Impulse ‑ Unified Upsells

Impulse allows merchants to set up upselling rules, giving them the opportunity to upsell their customers related items, based on the items in their basket. Following with the unified theme, as well as showing the upselling on the storefront, the upselling can also be added to the POS system, allowing the merchant to create rules PER location.

This app was the first that we truly got into the building for scale. It was the first app that if built incorrectly could quite easily have overwhelmed our servers, so with that in mind we utilised metafields and the Storefront API to make it so that on the storefront, all the heavy lifting was done on Shopify's infrastructure.

This app also has an in depth stats system in the admin, so that meant we had to make sure the stats stats could handle high volumes of data. We built a comprehensive aggregating system, to make sure that we aren't doing complex on the fly database queries, and a combination of optimised multi-column indexes and partitions so that even when there are millions of rows that the database can quickly filter down to the required records.

Other Apps

Above is some of the key parts of some of the apps I have worked on, but in some aspect I have contributed to most apps, including (but not limited to) things like:

  • Building reusable packages shared by all apps

  • Adding billing services including feature flags, usage metrics and multiple plans

  • AI skill support to help with agentic development

  • Ongoing maintenance, package updates and upgrades

Cookease
Cookease: Cookie Consent Mode
SmartAlt
SmartAlt: AI Alt Text
Blueprint
Blueprint: Product Configurator

Technical Details

At the core of all our apps we had 2 key things in mind:

  1. Developing for "Built for Shopify"

  2. Making the apps fell like they are a part of Shopify

So with that in mind, utilised things like Polaris/web components in the Admin, POS and checkout, ensuring they look like they are apart of the Shopify system.

The biggest difference for us was transitioning from building standalone apps, or a platform which was built to run as one instance per website, to a multi-tenanted application that could be used on thousands of stores.

We utilised our expertise in Laravel to ensure that the backend systems are built for performance and scalability.

And for the storefront, we built the applications to heavily reply on the powerful Shopify services, from using liquid files, and Shopify's CDN for JS/CS assets, to relying on metafields and the Storefront API to have storefront logic being able to work with little to reliance on our servers.

Laravel
React
Inertia JS
MySQL
Pest
Shopify