3 lessons from building a Shopify App

At Maxwell, we are building a messaging platform and have helped Dutch Railways, Hellofresh and Takeaway launch a conversational experience for millions of customers.

Since late last year, we worked on a conversation builder to let anyone roll out the same type of experience for their customers. During our planning sessions we had a dreadful insight. Developing a first version of our builder would take months. We wanted to build a product on our platform which our customers could experience now, not later. A Shopify App allowed us to do just that.

Why we built a platform first?

Our messaging platform was driven by a mix of business and technical needs. Messenger and Whatsapp are the most popular messaging services used by businesses today. Even though both services are Facebook products, the APIs they provide to integrate with are wildly different. Our Facebook connector service which integrates with the Messenger API does not rely on the Maxwell conversation service. The public Maxwell API is also an independent service.

The services on our platform use publisher-subscriber patterns to communicate. A service pushes a message to the message queue, and is completely agnostic to how it will be consumed. This loose coupling lets us iterate a lot faster without stepping on each others’ toes within the team and build solutions flexible to our customer needs by re-using the components of our platform.

Instead of integrating m products with n services, we use our platform to integrate products with one Maxwell service.

Why Shopify?

As a hosted ecommerce platform Shopify was our first choice. Shopify stores are highly extensible with an ecosystem of over 2000 active apps. The API documentation is comprehensive. As a hosted service, Shopify is also a great example of a no-code solution. We, Maxwell, also provide a no-code solution built on the Shopify platform. At no point does the store owner have to write any code.

Lesson 1: Shopify provides a lot of resources to build an app

We built a demo of our Shopify integration in 4 days during a team getaway in Portugal. This was possible because of their clean and detailed documentation.

The starter app leads by example and had us running an app within minutes. Polaris includes design guidelines and React elements, so we didn’t have to worry about the design of each component. Injecting a popup into a merchant store is as simple as an API call to load the Maxwell script on their store.

Shopify charges merchants directly, we didn’t have to deal with setting up a payment workflow. There’s no need to poll Shopify API for changes — order and cart change webhooks alert us whenever something has changed.

Lesson 2: Focus on solving one problem

We wanted to build a powerful yet user friendly experience for Shopify merchants. In 2015, there was approximately $4 trillion worth of merchandise abandoned in online shopping carts. That’s roughly 70% of all online shopping carts. Good news is that savvy Shopify store merchants can recover up to 63% of the abandoned cart value.

We designed our product keeping in mind a Shopify merchant who may not be technically literate and wants to increase revenue quickly. With our three step onboarding process, merchants can set up Messenger powered abandoned cart recovery for their store in no time. The three simple steps have a lot more going on in the background. Things like setting up scripts on the store, adding webhooks and whitelisting store domain on Facebook.

We also ditched usage based pricing, instead we charge our customers a flat $29 fee regardless of their monthly revenue or recovery rates.

Our focus on keeping the product simple had a huge benefit — after we built the demo in 4 days of work, within the next 8 weeks we had a working app published on the Shopify app store.

Lesson 3: Find your product USP

Your app will not be an overnight success. During the slow growth phase, focus on coming up with features for your product that will set you apart from the rest. Keep the tech stack simple to iterate the product faster.

We discovered that a common reason merchants gave an unfavourable rating to other apps was that the app only used English. We work in a multilingual and multicultural team of 6 people and 6 nationalities and none of us are native English speakers. It’s become an important concern for us to accommodate international users in our app.

We have also been paying close attention to the Shopify developers changelog for inspiration. Shopify recently launched a product recommendation API, which ties in perfectly with our features for cart recovery, and we intend to roll this feature out to our customers in the coming weeks.


Building on the Shopify platform turned out to be a great choice. With the extensively documented API they provide, we integrated our platform with Shopify in no time. Not only has this allowed the team to push a product to market a lot sooner than we had anticipated earlier, but also given us tremendous validation of the Maxwell product.

Check out our product page on Shopify to install the app on your Shopify store.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s