Building a Shopify app can be a long an exhausting process. In this article, I will tell you my story about how I built my very first Shopify app from scratch.
A few days ago, I got a great news from Shopify : my very first app PoppyScroll got approved after less than 3 weeks starting from scratch on learning how to build my first Shopify app.
… And what’s even better is it got featured directly in the “Useful apps for France” category which are hand-picked apps from the Shopify team.
Now, why am I writing this article? The answer is simple : I would have loved to read a story like this one when I first started doing my researches on “how to build a Shopify app”. But a little disclaimer : this article is not a tutorial or guide where we will do some technical stuff (but I am working on releasing a complete step-by-step course on this in the future — if you are interested, feel free to subscribe to my newsletter below :
In this post instead, we will cover the different steps I went through when doing my researches, why I started this journey with Shopify, how I learnt building apps and why I built PoppyScroll.
Why I Started Building Apps for Shopify?
As a freelance developer I often got client requests asking for theme customizations or additional features for their Shopify stores. I also observed more and more interests from people in the Shopify platform these past years… And I quickly understood why.
In my opinion, unlike other platforms like WordPress (Woocommerce) or Prestashop for example and from a user perspective, I find Shopify really intuitive and easy to use : you can create your Shopify store in just a few clicks, you don’t need a web hosting and you can start publishing your first products in minutes.
And as a developer, it’s also a very nice platform to work with. You don’t have to deal with many dependencies or plugins when building apps. You can choose your preferred development language and you have many APIs that help you to work efficiently.
And of course, on a financial aspect, it can be a good opportunity. Most of the Shopify apps are based on a paid subscription system. It means that you can earn decent money if your app is successful. Plus, you don’t need to integrate your own billing system, you can use the Shopify API to request payments which makes it easy to charge clients (they don’t have to give their credit card number again).
Taking these points in consideration and being a curious and passionated developer, I really wanted to learn more about Shopify and that’s why I started my journey with this platform.
How to Find your First App Idea?
Of course if you decide that you want to start building Shopify apps, the best idea is to practice directly… And for that, you need to find an app idea to create.
Since it’s your first app, I recommend you not to spend too much time on searching the best app idea ever. The aim here is to learn how to programmatically build a Shopify app, not to make a best seller (the first time at least).
In my case, several years ago I used to build scripts that I would then sell on CodeCanyon (which is a marketplace to buy and sell scripts, plugins etc). What I did is I simply used a script idea I published on CodeCanyon years ago and I decided I would make it as a Shopify app. I didn’t even check if there were competitors for it on Shopify, again, the aim was just to learn on how to build an app here.
My second recommendation is to start simple. Don’t create an app that will require to make calls to tons of Shopify APIs. Doing that is the best way to give up because you will be overwhelm with documentation to learn, code to implement etc.
In my case, I choose to build PoppyScroll which is a web design app that helps Shopify users to show a customizable popup on their store. Building this app as my very first one covered these points in my learning journey :
- Installing an app on a Shopify store by requesting user’s permissions through the Shopify API
- Building a customizable admin area to configure PoppyScroll
- Altering user’s Shopify theme by injecting a script to show a popup with Ajax calls to get its configuration
- Charging the user a monthly fee through the Shopify API
- Internationalizing the app to make it available in french and english (sounds not very useful at first but that’s what made me featured in the french Shopify apps collection)
- Going through the Shopify review process to make my app available on the store
So to sum up on this part, the best way to learn is to start with a simple app idea which will cover the most important aspects of the Shopify API.
Where to actually Start Building your Shopify App?
Once you have found an app idea to build, it’s time to actually build the app… But before that you need to complete a very simple step : creating your partners account on Shopify. Don’t worry, it’s totally free and you can do that from the Shopify developer’s website.
On your partner account, you will find a place to create an application which will give you an App ID. That’s a required part before you can start building Shopify apps. You will also need to make a developer’s store to install and test your app, you can also do that from your partner dashboard.
At this point, you have everything in hand to actually start documenting yourself… And that’s maybe where you may be a little discouraged when doing your researches. Unlike other big platforms like WordPress for example, there is not a ton of documentation when it comes to building a Shopify app.
My best recommendation however is to simply start from the official Shopify developers documentation which is a really great place to find examples and details about the API.
You will quickly see that you can use several coding languages to create your Shopify app since their API is JSON based, which is a good thing.
Personally I choose to use PHP. It is maybe not the most optimized language but I wanted to start with a language I know very well. On top of that, the good news with PHP is that it comes with a Shopify SDK available on GitHub which will allow you to make your first API requests in minutes.
As I said in the beginning of this article, I won’t enter into technical details now but just to guide you quickly, the very first things you will have to code is the permission requests. If you use PHP like me, I recommend you to check the readme of the GitHub PHP SDK which is a great step-by-step guide on how to start.
Publishing your Shopify App
I know it’s a huge step forward because at least a few days (if not weeks or months) will have passed for you to come there. I just wanted to make a quick part about what happens once you are ready to publish it.
So that’s it, you have built your first Shopify app, first of all CONGRATS! I’m sure you are now super excited to make it available to store owners.
But before that, you will have to make the app listing page. It can be longer than expected and often not the part we like the best for us, developers. On my side, for the PoppyScroll listing, I made everything myself apart from the video that I outsourced from Fiverr. Making a nice app listing page is nothing to neglect otherwise you may be rejected by an app reviewer.
Once you have made a clear and nice app listing you are ready to send it for approval. You will have to be patient because in their documentation, Shopify tells that it takes between 1 to 4 weeks for an app to be reviewed. In my case, it took only a week and it was not approved on the first time. Hopefully, I just had to make a few simple changes :
- Changing my screenshots because I used a computer’s mockup with a browser window which is not allowed on the app store
- Fixing a design issue in PoppyScroll when the content was too long for the browser’s viewport
- Making a direct link for users to uninstall the app in case the automatic Shopify process doesn’t work
I was able to make these changes within a few hours and I resubmitted my app. This time it only took two days for the reviewer to come back to me and to approve my app.
What a great feeling it is when you are finally approved (even more when it’s the first time you submit an app). In my case, I started learning Shopify in the end of July 2019 and got published on the 20th of August.
Conclusions and Useful Resources
Finally, here are a few links to guide you a little more if you want to build your first Shopify app :
- Shopify Developers Website
- Shopify PHP SDK
- An interesting article from Shopify to get started
- A TutsPlus tutorial
And again, depending on the numbers of people interested, I may release a complete step-by-step course (with technical details this time) on how to build a Shopify app from scratch. If you are interested, don’t forget to subscribe to my Shopify mailing list on this page.
I really hope you enjoyed reading my story about my journey as a developer with Shopify. If so, please “clap” this article, comment or share it with your colleagues.