https://shoptolist.com
Over the last two years, my partner Pierre de Wulf and I tried to launch several projects while working full time. We failed. We failed hard. Sometimes because of a lack of motivation, but often because of a lack of methodology.
In this post I will give you my experience about what we did wrong in all these failed side projects, and what we did right to finally launch Shoptolist.
Shoptolist is a universal wish list. It allows you to track the products you want to buy, and get notifications if the price drops. Think Pocket, but for shopping.
As developers ourselves, we spent too much time hunting for the perfect process. We wanted a perfect Continuous Integration/Continuous deployment process, 100% unit tests coverage. All these things are important for “mature” projects, but it’s a waste of time if you want to build your MVP.
We spent hours learning new shiny JS frameworks and tools, instead of actually building our product. We sometimes treated our projets as a playground to test new tech / frameworks. The learning curve can be steep, and our productivity often fell to near zero !
We did everything on our own. For example, on our first project, we spent two weeks implementing our home-made login/register/forgot password system. That’s stupid. It’s a “commodity feature”, and there isn’t any value for our users in it !
Then there is the design part, again, we did everything from scratch. We spent so much time trying to make a good looking design. Design is really important, it can sometimes be a feature but arguing about how we name our CSS classes or this damn 10px padding is a perfect example of how not to launch your MVP quickly.
For our first project (a lead generation tool that tragically died before even one user could try it) we spent three weeks working on a cool admin interface full of data / analytics. What a waste of time !
We spent countless hours watching entrepreneurship videos and advices, instead of shipping our product. It’s kind of funny to write this on a post about entrepreneurship but, there is so much informations available, with Hacker News, Reddit, Youtube channels, it’s really easy to get lost and procrastinate.
We barely talked about our side projects, even to our friends. By doing this, we kept ourselves inside a bubble, and it had two bad consequences. First we did not have any inputs on wether it was a good idea or not. And secondly nobody but ourselves could encourage us.
We often read that ideas don’t matter, only execution does. In fact, we think ideas do matter a lot, for your own motivation. We switched our mindset from “There is this opportunity in that niche” to “I would love a product that does this”. With Shoptolist, the problem we want to solve is first for ourselves.We were really motivated because for the first time we were about to launch a product we would actually use everyday.
Instead of playing with shiny new languages and framework, we used Python and Flask, because we felt productive with it. We could have used React — Redux but we are bad with front-end and we know it. So instead we went with the basic CSS-Html-Semantic UI.
For hosting, we used Amazon Elastic Beanstalk, which is a service that automate the deployment setup on AWS. We can deploy our code with a single command, and that’s great. There are lots of alternative, Heroku could have been a good fit too. You don’t want to spend time configuring servers etc.
This is something that made us save a lot of time. We used a boilerplate for our app, Flask-base. Basically it’s an open source code skeleton that does every basic things all web app needs. User management, email, admin dashboard… There are boilerplates like this for almost every languages / frameworks, use them !
By doing this, we were able to focus on our core feature, not the “noise” around them.
Then instead of building a custom dashboard for business metrics, we leveraged Google Analytics and tracked everything in it. It works great and took us 1 hour.
For our landing page, we used a landing page builder called Launchaco. There are lots of tools like this, it’s a great way to build a great and responsive landing page.
Shoptolist landing page
From day 1, we talked about our project to everyone around us. Our friends, collegues, and it helps us understand how people shop online, what they want, and focus on the “Viable” part of the MVP.
Then after a month of hard work, we made several posts on social media / reddit, and got 1200 signups in one week. It’s great to have that many users early, it allowed us to get TONS of feedback, via email, Google Forms survey, and iterate around this feedback.
For example, on the first version of the landing page, lots of people told us they didn’t really understand what the product did. Or they asked questions like “Does it only work with clothes?”
So we changed the wording, like “It works with every website / product”, add some screenshots to make it more understandable, and it worked, our conversion rate on signup immediately went up !
We still have a lot to do, we are not very proud of the design, we’d like to add support for every major browsers (there is only a Chrome extension for now), deliver notifications if we see the product cheaper elsewhere (not quiet sure about how to do that at the moment) build mobile apps, there are some bugs…
With ShopToList taking more and more of our time, we might have to think about a monetization strategy. Early on we were upfront about the fact that we don’t want ads at all, we might go the affiliate links way if it is necessary.
This was a humble post about our experience, what worked, and what didn’t. I hope it can help people launching their projects, and not doing the same mistakes as we did on our failed projects !
In the next post we will talk about the money problem, mobile app and getting traction.
Stay tuned if you want updates about ShopToList.