Ever since I've started to lurk on Twitter, I've been introduced to the world of indie hackers.
If you don't know what that is, it's essentially creating your product from scratch without any ridiculous investments from VC firms.
The goal here isn't to build a billion-dollar business but something that can give you a comfortable life while having the freedom to work on whatever you want.
I'm gonna be honest.
At first, I was inspired by the money. I wanted to be financially free, I wanted to retire early, and in general, I wanted to live very comfortably.
But what inspired me the most is the freedom, specifically:
- Freedom of controlling your income – There is no ceiling, you can make 1000$ or 100k$.
- Freedom of location – You can work from wherever you want. You're not bound to one location, especially if you sell digital products. You could live in Southeast Asia while selling to customers in the US.
- Freedom of choice – You control what you work on. You could create a product for your community or sell onions online.
- Freedom of time – Once you have your "money tree", you essentially disassociate time and money. You no longer have to work to make money. You make money all the time as long as your business is working.
At this point, I was already hooked but I didn't know how to start. This article isn't about how I overcame that but if you're interested in indie hacking, I would suggest reading the "The Indie Hacker Handbook" by @levelsio.
I started and failed, failed again, failed once more and now I'm here to share my lessons.
Start with a community
In my opinion, the best way to start the journey of indie hacking is to start with a community.
You're already part of a community. You reading this article means you're interested in indie hacking. You might be following some niche subreddits.
The point is to find your communities, if you don't have any then find a couple. Figure out which ones would you like to work on for a long period (a few years to a decade).
Then be a leader in that community by creating content for the people of that community. An example would be from the book "The Minimalist Entrepreneur", where two guys who were moderators of r/Fitness on Reddit created the highly successful startup examine.com.
They got the idea because they were the leaders of their community and knew the common problems people faced in that community. They saw the problems and as they were already well known in the community, they easily found their initial customers.
So, the general advice here would be that the best thing you can do is to "try" to be a leader in a community your product is in, or in a community you're interested in.
The best way you can do this is by providing value. You can provide value in multiple different ways such as:
- Creating useful content for your community (articles, videos, etc...).
- Engage in the community with valuable comments.
Just know that whatever you're good your providing will come back to you 10 folds.
Good will goes a long way.
Ideas don't matter at the beginning, just ship something.
The first project will always be the hardest to start, mentally speaking. So it's best to just pick something and see it through launch.
It will most likely fail but you will learn a lot in the process. You'll also learn about skills that you might be lacking that are needed to run a business.
For example, I as a developer lacked marketing and sales skills but through these first few failed attempts I learned a lot about them.
Work on something that you "truly" want to work with
One of my first few attempts had to do with influencer marketing, so for a week I would email influencers about my offer and just try to get something to work.
It did work, I got many leads, and from that, I got a lot of contacts of influencers to whom I can offer brand deals. But I dropped the whole plan because I just fucking hated it.
Hated every second of it. I hated influencers, I hated brands, I hated social media. You get my point. The work was also very administrative which just killed me.
That's why I urge you to pick something that you're interested in. When time gets tough, you would much rather work on something you like than hate.
Technologies don't matter, choose what you know best
Customers don't care about your fancy AWS lambda setup. They just want something that works.
I would suggest to stick to technologies that you already know. The goal here is to ship fast. And you won't be shipping fast if you have to learn some framework or language in parallel.
Here's the tech stack I use:
- Frontend: HTML + JS + CSS + Tailwind (For future projects I'll probably either have to incorporate a framework or use HTMX)
- Backend: Python + Django
- Hosting: Render
Keep it simple and cheap
As I said previously, your ideas will most likely fail. So we want to go through them as fast and as cheap as possible.
One tip I have is to utilize trial periods for whatever services you're using. I used Render's 90-day trial on the database which saved money on a product that wasn't going anywhere.
Another tip is to utilize simple hosting platforms. There's no need for any cloud providers, just use Heroku or Render.
Work on multiple projects at a time
This is something I wish I had done earlier but it's better to work on multiple projects at a time.
Indie hacking is a numbers game to some extent. You don't know what will "click", so your best bet is to shoot as many times as possible. You could work on one product while validating another idea.
Another reason why you should work on multiple projects is that you could get burnt out from working on one project for a long period. This would cause you to either stop working or take a long break which isn't good.
It's better to have some sort of consistency and if you feel like your creative juices are running out then switch to another project.
You should have hundreds of ideas
It's hard to come up with ideas and in my opinion, the best ideas come organically.
By that I mean, you should be more mindful. Not in a meditative sense but more in a business sense. So for example, notice the problems you have in your life or the problems that other people have and see if you can fix them.
Some might say, I've got no ideas, I'm a boring person.
Then become an interesting person. Do more shit. Talk to more people. Experience life.
With that, you should have a list of hundreds of ideas stored somewhere either digitally or in paperback.
MVP doesn't mean it has to be shit
A lot of people, misinterpret the word MVP.
They think launching a faulty product is a success but that's not the case. First impressions matter and if your first impressions are trash then even your early adopters will run away.
So that's why I recommend the following checklist for an MVP:
- It must work.
- It must provide value.
- It shouldn't have any obvious bugs.
Don't forget about marketing and sales
The number one reason why products fail is because they fail to get customers.
There are many reasons why people fail to get customers but for the typical developer turned entrepreneur we prioritize development because it's what we know.
It's our safe space.
So below I've compiled a few tips that would help you in this area.
Read the "Traction" book
The first thing I would recommend is to the book "Traction: A Startup Guide to Getting Customers" and read it.
This book would teach you all the possible traction channels that your product might use and provide frameworks on how to choose a traction channel.
The reason why I would recommend this first is because of the fallacy of "you don't know what you don't know", especially as a developer. This book would open your eyes to all the different ways you can get your customers.
You'll have to do things that don't scale
This is common advice from Paul Graham which essentially means that in the beginning, your methods of getting customers would be very tedious.
You'll have to do the "boring" stuff such as reaching out to people via email or socials. It can be creating content for your product or things around your product.
Once you do have your customers, you'll most likely have to onboard them yourself. Meaning that you'll either handhold them through your product or do the work yourself.
This is important because you'll get to know your customers directly and see the problems they are facing immediately.
50% Development - 50% Marketing
The next tip I have is for developers who like to work on their product all day.
I know the temptation is high to just build features but you must also be working on the business side of things.
That's why I propose the 50/50 rule.
50% of your time should be spent on product and the other 50% should be spent on marketing.
Some people like to do it in different cycles but the one I would recommend would be doing a week of development and then a week of marketing.
This way you have enough time to stay in the flow zone and also have things to showcase in your marketing week.
Don't be scared of cold outreach
Cold outreach refers to the act of contacting people who you have no relationship with but think your product might suit them and try to convince them to check out your product.
This is sales in a nutshell.
You can't escape this. I know it's scary but the first customers you will get will be done from things that don't scale. Cold outreach is the epitome of things that don't scale.
Understand what you're getting into
You can't half-ass this.
You're gonna be spending a lot of time on this. So make sure to know exactly what you're gonna be sacrificing.
For some people it's simple. Less messing around and doing more work. But for others, who have important obligations such as family, health, work, etc... that wouldn't be as simple.
So figure out what's important in your life and figure out how much would you dedicate to this. But just know that your input is equal to your output in the beginning as you have no skills or experience whatsoever.
Once you get through that initial stage, you can multiply your output by N folds because you already have the skills and experiences from previous endeavors.
Always have monetization in mind
You're not building a charity.
You're building a business that has to generate money AS SOON AS POSSIBLE. You don't have the luxury of VC funding and "growing" your product. You have to get paid.
So always have monetization in mind and monetize as soon as possible preferably from day one because the only way to know if you have something worthwhile is if you have paying customers or people who would want to pay for your product.
Another tip here would be to learn about all the different kinds of monetization methods out there and figure out the ones most suited to your kind of product.
Do things alone for now
In my first few projects, I did it with someone who was a marketing expert. Those failed due to many reasons but one main one was that we had very different goals in mind.
I also wanted to learn a lot about the other side of the business but I had a safe bubble of development to keep me busy and I would just assume he would handle the marketing side.
As you can probably guess this didn't last long and I didn't learn much because I worked mostly on the development side. If I had just built it alone, no matter what the outcome may be, I would have learned a lot more.
But I would think this only applies to most cases. If you have a good partner who shares the same vision and goals as you, then by all means partner up.
Lurk around X and Indie Hacker
This might be a negative aspect in the long run.
But as a beginner, it's very cool to see other indie hacker stories. You see their successes and failures. You get some pretty concrete advice about different topics around running a successful business.
The two places I would start would be Indie Hackers and X. For X I would suggest following:
Build in public because it's cool
Building in public is a superpower.
You beat three birds with one stone:
- You get accountability because you post shit online and it sucks if you quit.
- You get to meet other indie hackers in the community and you guys can learn from each other.
- You get to market yourself and the product that you're working on. You also develop your personal brand, which will help you for the rest of your life.
Another hidden benefit is you have a log of what you're working on. This can become very interesting after 2-3 years. You might be very successful one day and look back at all the old content you put out.
You might even write a book and source those old articles as some sort of social validation but that's a bit of a stretch.
My final tip is to simply have fun.
There's no point in doing something if you feel like death while doing it.
We all have our reasons why we joined the indie hacking path but remember the joy isn't in the reward, it's in the journey.
As one of my favorite authors said in his books:
Journey before destination.