The end of the year is upon us and until now every time I came across someone else’s annual review I always wished that I had something to talk about as well, something significant that I had done in the year that was worth writing about and this year I actually do! 2019 was packed with so many experiences that it actually became necessary to write about it while it was still fresh in my mind.
My focus in this annual review would primarily be about my journey of building a software product from scratch, deploying it, serving > 12000 users and ultimately monetising 10% of those users to reach the point of not having to work for somebody else to make a living.
I feel honoured to say that I have done this by building SuperLemon together with my business partner Preetam. At the time of writing this post, SuperLemon was at $10,000 MRR and 300 reviews on the Shopify app store with an average rating of 5.0 🌟. However saying that this year was only about building software would be an oversimplification and therefore I would like to break this review down in these 5 parts.
I have been a backend developer for the past 5 years and while this was a very important skill, it was incomplete without knowing how to build the front-end part of a product. I needed to be able to build a full product by myself that I can package and sell without having to rely on a front-end engineer.
The problem with front-end technologies is that there are way too many of them, so I picked up the framework that would work best with my need to build a quick prototype - reactjs. After spending a week reading tutorials and the official documentation I realised that we live in an age where the need to have complete knowledge over something has become obsolete.
There are tons of libraries and frameworks out there which I could simply plugin and get started without actually having to write much code myself. There are existing react components available for all sorts of boilerplate stuff that one would require like buttons, forms, sidebar navigation, etc.
The framework that I stuck to as a result of becoming a Shopify partner was polaris. This allowed me to build a prototype for my product in a weeks time. I now have front-end development in my arsenal and it is a great feeling.
Now that I had the necessary skill set required to build a product entirely by myself, the next step was to build a product that solved a particular problem for a particular set of people and is production ready. Because I am only one person who just happened to learn front-end, it did not make sense to be too ambitious and build something that would serve millions of users.
This was when the term “micro-saas” really started to connect with me. The idea that you could build a tool that solved a particular problem for a particular niche of users seemed like the right fit and to that end building a plugin/extension for Shopify and putting it on the shopify app store was a good a place to start.
At this juncture I should mention that I still do not have the ability to build a product entirely from scratch. This was because while I had the necessary skills to engineer a product, I did not have the skills to design one. Building a product starts with designing mockups and UI/UX flows, writing code is probably the last thing that takes place. I quickly realised that the last 5 years of backend development has conditioned me to be able to learn front-end in a week, but design was a whole different story. Fortunately I had an awesome business partner who specializes in exactly this, but more about that later.
In another weeks time with the help of my partner, I was able to whip up an MVP for this product that helps e-commerce merchants increase their sales via WhatsApp.
So now we have a micro-saas app that is ready to serve users. What do we do next? Why get users of course! Since the product is a Shopify app, it is pretty obvious that the users will come from the search bar on the Shopify app store, but how do we make sure that the app shows up when people search for something? By making sure we have the necessary keywords in our description, having a great copy and an easy onboarding flow.
Once this was done the next step was to get people to choose our product vs the competition. In order to do this we did something that some might consider unethical - we included most of the features that the competitors had and made the app FREE which forced the competitors to go into losses. You cannot build a business by being nice.
Making the app free got us a plethora of users to whom we provided exceptional customer service which lead to them writing 5 star reviews, so even though they were using the app for free, we derived ROI out of them by gently nudging them to write reviews which boosted our ranking and eventually got us to the #1 rank for certain keywords.
This was when something very interesting happened. One of our competitors ran a DDOS attack on our servers. At this point we were getting 5 reviews a day and users congratulating us for our good work but the fact that someone tried to screw us over made it evident that we were on the right track.
While we were ecstatic that we had a product that is being used by people all over the globe, it was time to acknowledge the price we had to pay to get to this stage - the features that were being monetised by the competition are now free in our app, so we had to find new ways to monetise.
Fortunately this was not too difficult because as a result of making the app free we got a plethora of users who told us EXACTLY what they wanted and were willing to pay for. All we had to do was make a list of features requested by some of our power users and tally them to come up with the most frequently requested features.
This process was very enriching because we got to speak to people from all over the world in different languages (thank you Google translate!) and got to know their point of view and how e-commerce is done where they come from. This gave us priceless insights which we quickly utilised to come up with new features that people were willing to pay for. We even managed to get some users who were willing to beta test new features and report bugs before they propagated any further.
After gathering this information, we further shortened the list of requested features into something we could build in a week and launched our first paid plan for 3$ / mo and when we received the first paying subscription it gave me an unparalleled high which I never felt before. To be clear, the happiness that I felt had nothing to do with money, it was the fact that we built something so valuable that somebody from the other part of the globe was willing to take out money from their bank account and put it in ours. It is safe to say that this was the biggest milestone of all.
I know what you’re thinking. What does physical fitness have to with building a software product? In my case there is a deep connection between the two. Here is how it started - I realised that I was 25 years old and really unfit and I needed to do something about it. This was back when I was working for GreedyGame and had a 11 - 8 Job to go to. So the excuse I told myself to avoid working out was “I don’t have time” or rather I did not have the ability to choose my own timings since I could only work out before 11 am or after 8 pm.
So how do I choose my own time? By quitting my job and setting up an alternate source of income so that I gain the ability to work out at any time of the day I want. And If I were to achieve this, I would have absolutely no excuse to tell myself to avoid working out.
As you probably guessed, even after having this kind of freedom it is hard to find the motivation to work out, so I figured out a hack. I don’t like brushing my teeth everyday either, it is a very menial job, but I do it because it only takes 10 minutes and I can convince myself to take out 10 minutes a day for personal hygiene. Similarly, If I work out for only 15 minutes a day, it would be easy to convince myself to take out 15 minutes a day for fitness.
Now that I only had to endure only 15 minutes of pain every day, I was able to keep up this routine and slowly increase the time I spent on working out. I quickly realised that being consistent and doing this everyday had much more merit than working out for 2 hours a day for a week and then stop going to the gym for the rest of the year. This 15 minute a day routine enabled me to stay consistent throughout the year and I also slowly managed to increase this time to 35-45 minutes a day.
If you want to start a business, there are two ways to go about it. You could conclude that nobody but yourself can align to your vision and start a very lonely journey until you become successful. If you are able to do this, you have my sincere respect. If not, you could meet enough people and wait long enough until you find somebody that aligns with your vision and has skills that complement yours.
I chose to do the latter and ended up partnering with Preetam Nath. I worked at 3 different companies during the course of my career and I met him at one of those. After having enough conversations we decided that we had the same key metrics that we want to achieve in life, which include (1) Not having to work for someone else, (2) Building a remote business that doesn’t involve showing up to a workplace everyday, (3) Not having all our eggs in one basket (building multiple products).
Along with alignment of vision, we also had complementary skills. I was good at engineering products and Preetam was good at designing, marketing, and developing the business aspect of the product. We were a perfect combination of Brain and Brawn in the context of software products.
Any shred of doubt I had regarding this partnership was obliterated when Preetam was offered a huge raise at his previous workplace and he declined it in order to quit and start a business with me. From that moment onwards, we were unstoppable. We both quit our jobs around the same time and jumped head first into fulfilling our dreams.
Trust me folks, naming your company is not as easy as it seems. Literally every single name that you can think of has already been thought of. A word of advice - when you land on a name for your company, do check the registry to see if it already exists before naming all your products and and buying a domain with that name!
As you probably guessed, we fell victim to this and ended up naming all our stuff even before registering a company, and we did not plan on making that mistake again, so we sat down and wrote down a list of fruits, colors, vegetables etc, and another list of adjectives and started matching them to come up with a name that is abstract enough. The name needed to be abstract because we did not really know what we were going to build yet.
We finally landing on the name SuperLemon. It is abstract, has a nice ring to it and sounds refreshing. There is another reason why we came up with this name though which the woke audience will understand. *Wink Wink*.
Undoubtedly one of the most memorable moments was when the first payout hit our bank account. It was very empowering because it made us realise that we are fully capable of making a living on our own. It also gave rise to new possibilities that we haven't thought of before like having the ability to hire somebody else and extract ourselves out of the day to day activities involved in running a business.
We have a constitution for SuperLemon that we kept amending throughout the year and one of the things in the constitution was to travel somewhere and work out of there at least once a year. The first place we chose to do this was Dharamshala, India where we spent around 15 days working out of the mountains.
This enabled us to stay fit since going anywhere in the mountains is a trek and basically a workout. We would work for 3-4 hours during the day and trek the rest of the time. We stayed in hostels and met some travellers with whom we had some stimulating conversations.
This was also where we met some awesome folks that had similar vision to ours and we somehow ended up congregating together, but more on that later.
So far I have mostly highlighted the good stuff, but there were also bad things that happened in this journey. When you’re trying to build a remote business, hiring can be a real nightmare. There is no real way to evaluate if someone is good unless you work with them for a little bit and we quickly realised how hard it is to get good people who will do the work without being supervised.
We hired a couple of freelancers who basically sat idle for a month and we still had to pay for them. We also hired a full time guy who was a fresher and had the work ethic that we wanted, but did not have the experience which ended up in me hand holding him for everything and increase my work rather than decrease it. This was not the guy’s fault since he made it quite clear that he was still learning, but when you hire somebody who is going to work remotely, it is important to realise that you will not be able to guide them properly. Therefore the only thing you can do is hire experienced folks with good work ethic who will do the work without being supervised. Fortunately we ended up finding such people after a few months.
It is safe to say that once you become an entrepreneur, you will find yourself in the company of other entrepreneurs. The people that we met during this journey helped us get to where we are and also serve as a constant reminder that we are not alone in this journey and we can reach out to these folks whenever we find ourselves in a problem.
The first truly interesting conversion we had was with Shashank, who was the founder of PushOwl. He runs one of the biggest apps on Shopify and was a major reason why we got into Shopify app development in the first place. He taught us that the best way to succeed on Shopify was to provide exceptional customer service above all. He also helped us out with tech issues more than a few times. This motivated us to build a cartel of Shopify app developers via a WhatsApp group where can help each other out with common issues that might come up in this area.
The most interesting people that I met however were the founders of Altcampus - Ankit and Prashant. We met these folks during our stay in Dharamshala. These are some truly exceptional people who are trying to change the education system in India by providing an alternative to a college campus. They run a software development bootcamp in the middle of the mountains in Dharamshala. Personally the thought of a couple of 25 year old kids building a college campus literally in the middle of nowhere was mind boggling for me.
What stood out the most was when I asked the co-founder Ankit what made them come to Dharamshala in the first place, he replied saying that back when he was working in a big city, he wanted to play football and he could not find a place to play so he ended up moving to the mountains where there was ample amount of space to play all he wanted!
This is the kind of clarity that I wish to have in life, where you are so committed to something that you stop whatever you are doing and move to the freakin mountains
I know full well that there are many more things about my journey that I can write about, but unfortunately those moments have already passed and they are no longer fresh in my mind. In order to avoid this in the future, I wish to write a post at least once every month. Even if nobody reads it, it would serve as a reminder for myself so that when I look back and read this a couple of years from now I can recollect all the awesome moments that took place.
One of the downsides of running a remote business is that you will find yourself working from home on most days and this will result in the line between working and relaxing getting really blurry. One way to avoid this is to work out of coffee shops and simulate the environment of work. It is important to do this because it is very easy to slack off when you have nobody to answer to. Laziness can really creep up on you. I am currently writing this post from a coffee shop near my house where I hope to find myself on most days of the week so I can be more productive.
As I mentioned earlier, I don’t want to put all my eggs in one basket. I devoted this entire year to a single product and while that resulted in really nailing it and getting it to a decent stage, there are many things that could go wrong which might result in this business shutting down. To avoid this risk I must learn to run multiple products at the same time while still working the same amount of hours that I do right now.
Even though we managed to do this pretty well, Preetam and I still find ourselves the most productive when we work together in the same room. This cannot be the case if we want to run a business remotely. We have to be able to function efficiently even if each of us are on different time zones.
And thats a wrap folks. Hope you enjoyed this post. And if you didn't please feel free to reach out to me with feedback. I would love to improve my writing.