Building Apps for Shopify: Fall In Love With The Problem, Not The Solution

Published: October 22nd, 2018

One of the best pieces of advice I was given was to Fall in love with the problem, not the solution. And it wasn’t until I came across a big problem that I realized how perfect this advice is.


My name is Ahmad Iqbal and I’m currently running two online businesses. I am both an Ecommerce Merchant as well as an Ecommerce App Developer.

The first of the two is my online store where I sell hand-held bidets. The later business, borne of the need to increase bidet sales, guided me to designing and developing apps for other merchants, like me.

In this post I want to illustrate how I made the leap from selling bidets online, to building an app design and development team. It’s strange for me to say it out loud, "how does one go from selling butt cleaning appliances to building and marketing apps?" So when Pat from Starter Story reached out to do a follow-up piece to my original post I was happy to try and put my experiences into words. Not just for others to read, but for myself in documenting my journey.

If the title hasn’t already given it away, this will be about my relationship with Problems.

I'm going to start at the middle (quiting my job) and then go to 2015 when this 'starter story' actually started, followed by the meat and potatos of the frameworks we use in our app development model.

Scout Raven Shopify Apps (1)

Quitting my Job & Making Money through Shopify Apps

From 2015 to 2017 I was working full-time at a global Big Four firm as a Senior Technology Consultant. My job was to help Fortune 1000 companies get their products to market faster. During my time growing my bidet store, I was starting to become more and more immersed in growth marketing. So much so, that I spun out a marketing framework I used for myself and called it the "Agile Marketing Framework" for the firm. Everything I was learning on my own time for growing my own business, was helping me be better for my big clients at my job. But even though doing well at work felt great, it was WAY more fun helping small businesses. In 2017 I had decided the world needs better small businesses, not bigger big businesses.

But in order to quit my job (my Nadeef bidet sales were taking a hit with my attention now diverted between my demanding full-time job, app design/development, and supporting Scout merchants) I needed to figure out if building apps on Shopify would be a viable business model. Was it even possible to earn a living selling apps full time?

It seemed like a tough proposition. I would need thousands of merchants paying at least $20/month to create a successful business. I didn’t think it would be possible, until I came across the Bold Commerce story. This four person team in Winnipeg, Manitoba, had almost the same story as us. Merchants first, identified gaps in the app store, and deciding to build apps on Shopify. Bold Commerce now employs almost 300 people, with no outside funding to date, and with their growth solely on the Shopify platform. This case study was enough to convince us to take the leap, I wanted us to be like Bold.

Having decided it was in fact possible to build positive cash flows through app subscriptions on Shopify, next thing we had to do was get our financing organized.

We decided to take three months to prepare and think about if this problem was something we wanted to dedicate the next several years of our lives to. This three month period was my time to save as much money as I could, and test my own conviction. This time was a constant decision making cycle, where I continually asked myself if the market was big enough, if the problem was widespread enough, and if I had the right pieces in place. It was an important lesson from my first startup attempt almost seven years earlier. In my first startup we picked the wrong market, at the wrong time, with no experience or resources, and the result was a four year uphill campaign that left us in pieces.

So before quitting my job, every dollar of income was saved, Bitcoins were cashed, plans to move out of my parent’s basement were halted, and I started creating a partner network across the ecommerce ecosystem.

We had enough to focus on building our apps for 36 months without worrying about money or raising venture capital. Today we’re on month 12 out of 36.

Let's Talk About the Failure First

Instead of jupming straight into Scout (the first app we built and the main subject of this post) let me first tell you about one of our apps that did not do well. Our "hand-written" notes app was attempted after the initial success of Scout, but it was a wake up call to stay focused on the problem, not the solution.

After quitting my job, and landing on the bigger problem of customer experience as our company mandate (more on this later), we decided to offer hand-written note services. We figured customers would love getting a handwritten note from merchants, so with little else research, or testing, we went ahead and started building out this crazy printer.


The app would connect to your Shopify backend, identify your VIP customers, and then convert that customer information into a special Adobe Illustrator script that would feed into the printer. The printer then would proceed to start writing the notes in a handwritten style font (both the letter copy and the addresses on the envelope).

We rolled this app out as an added skill to Scout. Basically, when Scout would alert you about the previous days’ VIP customers, it now offered an additional button labeled "Send Handwrote Card" which when pressed would instigate our printer. When the card was printed, I’d just have to put the postage stamp on it and drop it off at the post office which was across the street from our co-working space.

I believe this idea failed because I fell in love with the solution (cool looking robotic handwriting printer) rather than the problem it was designed to solve. I still believe there is value in this idea, but by overbuilding the solution first, we lost track of what was most important.

If I had to do it again I would have done a few things differently:

1. Manually write and fulfill the cards myself while doing the merchant discovery

Because there exists an intimate relationship between selling the service, and having to manually having to fulfill the service. It gives you more appreciation for the process and what’s important to do it successfully. Like with Scout, where I called my customers up manually through finding their details myself, and only after seeing how to do it well proceeded to systemize it with an app.

2. Personally talk to each merchant who wanted cards written

This would have been the best (only?) way to validate the value of the service. How important is this service for merchants? What else do they wish they could give as 'thank you's? What price would they be willing to pay on high volume handwritten cards? How much does it bother them that the cards are not personally written by the brand, and hence not authentic?

3. Write 0 lines of new code

Why divert precious development time and resources on something if A) it’s possible to do manually, and B) there is no guarantee that it’s a lucrative idea?

Thinking back, this idea was destined to fail for several reasons. Writing notes is very time consuming, there isn’t enough volume in the merchants who wanted to use it, the authenticity of the cards dies if customers figure out it’s not actually written by a person (even though it fooled almost anyone who looked at it). Even if we had done this the lean way and manually tested first, I still think we would have stopped offering the solution. But if I had just followed my four step Identify, Test, Build, Measure framework we would have saved the $4,000 we ended up spending designing and developing the software, and sourcing this printer and it’s parts. I would have found out in the Test section of the cycle that this is way too time consuming and merchants have too many questions about it to feel comfortable signing off on handwritten notes on high volume.

The handwritten note printer is now a piece of decoration at our office, but hey, at least it makes for a good conversation! And it taught me what I'm about to share with you today...

Identifying a Problem

Rewind back to 2015, a few months after opening my Nadeef hand-held bidet store on Shopify I found myself tackling the abandoned checkout problem, something every merchants probably faces. For every three potential customers that reached the final stage of checkout, one wasn’t pulling out their credit card. The way I saw it, I was leaking 33% of my sales in the final, most crucial, "moment of truth."

I was new to this field, I didn’t know the jargon or the best practices, all I knew was I needed to plug this hole. I went down a rabbit hole of recommendations, blog posts, forum threads, apps and YouTube videos. I tried many tactics, with varying degrees of "success" but later I realized I was asking myself the wrong question.

Instead of asking "How can I recovery these sales?" I should have been asking “Why are customer abandoning their checkout?”

At first I tried to extrapolate why they abandoned through the default go-to answers most blog posts claim are the reasons, like shipping timeframes, pricing, return policies, etc. But I knew these weren’t the real issues causing the abandoned cart because I would address them in my auto-recovery emails, exit-popups, Facebook retargeting campaigns, or all the other ways I would try to reduce abandons.

As simple as those recovery tactics may seem, I now know I was overthinking it. There was only one thing I could do to figure out why someone abandoned their checkout. Pick up the phone, and ask them one-on-one.

Before I go on, I should state that my recovery rate at this point was around 10%. And Shopify’s dashboard told me this was a good thing. I just didn’t think that was good at all. It meant that for every 10 people who reached the final stage of their checkout only one person actually returned to buy? Sure it's better than $0, but what about the other 90% who aren't returning? Surely we could do better than 1/10...

...and I wanted to talk to those nine people.

Calling my abandoned checkout customers changed everything. It changed my whole perspective about how to do business, and it continues to change it even now. At first, there was hesitation to call up a customer out of the blue, but the desire to figure out the problem far outweighed any "worst-case" awkward conversation. Not to mention, they weren’t cold leads, these were highly interested customer who reached the final steps of making a purchase. In my head I kept telling myself this was exactly as if someone walked into a store, grabbed some items, placed them on the checkout counter, but just as they were about to pull out their wallet, they turned around and walked out the door. Wouldn’t the store owner ask what’s up? So I just smiled and dialled.

The results were tremendous.

I went from recovering 10% of my abandoned checkouts from auto-emails, to recovering 55% when I got them on the phone. Not only that but by gathering feedback and identifying holes in my offering the percentage of abandons slowly decreased as well.

I’ve outlined my learnings from calling customers into the below diagram.


Creating a Solution

I saw my process was working, but now I needed to systemize it so I could maintain consistency in my call backs. I quickly learned that the longer I waited to call the abandoned customer back the less likely I would be able to recovery the sale. I really just needed an alert app, one that would push notify me as soon as someone abandoned, tell me what products they left, and their phone number. There was nothing in the app store that provided this function.

Don’t get me wrong, there were tonnes of cart recovery apps available. The top results, the "Top 10" lists, all relied on exit-popups, and auto-emails. I didn’t want an app to take an auto-action by auto-sending an email, or auto-sending a Facebook message. I wanted to be told, so I could take action on it personally. I needed this because I learned how important the one-on-one relationship with my own customer was.

So I called up one of my friends, who was also the developer on my first start-up, and one weekend later Scout was born. It was stupid simple. 20 minutes after an abandoned checkout, Scout would email me with the key details I needed. When I got this email all I had to do was tap the phone number in the email and my phone would automatically start dialling. It wasn’t an exciting or sexy process. It wasn’t even very hard. There was no user interface to design, there was no website to develop, it was just a hacked prototype with one simple, useful, function. If an abandoned checkout, then email me. And it just took a weekend to build.

I used this prototype of Scout for my own needs for several months. It was easier to manage because I was push notified when I needed to take an action. It maintained my high recovery rate. And most importantly, it was fun to know when an abandon happened in real-time, it made my site feel more alive.


Having used it for a few months and not seeing any slowdown in its utility for my store, we decided this was a tactic every merchant should have in their sales strategy. We iterated on the first version of the email-only alert channel and made it a Facebook Messenger bot, sort of like a customer relationship focused personal assistant. Scout's job would be to alert merchants when a customer abandoned their checkout, and give you their checkout details.

So we published the free app in the Shopify App Store and one review at a time, we realized it was as useful for many others as it was for us. Merchants were sending thank you emails to us, and it was here we felt we had found our first glimmer of that ever illusive "Product-Market Fit."

You have to remember, during this time both my friend and I had full-time jobs, and I was also running my bidet store. Scout was in no way near something resembling a business. And we didn’t approach it at all to be its own business. We just wanted to put something out into the world that would have an impact. Plain and simple. Our first few installs came organically from the Shopify App Store, and a few weeks later we had a small spike as a result of Felix Thea’s Shopify Masters Podcast where, as a guest I spoke about Nadeef and mentioned Scout. We didn’t do any marketing for it until we reached about 1,000 merchants through organic search, which took over a year to achieve.

It felt good making an impact for so many entrepreneurs, but we didn’t feel we had anything to quit our jobs for, yet…

What is "Product-Market Fit"?

Finding product-market fit is a term used very frequently in the startup or entrepreneurial circles. If you’ve found product-market fit, it means you’ve figured out how to consistently deliver value to a group of people (and get paid as a result).

The two components in this equation are Product and Market. In my experience, the key is to start with the market. It’s important to start with the market because that’s the big immovable environment you’re in. It’s uncertain, it’s changing, there are producers and consumers operating in it already. One can’t create a market, one can only play in it, and so the market is the "hard part."

The product side of the equation is the easy part. These days if you can dream it, you can figure out how to make it, or get it made. For example, if you want to build a skateboard that can be converted into a surfboard, you could probably figure that out. Let's assume you've done that, it looks great, and has tonnes of cool features like an intergrated smartphone app! Awesome, great work!

But now that it's built, who’s going to buy it? Where do they live, what's the population of all the surf-friendly cities? Who suffers badly enough from carrying two boards? How big is the problem? How much are people willing to pay for this? How often do they need to buy parts/replace their boards?

The point is, if you confident in your answers to the above questions and your ability to establish a distribution and marketing strategy to your ideal target market, then it makes sense to start product developerment. The same rules apply for app development.

I will clarify that I didn’t think Scout had enough of a product-market fit at the time. I thought we had found some fit, but we still had (have) a long way to go. After all, it is a free app and no one pays for it, so we don’t really have a way to measure if it valuable enough that people pay for it.

The way this went down for us was simple. We were trying to solve my problem first. Being one of the participants in the "market" that had a problem with online sales, I slowly learned what I needed. And when I saw it helped/worked/was awesome, I had de-risked the product enough to feel comfortable going to market with it. In my case, it was as simple as publishing Scout to the app store AFTER knowing it was working for me.


This is again, why the advice of falling in love with the problem, is so great. Because it forces you to think about the market, and its needs, first.

Iterating the Product

Fast forward about a year after using Scout. I was looking through my list of customers, ordered from highest Lifetime Value (LTV) to lowest, and noticed something really fascinating. Eight out of my top 10 customers had originally abandoned their checkout and were individuals I had personally reached out over the phone. This means that by calling my abandoned checkout customers I was not only recovering the sale, but as a result they were turning into VIP customers.

This was a huge wake up call because it helped me understand the real problem in my online sales strategy. If calling my abandoned checkout customers resulted in them becoming loyal customers, what if I also called those who bought without abandoning? If the one-on-one phone call is the common denominator for the high retention rate, why not apply it to more customers?

Thinking back to the phone conversations over the previous 12 months I realized the most valuable bi-product of asking for feedback was not the sale itself. Rather, it was the lasting brand impression that a friendly, pre-sale service call had on my customer. Suddenly my high recovery rate made so much sense. The phone call earned trust with my customers and they were happy to come back and do business with me.

With this realization came clarity about our app focus. Creating customer conversations. Customer relationships are today's small business competitive advantage. And so Scout had its first major iteration, the opportunity we've decided to pursue is to enable customer relationships. We decided Scout’s job for each and every merchant that installs it, is to identify these relationship building opportunities and turn them into one-on-one conversations.

I like the below diagram (as opposed to the one earlier above) for explaining the concept in more detail because it outlines another key step, which is to test your hypothesis. Once you’ve identifying a new problem you want to solve, next thing you should do is run a test to see if your solution will work. If you can solve it, then you should build something to systemize it. If you can’t at least prove your hypothesis is true even a little bit, then I wouldn’t recommend investing more time in building a systemized solution (the product).


Once you’ve gone through the loop at least once, you should have identified opportunities for improvements, and this is where Scout is today. Currently we feel we’re on the Learn phase in our third loop.

For those who are interested in the math of our second "Measure" step as it related to my store’s results after 12 months using using Scout:

My top 10 customers had spent at least $600 on my store, through an average of 3 or more purchases. My top three had spent at least $1,000 in 5+ orders. As a comparison, the average customer LTV is $100.

Eight out of my top 10 overall customers were originally abandoned checkouts that I had called and recovered. They went on to be way more likely to become returning and word-of-mouth customers. Based on this, it was safe to say I needed to focus on getting more people on the phone, regardless of whether they abandoned first or not. This was the most recent learning which fueled the next round of product iterations.

Generating Installs

The Shopify App Store is pretty saturated today. There are so many apps on there already, many popular apps even have dozens of copycats. This makes it hard to market apps to merchants, because there is so much noise that’s keeping them from finding your app.

I wish I had some secret formula we used to grow our installs. What I will say is that the vast majority of installs come straight from app store ranking, which I believe is mostly dependant on the number of 5 star reviews and your usable of the right keywords. I’ve added a screenshot of our first 9 months below to show you what the growth looked like in the early days.

first 9 months installs

You can see that for the first 4 months, we only generated 20 installs. And three of those were from my own store and a couple friends’. The other 17 I believe probably came from the Shopify Master Podcast that I was featured on. To be fair, remember that at this time we were not focused on Scout at all. I had my full-time job, as well as my bidet store, so there were no marketing efforts put into Scout whatsoever. So how did the growth suddenly pick up in January 2017?

I believe it had a lot to do with positive merchant reviews of the app. I think the app store’s algorithms started picking up the reviews we were generating and this caused a sort of upward cycle. Based on this, my advice would be, in order to grow your app installs, focus on your merchant support. Offer the best customer support you possibly can, and keep providing this level of support. It’s worked for us in the past, and it continues to work for us. Every few weeks when we generate several positive reviews in quick succession we watch our installs over the next few days, and it is noticeably larger.

Just like the theme of our apps, of enabling merchants to provide great customer experience, we do the same for our service. We are an app development merchant to business owners. We saw it working in terms of making product sales online, why wouldn’t it work for app companies trying to sell to other businesses?

So far the story checks out.

Customer Experience is Important (because it’s hard)

In my research around ecommerce success stories, I came across Zappos. Their business model was so on point I had to create some content around it in the form of several vlogs. Our series of vlogs talks about several topics around small businesses, especially the advantage that we have as small businesses. Hint: it has a lot to do with our ability to provide a superior customer experience.

To get back to Zappos, Zappos is an online shoe store based in Las Vegas, Nevada, that was eventually acquired by Amazon for $1.2 billion. It just sold shoes, the same shoes you’d find in any regular store, but it did so with a militant focus on the customer experience.

They do this so well that their business has a 75% repurchase rate. Even though it's an online retail business model, I strongly feel the same principles apply to all sorts of models, including SaaS, consulting, whatever.

So how did Zappos do this? They did this by reinvesting a portion of each sale’s revenue, back into the customer’s experience. So instead of taking $20 from $100 sale and giving it to Facebook or Google ads in the hope of acquiring a new customer, they would use that $20 to upgrade their shipping to overnight, send a free pizza, or offer unlimited free returns. This not only made sure they retained the customer (repurchasing customers spent more and bought more frequently), but they also created free word-of-mouth customers through the advocate marketing as a result of the great experience. Tony Hsieh, the CEO of Zappos went on to write a book called Delivering Happiness about this idea, which I would highly reccommend for all merchants.

Speaking of great books, another book also further opened my eyes to the lost opportunities at businesses who don’t focus on the customer experience. Joey Coleman’s Never Lose a Customer Again opening chapter highlights an interesting ratio of 43:1. For every 43 books about sales or marketing, there is only one book about customer service, experience, or retention. That means the education around creating a customer far outweighs the education around keeping the customer. But why? It's a known fact retention provides more profitability than new acqusitions.

Thinking about why this is, I believe it has less to do with the difficulty of creating "wow" customer experiences, and more to do with how ridiculously easy it is to automate ads and marketing campaigns. I don’t think we’re against doing hard things, but when presented with the easy option, that’s what merchants will take.


If the "orthodox" marketing tactics can be automated (and they can), you should also incorporate the unorthodox campaigns. Things like sending a free pizza and handwritten thank you notes, will close the loop for a complete marketing strategy.

Whether you’re marketing physical goods, or SaaS apps, or even professional services, it’s easy to want to automate everything. Automating Facebook and Google ads, automating email campaigns, automating chatbots, automating discounts, popups, and special offers, automating dropshipping; it’s really easy to do this, and the app stores are overflowing with apps that automate. It’s clear automation is the future, but there is no competitive advantage here.

And so in order to stand out, I’ve learned you can’t automate the hard things. You should try to do the important hard things personally, because it’s in those moments that you will build brand reputation and value.

More than One Solution (to the Problem)

We went from running a Shopify store earning several thousand dollars per month, to developing a suite of apps used by over 10,000 merchants.

Working on Scout, and seeing the success from it, we started ideating other ways of getting customers on the phone. Why does only an abandoned checkout need to result in the phone call? What if a customer is interested in purchasing but hasn’t clicked "add to cart" yet? To capture these unrealized leads we developed the callback app called Raven Callback. Raven turns website visits into qualified sales calls. It helped tremendously on my store, because it started to capture more leads due to its lightweight nature. I didn't think the contact/email form was working for me because it’s too much stuff for customers to type, and they perceive replies would take up to 48 hours, so why bother? Same with the livechat, since majority of small businesses don’t reply immediately. The “immediate” callback did wonders and customers continuously commented it was the best customer service they’ve experienced. So, we ran with Raven as well, based on the success I had with my own store we published it on the Shopify App Store.

Raven only has a few dozen merchants on our paid plans, but just those merchants have directly generated over $500,000 for themselves in sales over the past 3 months since we launched. Again, we’re seeing the phone channel as a great medium to close sales, and it works really well for certain products and services. I think any store that wants to have one-on-one conversations with customers, especially those who sell products over $200, should seriously consider the phone as a sales channel.

What’s Next

Now we’re working on publishing our third app, again, inspired from running my bidet store. It’s not phone related, but it is related to customer experience and building a relationship with your VIP customers. The app is called Pizza Party, and it sends free pizzas to those VIP customers.

Based on the learnings from the "failed" hand-written note product, this time, I'm focusing on more customer conversations about it before going ahead and publishing the app. We're not sure yet when we'll officially launch it, it's about half-way done, but I'm happy to chat with anyone who wants to use it for their store. It’s really fun and easy to use. When merchants install it they just outline the parameters of a "great" customer, like order value, lifetime value or order frequency, and then confirm which customers to send to. For example, if you consider any customer who spends at least $200 per order on your store as a “VIP” customer, then Pizza Party will send a free “thank you” pizza to that customer on your behalf. The merchant pays for the pizza, and we take a small percentage, but it’s super easy to get started and really fun to use. The feedback I was getting from my bidet customers who I sent free pizzas was just too awesome to pass up on this app idea. I sent free large cheese pizzas to customers who bought a few hundred dollars worth of bidets last winter and that small token of my appreciation turned into a few hundred dollars in more revenue; it was triple digit ROI. Customers said it was the best customer service they’ve ever had, ended up sharing the story with their friends, which then resulted in word-of-mouth sales.

If you’ve read this far you’ve probably put together the pattern here. I tried a marketing experiment for my Nadeef Bidet store, and if it worked really well I tried to systemize it. By focusing on solving our own problems first, we now have 3 apps, 3 more in private beta, and plans to roll out for several other platforms very soon. And thanks for reading! If you want to get in touch, or have any quetions, feel free to reach out via email or Instagram

I’ll sign off with a Haiku:

What better problem
Than the one you yourself face
To solve for others too