I've turned my side-project into a real company, with customers and a team. I've struggled a lot to get to this place, and I see others struggling too. This post is about my learnings of getting from zero to one and how you can avoid a lot of the pain.
I'm the technical founder of WunderGraph. This blog series is dedicated to technical founders or those who want to learn more about building a startup as a technical founder.
1. Stop thinking about elegant solutions
It's one of my biggest mistakes of the early days. I've started many side projects by taking a tool and building a super elegant solution with it. It didn't really matter to me what kind of problem I was solving, I wanted to use this new tool to solve a problem I had in mind.
One example is Cloudflare Workers, it's an amazing piece of technology. It's definitely a useful tool, and we might end up using it, but we don't want to start with a tool.
Nobody cares if we're using a tool or not. People care about us solving their problem.
But how do you know if we're actually solving a real problem? And how do you get your product in front of your users? Who actually is your user? That's the real question here.
2. Start thinking about user acquisition before building the product
I see posts like this over and over again. A user on HN was building a side project for more than 5 months. They didn't get any users though, so they ask how they can get beta users.
This was my mistake as well. We love building software way too much. But that's not how you build a business.
Do not start building a product if you don't know how to get your first users! It's so simple.
You have to figure out your user acquisition strategy before you start building the product. If you don't already have a network of people who might be interested in your product, it's probably a better idea to first start building the network, not a product.
3. Build a network, not a product
Let's say, you'd like to build a product in the API / GraphQL space, just like me. Who are the important players in your network? Can you connect to them and leverage their network?
I've recently done an interview with Ben Hutton from Postman about how we're using JSON-Schema at WunderGraph. Postman is a very important player in the API ecosystem. This video immediately generated new opportunities.
I've built my network by blogging about GraphQL and APIs. Blogging helped me get more followers on Twitter and LinkedIn, as well as established the brand of WunderGraph.
You can start blogging about something you're passionate about, or maybe you're more into creating videos.
I personally prefer blogging because it allows me to take time to sort and write down my thoughts. It's also better from a SEO perspective, I think.
That said, you'll realize that creating content and building a network is nothing like building a product. It can take a lot of time to build a network, but it's essential to start with this "hard work" before you start building a product.
In a nutshell, don't build if you don't know how to sell, which leads us to the next step.
4. Start thinking about how you're going to sell before building the product
Let's imagine you have a network of people who would be interested in your product, and you've actually built it already. How will you sell it to them?
Who is going to be the user? Who is going to be the buyer?
Does the user want to use your product? Good! But what about the buyer? Are they a different person? Do they have the buying power to buy your product? Do they understand the value of your product? How will you price the product? Would they actually sell to you?
Let's say you're a single developer working on a side project. Your target audience is enterprise customers, you're building a dev tool.
Developers love your tool, and they want to use it. However, no enterprise will ever sign a contract for you for some legal reasons. Maybe you're in healthcare or some other industry that has special regulations. This is not going to work.
You have to talk to your target audience and figure out all these things. You need no product to do so. Maybe some slides, a mock-up or a video.
But please, don't build your MVP before you figure out how to sell it. All you do is waste your time and burn out because nobody will buy your product.
5. Start thinking about the business as a whole
Do you want to become an indie hacker or are you trying to build a startup?
If you're looking at building a startup, this means your first goal is to get funding to be able to scale. So, how do you get funding?
It's important that you figure out the fundamentals of your business. How are you going to make money? How much will it cost you to acquire users? How much will it cost you to retain users? What packages are you going to sell? How big is your market?
Investors will not invest in your company if you don't understand the fundamentals of your business. Is the addressable market big enough for investors to make a big return?
Don't expect investors to invest in your company if the market is too small. If that's the case, but you still want to pursue this plan, you need to find other sources of funding.
6. Think about the competition
Another important thing to think about is the competition. You're probably able to build a better product, why would you do this if you don't?
But does it really matter that your product is better? How will people know about you?
Let's say you have 3 big competitors, each of them with hundreds of millions of funding. They have whole departments for marketing and sales?
How will you be able to sell into the market against them? How will you be able to compete against teams of content creators?
You might also be thinking that you're super smart, because you're doing something that the big players don't do. But maybe they have a reason not to do it? Perhaps it's economically unsustainable, and you just don't know?
Some solutions work well at small scale, but they are not able to support the growth required to build and scale a startup.
So, you might have a better solution in mind, and you're able to build it, but the existing players in the market will make it almost impossible for you to compete because they already have contracts with all possible users.
If your product replaces another product, you also have to think about how people will migrate from an existing solution to yours. How much will it cost them to migrate? Will the benefits of your solution outweigh the cost? What's the risk for the decision maker to migrate? Are they even interested in taking this risk?
You have to figure out all these things, otherwise you'll end up with a very good product, but you're not able to capture any significant market share.
7. Think about building a team
Is this project really something that you can do on your own? Do you have all the skills required to do it? Are you credible to convince investors and customers?
Who could help you?
I've got three Co-Founders, one guy for marketing and growth, one engineer, one business person.
I'm responsible for product, marketing and sales.
Aside from leveraging other peoples skills, it's just a lot more fun if you have a team.
If you want to go fast, go alone. If you want to go far, go together.
- Stop thinking about elegant solutions
- Start thinking about user acquisition
- Build a network first
- Start thinking about how you're going to sell before building the product
- Start thinking about the business as a whole
- Think about the competition
- Think about building a team
I know that some of these points seem super obvious. I've read them in the past, but most of the time I ignored the advice. That's why I think it's important that we keep repeating.
Building your product is really the very last step of the process.
What you'll realize is that all other steps except building the product are hard work and might even be quite boring. That's fine, and might indicate that you're an excellent builder, but maybe not a founder.
If you want to stay being a builder, you might be better off joining an established company. It gives you the freedom to build software.
Building a startup is really just 5-10% coding. The overhead is massive, and you simply might not enjoy doing all this stuff.
That said, if you really decide to move forward, make sure you're crazy passionate about what you're doing. There will be very hard times ahead of you. You will not succeed if you don't have the passion and energy to do it.
Build it and they will come doesn't work. I hope this post helps some people avoid burning out. Cheers!