A year ago I and two of my friends decided to accept the challenge of entrepreneurship. In the past twelve months I’ve learned more than I did in any other year of my software engineering career. As we are approaching the end of the year, I decided to write a summary of the entire journey.
Why build a new company?
The first seed was planted long ago when I started an open source project, to which I was contributing in my spare time. Life of a software developer may get pretty dull sometimes, and coding for fun, rather than for the duty of it, was something I found very refreshing. It is back then when I first asked myself, what if I could make money off something that I’ve built by myself?
This idea was getting louder every other month, growing to the point I couldn’t resist of stepping into the wild. I wasn’t the only one who had similar thoughts within my circles of friends. The three of us joined forces and went into building Visely, our first Shopify app.
Not a Silicon Valley startup
To put it mildly, the world of venture capital and fundraising was a total unknown to us. This is partly because of the Eastern Europe location, which is scarce in VC capital and somewhat because local companies are more focused on off-shore business models rather than product development ones.
Back then it was very helpful to find resources as IndieHackers that provide a different perspective of how you can build a profitable business without an excessive focus on investors capital.
As great the Startup School lectures are, a lot of their bits of advice are unrealistic for companies that are started outside of the Silicon Valley, moreover outside of the U.S.
The absolute truth is that each and every one of us can build a business that can support us. We don’t need to build a million dollar business to survive. We just need a regular paycheck. Just like the paycheck that we already get working for someone else, except it’s a paycheck we pay ourselves.
If you reside outside of the U.S., it may be technically challenging to run your business targeting North American customers. Because of this exact reason we decided to use Stripe Atlas for company setup. These guys were incredible in their support, and with the latest guide to running your startup, it has become even easier to operate it. The benefits definitely out-weight the headache of running a C-corp.
Choosing Shopify marketplace as our target platform
As software engineers it is very easy to get excited about the tech behind the product you are building, dismissing the main challenge how are you going to make money of it. Scala, AKKA, Spark was (and still is!) super-exciting but they don’t magically increase your account’s balance.
Finding customers is difficult. It is even more difficult if you are located in different time zones and you don’t have an extensive sales experience. Think about how your customers will find you before you start building your product. Don’t rely on Google or Facebook ads too much. They can complement well, but rarely play the most critical role in customer’s acquisition.
For the three of us, Shopify Apps marketplace provided a perfect landscape to start with an idea, build it, and get the share of the profit pie. 500k Shopify customers are using the marketplace to enhance their online stores. And if you happen to solve a problem which customers are willing to pay for, you will have a constant stream of customers installing and using your service.
In seven weeks from launch, we already had customers from 23 different countries, which is something we wouldn’t have achieved without the marketplace.
How do you come up with an idea then? The easiest hacks is to check regularly the Shopify e-commerce forums or Reddits /r/shopify. People are posting questions on some of the real problems they face, thus if you read carefully you can compile a list of potential solutions you can work on. Don’t stress too much if someone else is building a similar product. It is OK to build a product that exists in one form or another on the market.
A successful startup is one that solves a real business problem. The acuter the problem is, the more money are customers willing to pay to find a solution for it. As DHH talked about Basecamp in his Reconsider article, you don’t need to disrupt anything to build a successful company. Better boring and profitable than disrupting but broke.
It didn’t disrupt anything. It didn’t add any new members to the three-comma club. It was never a unicorn.
After we’ve compiled a potential list of problems to solve, we ended up with the idea of building an e-commerce product recommendation engine.
A lot of Shopify store owners are looking to enhance website navigation experience with personalized product recommendations. The default solution is “Related Products” widget. It works well as a starter, though more clients were looking for a richer set of tools to tackle this problem. This is where we decided to build an app that will capture these exact customers.
Our product recommendations are a lot more feature rich, coming from three distinct sources:
- content similarity — mainly matching product name and description. After trying various algorithms, we’ve noticed that extracting and matching nouns and adjectives give us the best click-through rate. Semantically it makes sense to consider only these (with minor exceptions when cardinals and name entity tags are also important).
- image similarity — with the advance of deep learning algorithms, specifically those targeting image processing, extracting features from product media content has become possible. We decided to experiment with image-based product recommendations. After starting with a third-party service for image labeling, we are right now evaluating our own deep neural-network for the task, targeting specifically web-stores that are selling fashion items.
- collaborative-filtering — this one is simple, yet very powerful. You can infer customers preference by looking at what other customers have bought in the past. Amazon’s “Customers Who Bought This Also Bought/Viewed” is the most famous example.
The products from these sources are then merged, via different algorithms using a multi-armed bandit, selecting the best performing algorithm for each different customer. The learning dynamics of the algorithm are fascinating to watch. I will cover the technical details of it in a separate blog post.
What can you expect as first time entrepreneur?
In between never-ending coding sessions you will have to do all sorts of things you have zero experience with. Working on everything at once. Doing customer support, sending cold emails, reviewing designs for your product’s website, running A/B tests on your logo, talking to your tax advisor, optimizing AWS costs, writing Medium posts, making sense of the Google’s AdWords interface, running your company’s Twitter account and the list goes on.
Hell, even our explainer video was built by one of the co-founders! I’m still puzzled how he managed to get it done in under three weeks without any prior experience with Adobe After Effects.
Be prepared to face all sorts of tasks you are not familiar with. You will inevitably make mistakes, don’t stress too much about them. Keep pushing.
The significant part of entrepreneurship is that you will meet amazing people during this journey. I know, last phrase is probably heavily overused, but once I started the company, my list of acquaintances has grown from mostly programmers to people from very different circles. Having them around is great perk that gives you a broader perspective not only on startups but generally on various aspects of life.
If you don’t rely on venture funds, you will probably have to freelance to support your living expenses as well as operational costs. Your product will not provide you with enough cash from day one. For the three of us it was never a problem to find remote work, and during this last year, we’ve derailed from Visely a couple of times to do just that.
Every other book on startups will tell you to release your first prototype as fast as possible. Even if we were totally aware of it, it still took us five months to finalize our MVP. In hindsight, it contained too many features. The more features, the more complex the UI, more testing has to be done, more time it will take before you finally get it in front of your customers. Focus on the features that are strictly necessary, don’t overthink the edge-cases. In case if in doubt — simplify.
We launched in July and acquired more than 130 active customers since. With an achieved ramen profitability the end of the year looks a lot more promising than planned.
We are gradually adding more features, further personalizing product recommendations to match perfectly website’s visitors profile. And it’s not only recommendations but also personalized collection pages that we will offer to our customers next year. The enhanced version of the recommendations can now be A/B tested on live websites, allowing us to fine-tune the service based on gathered statistics.
Next year is going to be busy. Busy and exciting.