You’ve got an idea
You’ve had an idea for an app. It’s an exciting time. Everyone knows that there’s a ton of money to be made from creating an app that solves a problem.
Even if you’re not focused on the money and just think you know a great solution to a problem, it can really motivate you to take the next step.
You’re probably thinking you need to find a lawyer to write up a non-disclosure agreement. You don’t want your idea to be ripped off before you get a chance to get it up and running.
Whoa there nelly.
The first thing to know is that ideas are a dime a dozen.
I’m always happy to sign an NDA when potential clients approach Clean Commit… but not before I roll my eyes.
The amount of sweat, blood and tears that goes into creating a successful application is immense. As someone that gets paid to help entrepreneurs along this journey, the concept of stealing someone’s idea sounds like unpaid work.
This isn’t to say that a great idea isn’t worth keeping close to your chest. There’s no harm in getting the cogs moving early, but the chances of someone stealing your idea and taking it to the bank area very low.
So my advice is don’t start with an NDA. There’s plenty of other things to be putting your time towards.
Where to start
The first practical step is to check if your app already exists. Sometimes this can be a bit tricky if the app hasn’t made a big splash. You might need to plug a few different terms into Google, check the Play Store and the Apple App Store.
Once you’re certain your idea isn’t already on the market, it’s time to assess if it will make money.
There are a few major considerations that will get you to this conclusion:
- Does the problem have commercial value?
- Is the idea unique?
- Can the idea scale?
Does the problem have commercial value?
If people are willing to pay for a solution to the problem you’re solving, then it’s got commercial intent.
One easy way to figure this out is to use Google Keyword Planner.
To unlock Keyword Planner you’ll need to sign up for Google Ads. Don’t worry, it’s free and you don’t need to spend any money.
Once you’ve signed up for Google Ads, you can find Keyword Planner by going to the Tools and Settings menu, then Keyword Planner.
Now you’re in Google ads, you can search for search terms that represent the problem you’re solving.
Takes this example:
We’ve had an idea for a web-based application that will let users buy pre-made meal kits for baking their own muffins and cupcakes. The app will let them mix and match the kinds of cakes they want and will send them the ingredients to cook at home.
To validate the commercial intent of this idea, I’ve searched for “cake home delivery”. This phrase roughly represents the problem I’m solving.
Looking at the results, I can see that in Australia to get to the top of the Google results I would have to spend at least $0.98 but could spend as much as $5.17 for a single click.
This means other businesses are advertising for these keywords. And if other businesses are spending money on advertising, it means they’re making money from this traffic.
Please note that this method isn’t fallible. People often won’t be searching for the solution to a problem until they know it exists.
Gabriel Weinberg, the founder of Duck Duck Go talks about how startup founders are often 5 to 10 years ahead of the curve and need to wait for the rest of the market to catch up.
There are also situations where getting a large volume of users can open up monetisation doors through advertising and affiliate product sales. As a general rule, if your app is going to be free for users then it needs to be able to achieve viral popularity to be commercially viable.
Does it have a unique selling proposition?
Your app doesn’t need to be something that no one has ever seen before. Great apps often iterate on existing products to solve unique problems.
One of my team’s favourite apps is Figma. It’s revolutionised the way we collaborate on web design projects. Before Figma, we had to pass versions of static Photoshop files back and forth. Only one person could work on the design at any given time, and the feedback cycles were slow.
Figma solved this problem by adding a unique spin on an existing set of tools.
But at its core, Figma is just a different version of Photoshop. In fact, it’s actually got a lot less functionality than Photoshop.
The way Figma is positioned and the tools they’ve made available for web designers on Windows, Mac, and Linux made it the perfect fit for our business.
This is Figma’s unique selling proposition. It gives web designers all the tools they need to create beautiful, interactive websites and applications while collaborating in real-time with their online teams.
Having a well defined unique selling proposition is critical to the success of any application.
If your app doesn’t do something different then it’s not going to stand out.
Can the idea scale?
If your app relies on manpower, high levels of administration, or enabling local businesses, it may not be able to scale to the masses which is a key ingredient for success.
Going back to our cake delivery business, this idea has the potential to scale. While the app was gaining its first few hundred users, the physical preparation could happen locally or even in a home kitchen.
As the business grew to thousands of users, a warehouse and commercial kitchen could be brought into the equation to handle the increased volumes.
On the other hand, if your idea for an application was to create a framework for offering live training for aspiring home-bound chefs, then there would be a natural ceiling on how large the application could scale. You would eventually be restricted to how many training sessions could be offered each day.
There are usually ways to overcome scaling issues.
In the training example above, the model could be changed from live to recorded training. This would open up new timezones and eliminate how many sessions a day could be offered.
If you’re happy that your idea has going to make money, solves a unique problem, and can scale to the masses, then it’s time to start planning how it gets built.
Defining your requirements
Writing down what you want your app to be able to do is incredibly important, and it’s a step few business owners do properly. Forming a thorough set of requirements will:
- Lower the cost of hiring designers and developers
- Improve your chances of building a high-quality application
- Give you more control over the project
The advice I give to digital entrepreneurs going into a software development project is to think about your project like you would building a house. You don’t need to draw up blueprints or know the specifics of how the plumbing will be installed, but you need to tell the builders what features you’re expecting.
Should each room have a walk-in wardrobe? Do you want a double garage? Should there be a workshop somewhere in the house? More specifically, where should the power outlets be in the workshop? Does the door need to be a certain width to get new tools in and out?
The mistake we often see from enthusiastic entrepreneurs is that they have the outline of an idea, but haven’t thought through all the ways it could come together. It’s not that they don’t want to be in charge of this process, it’s simply that they’ve skipped over it.
How to write your requirements down
There are a number of popular ways to document requirements. The one we recommend is based on an agile methodology and focused on splitting the groups of functionality into “epics” and “user stories”.
Epics are large bodies of work that can be broken down into a number of smaller tasks (called stories).
Stories, also called “user stories,” are short requirements or requests written from the perspective of an end-user.
Here’s an example of how this format looks.
EPIC: Payment system
User story 1: As a user, I want to be able to pay with my credit card so I can purchase and receive my cupcakes.
User story 2: As a user I want the app to remember my payment details so I don’t have to type them out each time.
Writing requirements this way can be a little overwhelming. It helps to start with the app’s biggest features (epics) and break them down into smaller chunks of functionality.
The great thing about this approach to documenting your requirements is that you don’t need to understand how the requirement will be accomplished. In fact, you should avoid mentioning any implementation approach in the requirements.
Here’s what we mean by this. The first example is a poorly written use story because it’s prescriptive of how the requirement should be achieved.
As a user, I want to be able to submit a form that appears in a pop-up and have my results display as an animation so I know that everything worked.
In this situation, a form and a pop-up may not make sense. If that was the case, then achieving this requirement would either force the developers to build a less than perfect solution or not meet the requirement.
Writing flawless user stories takes a lot of practice, so don’t worry if you’re not nailing it on your first try. Just get as many of the features down as you can.
Figure out your promotion strategy
The next massive hurdle to overcome is working out how to promote your application.
Unfortunately, this challenge kills more apps than anything.
Gone are the days when you can throw up a new mobile app on the app store and expect people to see it. There are roughly 1,830,000 apps available on the iOS Apple App Store. Each day another 700 become available. These statistics don’t factor in how many new web or Android apps enter the market each day.
The sheer volume of apps is barely conceivable. Getting noticed among the volume takes strategy, work, creativity and money.
There are plenty of great write-ups about ways to promote a new application or service. Experts like Julian Shapiro have written extensive guide detailing the strategies. Even touching the surface of this topic would be a 5,000-word article of its own.
All we’ll say here is that you need to have a well thought out plan and start executing on it as soon as possible.
Getting your application noticed is 90% of the battle.
Time to build
Pick a partner
It’s time to find someone to help build your app. Your choices here are working with an overseas freelancer, local freelancer, overseas agency or local agency. There’s wild variation in prices and quality. We’ve tried to summarise the experiences below.
Overseas freelancers can be found on platforms like Upwork or simply by searching for “app developer” in Google. They’re the cheapest source of labour and often live in India, Central Asia, and Eastern Europe.
- Immediately available
- Eagle to do a good job
- Poor communication
- No formal qualifications, or poorly trained
- Oversell their abilities and underperform
- Require a huge amount of management
- Often ask technical questions that will leave you feeling lost
We’d suggest staying away from overseas contractors unless you already know what you’re doing and want to bring in some hands to make the work go faster. In general, you’ll end up wasting money and wishing you’d worked with someone more experienced from the start.
The exception to this rule is if you’re working with an overseas freelancer that lives in a developed country, or has had experience working with a big corporate entity.
Local freelancers are a mixed bag. Professionals often walk this path when they’re sick of working for “the man” and want flexibility in their schedules. Sometimes you’ll find a local freelancer that is highly qualified, tertiary qualified, and very good at their job.
The price range on local freelancers is another variable that has a huge range. Affordable professionals can be uncovered, but you’ll find a few that charge rates only governments or big companies could afford.
- Can speak face to face which helps with communication
- Requirements are usually met
- They can give you advice and support that extends beyond the project
- They usually work solo and will be good designers or good developers but not both.
- Sometimes they’ll overinflate their rates because their time is in demand
- Can be slow because they spread across multiple projects
Local freelancers can be a great choice depending on the complexity of your project, and how quickly you need it done. Do your research before committing to working with someone. Make sure they fully understand what you want to build.
Overseas agencies share a lot of the same traits as overseas freelancers, however, they usually have a wider range of skills and their prices are a little higher. The work they produce is typically pretty poor quality and communication can be just as difficult.
The biggest disadvantage we’d caution against when working with cheaper overseas agencies is their tenacity in pushing the project down the easiest possible path to maximise profit and reduce effort.
- Usually have designers, developers and project managers so you get a better overall service
- Can accomplish more work in less time
- Communication is usually a struggle
- They can force the project to deviate from the requirements
- Code is typically poor quality and hard to maintain
If you can afford to work with a local agency, they’re the best choice. The price you pay to hire a local agency is naturally going to be the highest because they carry overseas that individuals don’t.
In saying that, when you work with a reputable local agency, you give your idea the best chance of turning into a worthwhile product.
- Good communication and will help you understand what is required to make the project a success
- Usually stick to project management methodologies, increasing the chance of the project finishing on time and achieving all the requirements
- Staffed with the specialists required to produce a high-quality product
- Carry greater overheads and higher salaries, so the cost of the project will be much higher
- Like individuals, agencies are a mixed bag and you still run the risk of ending up with a bad apple
Do your research and reach out to several agencies to get quotes and feel out their experience. Most agencies will specialise in one area; websites, web apps, mobile apps, eCommerce, etc. Try to pick one that aligns with your project.
Build it yourself?
If you’re strapped for cash but have plenty of time on your hands, you could try to build the app yourself. There are countless training courses and suggested learning paths that will guide you down the road to becoming a developer.
You’re looking at at least a year of committed study, consistent learning, project planning, designing, coding, and testing before you’ll have any kind of app worth showing off. Even then, the chances of your app being maintainable and scalable are low.
That’s not to say that it’s impossible to build a valuable and successful app by yourself if you don’t know how to code. But the stories you’ve heard about guys that built their own platform in three months without knowing how to code are often inaccurate.
Writing effective code is hard. Designing a good looking, usable product is tricky. Capturing accurate requirements and planning a project is anything but straightforward. Making it all happen by yourself is very challenging even for experienced professionals.
Start with a minimum viable product
Unless you’ve got deep pockets or have investors backing your project, your mission will be to monetise your application as soon as possible. This version of your platform is called the “minimum viable product” or MVP for short.
The MVP is the core product with no fancy bells and whistles. Just the minimum amount of functionality that you believe is useful to users.
It’s very hard to get an application right on the first try. Just about every hugely successful application you’ve ever come across started small and then built up to where they are.
The quicker you can build an MVP and start getting feedback from users, the greater your chances of being successful. Letting your app evolve from user feedback is a recipe for success.
Iterate with feedback
The software development lifecycle should be cyclical rather than linear. Launching your app is just the start.
Once your app has launched and users are actively using the platform, you need to find a way to capture their feedback.
What challenges are they having with your app? Which features are missing? Which features do they find confusing, or do they think are pointless.
There are a few ways to do these kinds of surveys, but assuming you collected user’s emails when they signed up for the app, sending them an email is usually the simplest approach. Keep in mind that people usually don’t complete surveys for free. You’ll need to reward them in some way; Amazon gift cards, a free month of your service, or some other tangible remuneration.
Triage and build
Not all feedback will be worth acting on. You’ll need to assess the features in your backlog to figure out which ones are going to move the needle the most.
It’s also worth keeping in mind how much effort (and cost) will be required to achieve each change. You don’t want to dump a bunch of time, effort and money into a feature that doesn’t make your app more enticing or useful.
Our aim in writing this article was to provide some direction after the intoxicating moment of having an idea for an application that could change the world.
There’s a lot of deep thought, rigorous planning and careful executing that is required to turn a clever idea into a usable app.
If you’re committed to the idea and have the capital to get it off the ground, be sure to get everything written down and do your homework. The more prepared you are the better your chances of succeeding.