Exiting my first Shopify app after 2.5 years
I started my journey as a freelance Shopify developer in March 2019, building stores for my clients. This involved customising themes, advising on the best tools to solve their problems, and installing apps to meet some of their needs. With time, I discovered more apps and I got very intrigued by them. Which technologies were they running on? Were they built by a team of 2 people or a team of 200? Were they profitable?
To find answers, I spent countless hours exploring Shopify’s documentation. In April 2020, I opened a Twitter account to follow app developers and learn directly from them.
Then, in November 2020, Shopify announced a very special event: the Shopify Hack Friday Weekend, a three-day virtual hackathon focused on app development. They explained that the goal of this event would be to learn from successful app developers how they built their business, identify interesting market opportunities with Shopify’s EU in-country teams and be guided through the development process.
I saw this event as the perfect opportunity for me to blend theory and practice.
I immediately called my friend Karim, who had previously built a Shopify app for a client, and I pitched him an app idea. The concept was to create a progress bar that would display cart value goals (for example, free shipping at $50 and a free sample product at $80).
This idea was not mine. I had stumbled upon it a few months earlier during the summer of 2020 when I was listening to episode #37 of the French ecommerce podcast “Le Panier”. The host Laurent Kretz was interviewing Louis Marty, the founder of Merci Handy, a brand of colorful cosmetics that sold 3 million products in 2019. Among the many fascinating insights Louis shared, one particular detail stuck with me: his tech team had developed a progress bar that displayed two cart value goals (free shipping and a free product). They had placed it in their store’s cart drawer and it drastically improved their average order value.
I thought that was a fantastic idea! I checked the Shopify app store and I didn’t find any app providing the same 2-goal progress bar feature. I thought it would be a great challenge to build it and release it on the app store so that every merchant could benefit from it.
My friend Karim loved this idea. We were both very excited. After a few days, he informed me that he believed building the app's backend was within his capabilities, but he would require assistance from a senior developer for the frontend. He suggested involving his colleague Yann, an experienced JavaScript developer, and I gladly accepted the offer. The more the merrier!
On November 20th, 2020, the three of us happily joined Shopify’s hackathon. This virtual event was amazing, I learnt so much! Among the hosts were Roman Zenner (Technical Partner Manager in Germany at the time) and Marie-Claude Léveillé (Senior Technical Partner Manager in France at the time). One of the speakers was Björn Forsberg, the founder of Forsberg+Two. I knew his name because I had installed his app OrderlyEmails on all my clients’ stores. It was truly an honor to hear his story and receive his advice. To this day, I still have the notes I took during his speach.
During those three days, Karim, Yann and I immersed ourselves in Shopify’s documentation. We encountered various challenges while setting up the foundation of our app. Although I actively particated in discussions, I wasn’t the one coding. Karim and Yann were the two developers on this project. Meanwhile, I took on the role of documenting each technical step meticulously, ensuring easy reference for the following day. Additionally, I delved into other aspects of the app, such as how to present it to the hackathon's jury, effective marketing strategies for the app store, communication tactics, and identifying our unique selling point compared to competing apps that offered only a single-goal progress bar, typically for free shipping.
At the end of the hackathon, each team presented their projects and received precious feedback from the jury. It was immensely rewarding to evolve in such a stimulative and positive atmosphere. We got hooked and decided to continue building the app after the hackathon. Our goal was simple: finish the first version of our app and officially submit it to the app store so that it could be used by all merchants.
Two months later, on January 20th, 2021, we successfully launched our app, Upsell Progress Bar, on the Shopify app store.
Very naturally, we had split our roles this way: Karim handled the backend (Ruby on Rails), Yann the front-end (JavaScript), and I was in charge of the customer support, marketing and communication. This venture into the world of Shopify apps sparked my entrepreneurial spirit more than my developer side. It reminded me of my previous entrepreneurial projects during my time in business school back in 2016, before embarking on my coding journey.
I was talking to our clients at all times of day and night on our live chat, iterating on the copywriting of our app’s listing page, improving our app store’s SEO, setting up tools to help us navigate in the right direction (App Store Analytics, Partner Metrics, Shopify App Store Index, Google Analytics, Mixpanel), pitching our app to every Shopify agency or freelancer I knew. What a wonderful learning experience!
In October 2021, nearly a year after our journey began, Karim made the difficult decision to step away from the project. I was sad to see him go but I fully understood and respected his reasons. We remain good friends, which is the most important thing to me.
Initially, our app's shares were divided equally among the three of us, with each person owning 33%. However, following Karim's departure, we had to restructure. Yann bought Karim’s share and now owned 65% of the app, while I owned 35%. In terms of responsibilities, Yann was now handling the whole development part (both backend and frontend) while I continued to focus on my preferred areas of customer support, marketing and communication. Both of us dedicated time to our app on the side of our main jobs as freelance developers.
In August 2022, we achieved a significant milestone: $1,000 in monthly recurring revenue (MRR). What an accomplishment! We continued hustling even harder.
Our journey was a mix of triumphs and challenges.
We experienced the absolute thrill of being featured twice on the app store's homepage, which lead to a significant increase in installs. We also worked with beautiful brands such as Eleven Paris and Hosane.
However, we also faced many setbacks. We got delisted on two occasions: once because Shopify suspected us of having fake reviews and another time because of an update they required us to implement.
Like many Shopify app developers, we grappled with churn: yes we had a lot of installs but how many of them were actually converting to paid users after the 14-day free trial? Why were merchants uninstalling our app within 30min of installing it? Was it because our app’s onboarding wasn’t clear? Or was it because we lacked a feature they were desperately looking for? If so, which one? I iterated a lot on our app listing’s page to make sure we presented a clear view of our app, to reduce false expectations and disappointment. I also proactively engaged with merchants who uninstalled our app to gather feedback and address concerns.
I was so passionate about improving and making this app the best it could be!
Unfortunately, in 2023, my motivation for the project began to diminish. After two and a half years, I was no longer willing to dedicate my evenings and weekends to work on the app. So I decided to step away from the project.
It’s worth mentioning that after Karim’s departure a year and a half ago, Yann and I discussed end goals several times. I had expressed that my ultimate goal was to sell the app. He always answered that when the time came he would buy my share, as he had no intention of selling. That was our agreement.
Therefore, when I decided to leave in May 2023, we already knew the next steps to take. I sold my 35% share to Yann, who is now the sole owner of the app. He will continue this journey with the assistance of freelancers. I sincerely wish him the best of luck and hope that he achieves great success.
To conclude, the entire journey of building a Shopify app has been an incredible experience for me. I’m very grateful to Karim and Yann for joining me in this wonderful adventure. I have gained invaluable lessons that I am confident will benefit me throughout my entire professional career.
I’m also grateful to have witnessed firsthand the various changes in the Shopify app ecosystem over the past two and a half years. It’s such an exciting environment to build in. Of course, it’s challenging, as you’re building in someone else’s sandbox. But it’s thrilling!
It’s never been easier to build a Shopify app. Shopify’s documentation is much better than it was two and a half years ago. There are many open source app templates, in all technologies (Ruby on Rails, PHP, NodeJS). Twitter is also an unvaluable source of learnings, with app developers such as Gil Greenberg or Mat de Sousa building their apps in public.
If you’re thinking of building a Shopify app: just do it. It’s the best way to learn.
Now that I have turned the page on my first Shopify app, I’m planning on taking a break. When I come back, I’ll start building a second app, with one exception: this time, I will focus on coding in order to gain a complete understanding of how to build and maintain a Shopify app.