A lot of people offer advice on here but never state why anyone should take it.
I'm not known, I'm not a millionaire and I don't know it all. However, I've been doing this a long time to varying degrees of success, from being part of a small team that raised over £25million in investment for a startup that ultimately failed after 4 years; to working in "Corporate Enterprise" in a multi-billion pounds per year organisation leading their Product Development teams; and currently back to start-up world where I have one product (SongBox) that is entirely self-funded, self-run, self-developed and self marketed.
I have another product that I don't mention much on here as it's not an "Indie Hack" - I have a co-founder on that one who is a businessman and not techy. He looks after business, I look after the product. In that business, we've raised over £700,000 in investment and are still fielding offers for the next round that will allow us to go nationwide.
SongBox is a SaaS and the other business is a two-sided marketplace, which is also completely developed, product managed etc by me alone.
I don't usually write posts like this on here, but I've completed Netflix and bored of Prime Video... so here we are. My tips for building a product.
- Start small: Everyone says this and we all know it. But DOING it in practice is hard. Really focus, take a day away from the keyboard. Get a whiteboard or huge sheets of paper on a wall. Write down EVERYTHING you want, every feature you can think of. Take a break, go get food. Come back after an hour and start crossing stuff out. Be brutal and be honest with yourself. Do you NEED push notifications for day zero? Do you? Really?
- When it comes to build time, build it well: My post on here MVP does not equal shit product was controversial but I stand by it. Build as well as you can and don't cut corners. You'll thank yourself later.
- Don't build a native app: Building a native app is difficult, slow and if you're not doing it yourself it's very expensive. Initially, go with a web app. They are super quick and cheap (relative to native) to build and you can make changes so very quickly and get those changes back out there instantly. Only look at a native app once you have gotten a rock solid understanding of your value proposition and you know what works and what is required. Even then, double down on my first point (start small).
- Your opinion doesn't matter: You are too close to your own work, and so are your co-founders. So are your families and friends. When it comes to UX, taglines, copy etc neither you nor those close to you can make an objective call on it. It's impossible. As early as is logistically possible get it in front of people who don't know you, or your product and get feedback. Indie Hackers is perfect for this, being part of this community is a blessing because you can get truly objective feedback basically on tap.
- Don't be embarrassed and don't justify things: Don't caveat your early versions with "oh it's not finished yet", "I know it's terrible just now" etc etc. Show your work, be proud of it, and take the feedback, but don't be beholden to the feedback.
- Take all feedback with a pinch of salt: This applies to good AND bad feedback. Don't get too caught up in any of it. Hold it at arms length. Not all feedback is valuable. Even if it's a salient point, does it need to be worked on right now? really? Also, disregard all feedback that you only hear once. Real, actionable advice is the stuff you hear repeatedly, from multiple sources.
- You will not blow up on "launch day": No matter what you think, when you launch your product, very few people outside of your immediate circle will care. This is even true if you have a decent marketing budget. Having a successful product is a marathon and not a sprint. Stay the course.
- If you're not a designer, get a designer: No-one can be great at everything and that's fine. Design is SO important; by that I mean UX design as well as pretty colours. Design is the only thing I paid for when initially building SongBox, and I believe it shows.
- Product Hunt means nothing: Product Hunt (ph) is merely one of many places you should promote your product. Success or failure on there means very little in the real world and even less a week later. Some people do blow up because of Product Hunt, but more people than that win the lottery every week.
- Heroku: The cloud, like it's meant to be. Push to master and job done. Again I've used AWS, Google Cloud, Azure, Digital Ocean etc. Heroku takes care of all your platform / DevOps needs entirely, and it's free if you need it to be. Heroku also comes with any flavour of database you require, as well as logging, cache, DNS management (and basically anything you could want in that regard) as free Plug'n'Play addons. If you want awesome deployment pipelines and rock-solid DevOps, but don't want to have to think about deployment pipelines or DevOps then Heroku is my tip.
- Stripe: The obvious one for taking payments so I'll keep it short. I've implemented stripe personally into dozens of products and it keeps getting better. There is no better solution in my opinion, the caveat being you need to be at least a mediocre developer to implement it.
- Twilio / Sendgrid: For transactional communication these win for me. I used Mailgun for years for transactional emails. I recently swapped to Sendgrid just for shits and giggles and I'm now hooked. Their API for sending emails is super good, as is the initial setup. Twilio is basically the same except for SMS; just a couple lines of code and you can fire SMS messages or emails by hooking into any event in your application.
- Mailchimp: Another obvious one, but for marketing emails or onboarding emails Mailchimp is super good. Their API and UX sets them apart from other such companies. and again... free while you need it to be.
The above covers codebase, platform, payments and communication. If anything else springs to mind I'll edit this post, and if you have any questions about other areas please comment below.