Ideas are cheap — implementing them is not. Indie hackers don't have the luxury of building all the features, and choosing between features is one of the toughest things we have to do.
I looked into how indie hackers are doing it. Here's what I found.
I'm going to be talking a lot about features, so let me get this out of the way first. Features aren't what matters. Not really, anyway. It's the problems that matter.
@austerberry: Focus on problems, not features, and prioritize them based on how much value solving it would bring to the user and your business. This will make sure you're spending your time wisely and getting the most bang for your buck.
Then, once you have an idea of what problem to solve, you can start exploring solutions/features.
Feature requests are pretty much inevitable once you've got traction. And that's a good thing, so if you aren't getting any, it's probably worth asking for some.
The most important users, when it comes to feature requests, are your ideal customers. The ones who are all about your product. Not the ones who are on the fence. Eventually, you'll want to understand how to bring the stragglers into the fold, but that can wait until you've got more time on your hands.
@chillyorange: Ideally; your application will have actual users who are providing you with feedback based on which you can determine the roadmap for your application.
If you do not have actual users yet; you will need to collect your data based on conversations with your target audience (and you should be doing the absolute minimum to turn these people into users).
If you’ve got neither; no users and no audience, you should not be building any features. At this stage, you should not be thinking about features nor should you be doing any development.
Here's some solid advice on talking to users:.
@reinder: Keep in mind that users own the problem, you own the solution. This means that you should not ask them what to build but question them on the problems they experience and create your backlog based on the solution that you see.
Surveys can help too.
@Fat_Tony: For surveys, make sure you ask:
- How are you solving the problem currently? (if not solving it then it's not a problem)
- On a scale of 1-10 how big of a problem is it? (magnitude of the problem by their instinct and helps put the following answers into context)
- How much money are you spending on the problem? (a lot of money or a little money is all about context. The previous question puts this # into perspective)
- How much time are you spending on the problem? (same as above)
- On a scale of 1-10 how satisfied are you with your current solution to the problem?
If 1, and 3 or 4 are in the affirmative then calculate your opportunity score.
Opportunity Score = #2 - #5.
Opportunity Score X Money X Time = Opportunity Gap.
Now make comps to your other Opportunities.
And I know of at least one indie hacker who allows users to vote on new features.
You can also do interviews. If you're going to do that, I'd highly recommend reading The Mom Test first.
Of course, it's important to validate that the all this feedback is actually good. The last thing you want is to build things for a customer that don't actually push the needle for your business. So decide whether it'll help with the specific reason you're building features at this time. And if it will, then run it through one of the frameworks below to see how important it is.
@tom_shaw: Unfortunately, I let my first customer push me around a bit too much. I wasted valuable time. I built features that only they needed. Which ultimately led to me building a product that did not meet the requirements of the rest of the market.
Ultimately, there are three good reasons to add a new feature:
I'd also say that the joy of building a beautiful product is a good reason… but it's not necessarily a good reason from a business perspective.
Don't do it because someone told you to. Even if it's a customer (but not if it's many customers). Don't do it because you're avoiding marketing, which happens more than most would like to admit. Don't do it to keep up with the competition, unless it actually benefits your product. I could go on, but you get the idea.
So the first thing indie hackers have to do when considering new features is to determine what they need to achieve: Is it user acquisition, paid conversions, or retention?
@cblindsey3 shared something helpful in this regard from a Microconf talk:
If trial to paid conversion is > 35% with credit card required (or 15% without) and churn < 6%, focus on acquisition. Otherwise, focus on retention. He also said that if you have < 30k monthly unique visitors, acquisition will likely give you the best ROI. Just rules of thumb, but something to consider.
Once you know your "why", you've got to figure out whether the feature you're considering actually moves the needle for it.
Most of the time, it's pretty clear whether a feature could impact your core reason for considering it (i.e. acquisition, conversion, or retention). But it's rare for indie hackers to have just one feature idea and move forward with it. Generally, we've got a bunch of ideas, plus a bunch of feature requests from users, per above, plus a bunch of features from who knows where else... And that makes it pretty tricky to decide which features to start, which ones to throw on the backburner, and which ones to throw in the idea graveyard.
So when thinking about new features, consider a few things:
Once you've made a decision on whether something is worth trying, test an MVP of the feature before building the whole shebang.
And of course, I'm all about prioritizing your features so that you're doing the most important features first. There are a lot of frameworks for prioritizing features out there, but I'll just list my top 4.
What I like most about it is including the reach. It's really easy as a founder to become obsessed with very small corners of your app that only advanced users like yourself care about, while neglecting things that affect 100% of your users, e.g. the onboarding experience.
Impact is obviously important, and so is effort, both of which you included in your list. Effort is a big one for me as a developer. It's easy to get sucked into working on massive slog projects that, while impactful, aren't nearly as helpful as doing 50 smaller things instead.
Before you even think about adding new features, make sure your current features are in a good place.
@yousuf: At the end of the day, in my experience as solo founder, improving poorly implemented existing features until they are "pretty good" is better than adding new features - my exception being new features that would unlock a new customer segment. As a solo dev, it's usually easier to maintain a codebase with fewer features, and if you ship things quickly, you'll find yourself under a mountain of technical debt sooner or later.
From there, add them to your project management or todo tool. I'm personally a fan of public roadmaps, so if you are too, add the new features to yours with a reasonable timeline. Then get to work.
What did I miss?
Subscribe for more tips, how-tos, and case studies
This is an amazing way to put it, love what you just wrote.
Thanks!
Wow, this is just the solution to my problem
I think alot about what users might need to what their actual need right now this.
Thanks for sharing 🙏
My pleasure 😀 Glad it helped!
solving the problem is not enough. Competition is solving it too. And it is not about whose solution is better but about whose distribution is better.
Distribution, distribution, distribution... fagot to said that (one of those startup legends), but can't agree more...
Unpopular opinion:
Nothing increased my revenue more than actually adding features that a large # of my users ask for.
I don't think that's unpopular at all, I think that makes a lot of sense! Curious - were these free users that then converted? Or were they paid users who were then retained? Or why do you think it boosted your revenue so much?
More of the former.
Once I added critical missing features, I became at least on par (if not better) than my 2 direct competitors, and that's when my UI, customer service, even pricing, help differentiate me.
Nice, thanks for weighing in!
Well this is upsetting because I literally just thought of a really cool feature for my product haha. But alas you are correct.
Haha 🤣 I feel your pain!
But please don't take my word for it — if you think this really cool feature might push the needle for your business, go out and validate it!
I was going to argue that just building a feature that customers will love, for no other reason than that they will love it, is worthwhile... but I guess that would ultimately fall under the retention category.
I do think it's important to get your nose out of the dataset every once in a while and build features as a human for humans.
💯 That's easy to forget. Stop brainstorming solutions to problems that don't exist. Use data to find the problem, THEN SOLVE IT!