Yeah, yeah, I know. I hate it too when people abandon tutorial series mid-way. But, due to (exciting!) circumstances, I'm calling it quits for now.
I'm thinking of just dropping a link to the full repo here - it's a mess, but it's something you guys can chew on instead of my empty promises.
If you'd like me to drop it here - let me know at email@example.com.
And, just sayin', I had a BLAST doing this. If you know something - anything - about technology, take the time to write it down as a tutorial series. You will get SO, SO much value out of it, you can't even believe it.
Until we meet again - RCT :)
Before we dive into the technical parts of how to create an application, I wanted to walk you through the process I use when trying to generate Shopify app ideas. I knew Shopify was one of the bigger platforms out there, and that many people were building various external integrations for it - so the very first thing I did was heading over the to the Shopify App Store to get some inspiration.
A good first thing to look out for is the Staff Picks section - this will give you a quick peek into what's trending and can help you figure out what people are building (and how well are they doing, and how much money they are charging). While browsing the store, you'll notice there are a bunch of categories on the top left menu. If you're verifying your idea, and not looking for a new one, try to figure out where you will fit inside one of these categories. Remember that it's much easier to fill a hole in an existing category then to go out on your own and create a new category from scratch. It will also serve as competitor research - you'll see who's who in your niche and can gauge how hard it will be to carve your place on the podium.
If you're generating an idea, like me, start clicking through stuff and see what is actually being built. Something you see happening often is a developer taking an external API and offering a "wrapper" in the form of an App. An example (not shown in the video) is this app, which is basically what you'd expect from a Google Shopping / Ads client for Shopify - it wraps the correct API calls in a familiar Shopify App interface for the merchants, and offers some added functionality. That's an awesome approach that I really like, and if you have some cool API that you know about you should definitely consider then you're saying maybe Shopify merchants will be it will be useful. So if I merchants think about crafting or, you know, wrapping that API in some Shopify app and adding that other Shopify as there wasn't an extension.
Alright, so you're inspired. Let's now go see what people are actually struggling with - maybe you can help them out?
To be honest, the store itself did not prove super useful for me - I did not want to copy an app by someone else, I wanted to create something out of a real need in the community. For that, I went into a bit of a Facebook Groups binge and ended up browsing extensively through this group. There are a bunch of different groups on slightly different topics, but I would start with the dropshipping or newbies one (there are literally dozens of them) and start really listening to what people are talking about.
My immediate goal was to find people who difficulties that no app was meeting at the moment. If you look at these types of groups, every some time a person would come up with a genuine question about a topic that apps are not addressing. Sometime it's an external integration, sometime it's a visual item they'd like added to the store, sometime it's just an annoying Shopify glitch they need to get over - in all of those cases you can come in for the win and scoop an awesome app idea.
The nice thing about this platform is that it's akin to inserting yourself into the mind of the merchant, and trying to figure out what stings them. What they're struggling with on the daily, what they feel should be more accessible, or easier, or faster.
Haven't found anything interesting here? We always have Reddit...
One way the Shopify subreddit (note that I've filtered by flair to get only app dev related threads) differs than the facebook groups mentioned above is that the discussions seem to be a bit more fruitful. It might have something to do with the fact that most people are practically anonymous, but the subreddit is much less spammy than the FB groups and has substantially better content, in my book.
This is a great place to not only get ideas for new apps, but also to find co-conspirators for your app journey, beta testers, API help and whatever else you need that has to do with the Shopify ecosystem. It's truly a treasure trove of information and I try to use it on the daily.
Having said that, I was always a forum kinda guy - I grew up on messaging boards with fancy HTML signatures and 57-page threads. As it turns out, Shopify has community forums as well.
Shopify Community has a bunch of different forums you can browse to get a whiff of all the different merchants experience on the daily, and unlike Facebook and Reddit it is very, very well organized. Specifically, the Shopify Apps Forum proved to be very useful for me.
The posts on this forum split in the middle to "what is the best app for X" posts and "I built app Y" posts. This is not very useful, but here and then you find diamonds in the rough that make it worth it - in my case it was this thread announcing a new app for blog comments. The guy who built it posted the thread and disappeared somewhere around 2014. So what is this whole blog comments thing anyways?
Say you have a blog on Shopify. It makes sense that you would like to be notified when a new comments is left on one of your posts. It turns out Shopify does not offer blog comment notification at all - there is no way to trigger an e-mail when you receive a new comment from the Shopify admin panel. I saw this and a light went on in my mind - that's exactly what no-code tools are built for: listening for something happening (a blog comment coming in) and triggering a series of events (in our case - an e-mail message).
So I sat down and wrote a no-code tutorial on how to get blog comment notifications via e-mail (see my comments in the e-mail for the conversation, but the full version of the tutorial is available here). Now, despite this not being an app, I'm still getting a bunch of comments and e-mails following this thread, that enable me to connect with merchants in a better way than ever before. It's pretty awesome that I get to have that connection with merchants, since they often tell me in person what are their troubles and needs, which leads to more apps or tutorials, which leads to more merchants... you get my point.
You should spend your time helping people. Be of service. If you take a single key point away from this whole series is this point - be useful to the merchants. They need you to show them the nooks and crannies of the platform, and they are willing to put good money for good apps and resources. Just solve an actual need, and you'll be surprised how fast conversations will start with merchants.
Just generate conversations, try to become part of the community and be helpful before you start something. Don't be that guy that posts links to their stuff but doesn't provide any value whatsoever.
Took me a while until I found something that was interesting - but after a daily routine of visiting the forums, answering things helpfully and looking around I finally settled on building an app based on this thread. It's a simple concept - a button, placed somewhere on your site, that mentions which countries you ship to and which you don't. That should prevent people from ordering products from the store if the store does not ship to their country, preventing undesired orders from coming in.
This looks kind of simple, right? It's a button, that gets some information about the shipping areas of the store, and shows up nicely with a pop-up message. It turns out, though, that just getting this up and running is a bit of a challenge if you don't know all the players involved. There's quite a bit going on in the back - getting the app reviewed, authentication to the store, API calls that fail weirdly, responsiveness across various stores... a lot of moving parts.
So I started small - built a working version in HTML, CSS & JS. Then started working on the React/Polaris interface. Then wrote the backend API routes, and called them from the front-end, and added a bunch of niceties along the way to make it nicer for me to maintain. And from there I just iterated until I figured out how the app should look like, after talking to people and listening to what they needed and wanted.
And if you take anything out of the tutorial series, let it be this - conversations with people, helping them for nothing in return, being of service and being of use is the best thing you can do for yourself. Be very responsive. Talk to people as much as possible. Be very forthcoming and honest. Dive in - I think when you look at it like this, it makes everything much more fun. :)