Hi, after doing quite a few personal projects, that are websites, I just thought I would share some insight into the thoughts that I should remember to have before starting a new project / product, perhaps I need to carry out research into each of these areas before I start, perhaps you should too.
Time to market (awesome vs time)
Is the project going to take half a year to get to market, or is it going to take two weeks? This should be weighed up with the awesomeness of the project, ie. prioritising projects that are more awesome, and take less time.
Use the Awesome vs Time scale, plot out all the projects you want to do and give them a rough level of awesomeness vs time to get to an Minimum Viable Product (MVP).
The projects that have more awesome and use up less of your time, do first. Therefore you quickly get an MVP to market to see if you get traction for your product, thereby you reduce the time you waste on projects that don’t take flight.
Will I enjoy developing the product? Will I want to continue developing the product? This is a big factor, if you’re not doing something you love, stop and do the project you love instead. It will supply you with the drive you need to go on.
Remember getting traction for a project is highly important, esp. if you want to continue on your product. People get fulfilment from seeing their product do well, if your not seeing your product doing well, it’s harder to continue with your product, unless you have amazing drive!
Remember you MUST get your product out to the public, so that it can be user-centric and not developer-centric (unless it’s an open source coding project!)
Creating a User-Centric product
Get your Minimal Viable Product out to the user as soon as humanly possible! (Unless you’re building a Satellite that flies into space, and you can’t iterate over it!)
Think about how you’re going to market your product socially, how will you build up the traction? Most one man bands don’t have the money to spend thousands on marketing, so you need to think how you’re going to get your product out to as many people as possible, my business teacher used to say market to your community and family first.
Search Engine Optimisation
Think ahead with this, if you’re building a product that relies on people to hit it daily ie. a jobs site, think about how people will find you’re site, just having one page is not enough, you’ll need multiply pages, but these pages will have to be easily reached and text on them will have to be indexed by the big G.
ie. If you’re building an Angular application that makes a async http call to return job data, make sure that this data will be indexed by Google, and there’s no restrictions on the data displayed, ie. remember no duplicate content! That’s not good for Search Engine Optimisation (SEO).
Think about you’re projects / products keywords beforehand, if you’re creating a site that sell dog biscuits don’t have a domain called grandmamacakes.com. Research keywords using the Google Keyword Tool and target your domain name appropriately, ie. perhaps more people use the word ‘treats’ instead of biscuits, therefore you should have the domain ‘dogtreats.com’ but of course use best judgement around this. Ps. You don’t need an expensive domain to do well!
Use github or another repository to store your code, don’t have it only on your laptop! In addition if you want to get more people involved it’s easier! Have a simple branching strategy worked out for your project from the get go.
Write tests around your project from the start, when you’re working on a personal project, sometimes unfortunately you don’t know when you’ll come back to it, ie. in three weeks time as you’ve got sometime more important on. Therefore when you come back you don’t want to put in a ‘quick fix’ for something or add new functionality and break old functionality.
Tests are great, but don’t go over the top with them initially, you wanna get your project out to market fast, and not spend multiply days writing edge case tests (unless they are very much needed) - at the start it’s all about getting to market fast to get that iterative process with the user started! and to see if it’s worth carrying your project / product on, this mostly applies to websites, if it’s an open source project, yeah you need lots of tests around those!
Think about how your product will make money, if you want to eventually work on your project / product full time, think about how you will generate capital. Capital means you can hire people, it also means you can purchase marketing, so that you can get more people using it, and make even more money to hire more people and develop an even bigger, better, product.
I haven’t got to this stage yet! So this is what I’ve assumed / thought about.
Get people to help out. It’s something that I’m bad at doing and I need to improve on, but if you get a small team who you trust, you can get your product to market much faster.
These are the things that I think about / need to remember to think about, before I start a new product, I hope it’s helpful, and I’m sure it will be helpful for me before I start something again soon!
Also read the Lean Startup that’s a great book, that helps you think about what you should do at the start of a project!
I’m thinking my next product will be an album, as soon as I finish Jobs Data UK.