At Clubbable we often get asked about how to build an app and where to start. This is actually something me, Magnus, the founder and CEO of Clubbable sometimes gives lectures on so I thought I might as well write a post about it and hopefully help some aspiring entrepreneurs.
Before you do anything else, spend some time searching online if someone has already built something like what your idea is about. It is very likely someone have. When you find the similar solution you might think: "But my idea is different". Ask yourself, is it different enough and so much better that you can capture an audience? It is not enough to create something great and then hope people will discover the brilliance of it.
Unless you have a ton of money that you are happy to spend, I would advise against going to an agency who will do everything they can to take all your money. Even if you agree on a fixed price for your project you will inevitably need to change or add things and then it turns into a battle of what was meant to be included and not.
If you have zero money you might think the only option is to learn the skills needed and build it yourself. Though I encourage learning this will not result in anything usable anytime within the next few years. Development is best left to the professionals. What you should do instead is to work on a pitch of your vision and persuade someone who has the funds to invest in your startup. This is a separate topic on its own but when you approach someone for investment you need to have a valuation of your idea in mind which you honestly feel someone else would agree on. Let’s say, you think after talking to someone technical it will cost $50k to build your product and reach profitability or to prove that you have a promising business so you can seek more investment. If you are willing to give away 25% of your business for $50k this means you value your business at $200k. Most investors will push for a larger % than what you are offering and by that essentially lowering the valuation.
The way to get your app or website developed is to hire freelancers directly. There are plenty of freelancer websites out there such as freelancer.com and upwork.com. There you post the job and the candidates on there will apply. If you have knowledge of development you should get someone to help you define what kind of developer you need and to help you finding the right candidate.
Before you even consider hiring someone you should document exactly what it is you want to have built. Start with a high level overview then break it down to what pages your system should have and what should be on them. For this, old fashioned pen and paper is usually the best way to go. Draw them out. Do not worry about design at this stage since you will for sure change this many times. Once you have documented what you want to build it is time to have a think what would be the most stripped down version of your product. All non essential bells and whistles should be excluded. This version is what you refer to as a minimal viable product or MVP. The book “Zero to one” by PayPal founder Peter Thiel talks about this in detail and is a recommended read.
Once your MVP is defined it is time to break it down further into workable chunks and put these into “cards”. There are several online ticket boards you can use so you can easily queue up the work for your developer in the order you want things to be done and track progress. At Clubbable we use Visual Studio Online for our tickets and to store the source code which is free for up to 5 developers. The first ticket could be something like “Splash screen with logo” saying that when the app is started your logo should be shown while app is starting the show, a welcome screen then keep progressing step by step like that.
It is highly recommended that you are deeply involved in the development progress on a daily basis and you agree with your developer that a working version of the app should be available to you if not on a daily basis then at least weekly so you can come with feedback. You should take on the role as the ”Tester” yourself as well as project manager. As a tester you do 2 things:
Check that the work was done according to the ticket
Try to find bugs anywhere in the app
This way you can focus your vision and quickly see what works and not so you can tweak your product as you go along.
In the olden days you had to build the iPhone and Android apps completely separately. Surprisingly way too many of the highly regarded agencies will argue you still have to do so in order to get the authentic iPhone and Android look and feel. This is simply not true anymore. There are several options to having only to build one app. Many of them are so called hybrid solutions where you pretty much build a mobile website and wrap it up in an app. While the nativeness and performance of these are getting closer and closer to the real thing, they are still more of a hack for web developers to be able to build apps with web tech.
We at Clubbable use a platform now owned by Microsoft called Xamarin which produces true native apps with a single implementation. One of the advantages with Xamarin is that it uses the programming language C#, pronounced “C sharp” for which it is relatively easy to find really good developers for.
Make sure to get a really good developer who takes pride in writing quality code and to maintain top principles and procedures. It is time and money well spent getting a so called Continuous Integration build (CI) set up which checks that the app at least builds and perform some simple checks automatically for every change made. Over time the saved efforts will add up. For this we, at Clubbable, use BitRise which also produces the working apps sent to the store for the testers to install every night.
Other technical solutions we use:
Slack for team chat and various notifications
AppCenter by Microsoft for error/crash reporting
Facebook analytics to monitor how the app is used which also ties in magically with the advertising
Google Analytics is a given for the website
SendingBlue for newsletters
Twilio for masked number phone calls between guests and promoters
ZenSend for sms sending
Google docs for all documents
GIT (provided by Visual Studio Online) for storing all code
Xero for accounting
Fiverr.com to hire people for small jobs
Tip: Sign up for FbStart by Facebook for lots of free stuff including $500 advertising credit.
One mantra you will hear from every entrepreneur, including myself, that does sound counterproductive at first is: Do not keep your idea a secret! Pitch it to everyone who gives you 2 seconds of attention. Not only will you need to be excellent at pitching it in order to secure funding but this also will give you lots of valuable feedback and generate questions and angles you never would have thought about otherwise. Being able to get people excited about your project will be a constant challenge not least when it comes to PR and marketing so get started and definitely do not even think about keeping your vision to yourself until it's finished. Get started with pitching.
-But what if they steal my idea you think?
They will not! But if your idea is that great they will do so anyway once you release it. You just need to make sure you are doing it better than anyone else.
People often ask me: How much does it cost to build an app?
Well how much does it cost to build a house. That of course depends how complicated and refined it should be. Any developer would be able to build a calculator style app in a few hours while something like Facebook where the app itself is just a small part of the system will spend 2 billion dollars per year on research and development.
I can not disclose how much Clubbable has spent so far but the money would certainly buy you a decent villa or 2 :)