How to Build an App From Scratch

build an app from scratch

Show Article Summary

Show Full Article

If you want to create your own app, here is a list of steps you can take to reach your goal. Note that I am not a fan of spending money when you don’t need to, so while I realize that there are a zillion companies out there that say “Pay us and we’ll create your app for you”, and there are also a lot of app-creating software programs (that cost quite a bit, I might add), I believe in FREE. So if you want to pay someone to create your app for you, this guide will not be very useful to you because I am not covering those methods and companies.

If you invest the time and effort, you can create a great app, possibly make a lot of money, and you can do it all for free (or nearly free). That’s what this guide is about. But of course, you have to invest time and the effort. But it is very doable!

1. Brainstorm Ideas

If you already have a great idea for an app, you can skip this step. But if you don’t have an idea or are wondering if your idea is a good one, here are some helpful tips.

Think NEED before MONEY.

If you solve a problem that a lot of people have, you will get a lot of downloads and the money will come. Don’t focus on the money, though. If you do this just to earn money, chances are you will flop. If you really put effort into making sure your app will solve someone’s problem (or make their life easier, or entertain them), you have a much better chance of creating a successful app.

Validate Your Idea First, if You can.

You don’t want to go through all the time and trouble of creating an app only to find out no one is interested in it, and it flops. If you already have an email list or a good bunch of friends and family, try validating your idea with them first. Tell them, “if there was an app that ____ (did this), would you want to get it?” Post the question on your social media accounts and ask there. You can also get feedback this way to tweak your idea so that it’s more in line with what people want. They might suggest features to add or provide other helpful information.

Other ways to validate your idea include (a) doing a search in the Google Keyword Planner tool to see how many times people are searching for that keyword or phrase a month, or (b), look on amazon and see how many products and ebooks are selling relating to your idea (convert amazon’s best-seller ranking into the number of books (products) sold with Jungle Scout’s converter here:

A lot of people don’t want to validate their idea because they think, “My idea is golden! Someone will steal my idea!” But the fact is, ideas are a dime a dozen. Every idea for a new product is shared by probably a thousand other people (or more). Most ideas aren’t original, only-I-have-that-idea kinds of things. But who actually takes the time to work hard, dig deep, learn what they need to learn, and actually bring the idea to life? Uhhh...maybe 0.2% of the people who actually have the idea will do that. So I wouldn’t worry too much about someone stealing your idea.

Besides, it’s perfectly fine for people to have the same idea. I mean, come on, look in the App Store. There’s a hundred calendar apps, a whole lot of note-taking apps, etc. It’s fine to do what somebody else did. It’s just important that you make yours better! When Google started their search engine, there were already several search engines in play - and they were being used by nearly everybody. Did they say, “Oh - that idea’s already taken; we’ll never replace those search engine giants”? No. They did the same thing, but they did it better. And look how that turned out.

Investigate What’s Currently Available

Look in the App Store for apps that are similar to what yours will be like, and investigate them. Are they popular? Is there a market for this kind of thing? Are they getting a lot of downloads? Read people's reviews. Are there features missing in these apps that you could put into yours? Read and see what the people want and like and need. Incorporate those things into your app so that yours is better than what’s currently available.

Or, look at 2 or 3 different apps currently available in the App Store and see if you can combine them into a new, unique app.

Use an App Idea Generator

Search online for “app idea generator” or “Creativity generator” or “idea generator” (or something similar) to find more free tools you can use to jumpstart your creativity and come up with ideas, but here’s one to get you started:

Write nonstop for 5 Minutes

A lot of times when we’re trying to come up with ideas, we automatically edit them out immediately, which is a bad idea. We come up with an idea then automatically think, “Nah - that’s no good”, or “that won’t work”, and we forget about it. However, with a little more thought, those ideas might become great ideas.

So, to avoid automatically editing your ideas, sit down and just write non-stop for 5 minutes. Set a timer. Don’t lift your pen from the page (or your fingers from the keyboard) until the 5 minutes has elapsed. Just free-flow write anything and everything you can think of. Then later, go back, investigate, think, and then delete the ones you know are bad or un-doable - but only after mulling it over and considering all the possibilities.

Ask Friends and Family for Ideas

This is similar to “validate your ideas with your friends and family” (above), except this time, you’re using them to help you come up with ideas. Everyone (usually) has thought “I wish there was an app that____”. Just ask! You might be surprised at what they come up with.

Make Something that People Have to Do that is Boring into Something Fun

Let’s face it, people are bored easily these days, and there are a lot of things we have to do that we don’t really want to do because it’s boring and menial. Make a list of things that fall into this category, then brainstorm a way that you can create something to make these things easier or more fun. Study up on gamification techniques to start with.

A variant of this is to take something that people have to do that is time-consuming and make it easier and quicker. Sit down, make a list of things that take way too much time, then see if you can create something that would cut that time in half.

Listen to People’s Conversations in your (offline) everyday Life

Great ideas can come when you hear people say things like, “I hate it when____” or “I can’t find anything that will help me ______” or basically, anything else they complain about. Find out what irritates them, then see if you can come up with something that would make their life easier or solve their problem. Complaints are opportunities! People will gladly pay you if you come up with something that solves their problems, makes them laugh (or feel good), or makes their lives easier. So start listening!

Public Speaking for Kids [Infographic]

Think About the Future

Instead of just looking at what is, think about what life will be like 5 years on the future. Imagine it. Start there and work backwards. Is there something that you think will be popular or available then that your app could contribute to? Of course, this is all hypothetical, but it could provide a different perspective and different ideas.

Imagine a Way to Make Smartphones better

It seems that everybody has a smartphone now, and people are on them all the time. Think of things you could create that would enhance a smartphone’s functionality or usefulness. What utility can you create that would make their smartphone better or more indispensable? (I’m thinking of how the flashlight apps turn your smartphone into a flashlight, or how an app can turn your phone into a scanner, or how those little plugin devices enable you to scan credit cards and accept credit-card payments from your phone, etc).

2. Sketch Out Your App Idea

Once you have an idea for an app, take paper and sketch out what it will look like (or use Photoshop), include what features it will have, and how you want it to work. This makes it more concrete, and it gets it out of your head and into the beginning of a working prototype. Think about the design you want, as well. You might be able to find some design inspiration at

Don’t forget to include your ideas for the flow and navigation of the app - that is, how people will use the app and move through the different aspects of it.

Think about how you’re going to monetize it, as well. Do you want it to be free, but offer in-app purchases? Do you want to include ads? Design where you want the ads to be, and how big they’ll be, etc. You have to include this in your design. Do you want a banner ad that displays all the time (and takes up some of your app space), or do you want interstitial ads that pop up and take up the whole screen after a certain period of time (those are the ones they have to either click on, or click the “X” to close). Do some research on ad companies and see what’s available that pertains to your app.

3. Choose Which Language You’ll Learn and Write Your App In

What language you choose to learn and write your app in depends on several factors. It depends on the operating system you’re going to use to publish your app on, your app type, whether you’ll make it licensed or open source, and your user’s needs. Here are some of your options.

First you need to figure out if you’re going to build your app mainly for iOS (Apple) or Android or some other system, or for more than one operating system. To help put things in perspective, a report by Statista shows that smartphone sales passed 1.3 billion in 2015, with Android being the most common choice.

smartphone sales

When it comes to choosing which language, you have several options. These are the most common choices. There is a lot to consider, and I’ve tried to give a brief overview, but you should definitely research and learn as much you can about each one to make the best choice for you and your app. This is just a starting point, so do more research on your own.


Java is the most used app development language, followed by Ruby and Python, according to a report by VersionEye.
One of the benefits of using Java is that the Android OS is written in Java, so if you learn Java, you will be able to create Android apps of all kinds. Java is open source, it’s independent of a specific platform, and it has a lot of uses in the real world, including Blu Ray.


Buildfire.js helps cut the time and expense required to build mobile apps by using it’s Buildfire software development kit (SDK) using nothing more than javascript. It’s available for free, and you can read more about it, including how it works, what it does, and how to get started, here.


Python is one of the top 3 development languages, and it’s actually not that hard to learn. It has a lot of real-world uses, too. Dropbox is written in Python, so is Reddit, Quora, Instagram, and YouTube. You can create any type of mobile app with Python, and Python runs on Windows, Mac, Unix, and Linux.


Swift is an open-source language developed by Apple in June 2014. Swift is used on macOS, iOS, watchOS, and tvOS. So if you want to create an Apple app, Swift may be the choice for you. They are currently on version Swift 3. You can learn more about Swift here. It is a simplified version of Objective-C, and it requires less coding than other languages. If you’re looking to get hired using your Swift programming skills, it’s useful to know that Swift developers generally earn the most money.

developers pay

There is talk that Google is possibly going to switch to Swift, and if that happens, the demand for Swift developers will probably skyrocket, and the other programming languages will probably not be able to compete with that. Read this article to learn more about that.


Ruby was made popular by the Ruby on Rails framework, and it’s pretty easy to learn. Ruby is mostly used for backend development, though, and popular sites such as Airbnb, Shopify, Bloomberg, Hulu, Slideshare, and more have been built with Ruby on Rails. To see some of the real-world applications that use Ruby, see this list. In order to use Ruby to make an app, you probably have to use the Rhodes framework. I, personally, have not used that framework, but you can read about it here.


C++ is a language based on C. It is designed for programming systems software, but has also been used to build games/game engines, desktop apps, mobile apps, and web apps. C++ is considered to be kind of hard to learn for beginners. Some applications built using C++ include Amazon, Paypal, and Chrome. This, too, is a language I personally do not use, but here’s some reasons why you might want to use C++ to code an app.


SQL is a query language that connects and communicates with databases. You don’t build a mobile app in SQL, but you might need to know it if your app is going to be using a database.

How to Teach Yourself Art

Some other options include C# (C sharp), Objective-C, and HTML5 (for mobile app development, has to be used in conjunction with javascript and CSS. You probably have to use a framework like PhoneGap).

4. Where Do You Start?

Once you’ve decided which language you want to learn, my advice would be to try to learn as much as you can for free. Websites and apps like CodeAcademy, Khan Academy, and SoloLearn can provide a lot of introductory information for free. And don’t forget your library. I learned HTML, CSS, and PHP for free just from books I got at my local library.

It’s one thing to learn the theory of programming, but the real learning just comes from sitting down and practicing. It takes a lot of real-world practice to get it right! Write code. Then write some more. When you’re stuck and something doesn’t work, post your questions at Stack Overflow. The community there is extremely helpful (just be sure to read the rules and follow the rules, because if you don’t they WILL remind you, sometimes rather harshly).

Another technique I’ve used includes hiring an expert in the language I’m learning on freelance websites. When I write code and it doesn’t work and I need to know why, I sometimes hire a programmer from India or one of the third-world countries (because I can pay them like $10 or $20 usually), and ask them to look it over and tell me what’s wrong. I’m not saying you should do this, because it’s a crapshoot whether you get a good person or a bad person. But I’ve done it several times, and it’s worked for me. It’s very helpful if you get a good freelancer who works quickly, knows what he’s doing and is willing to help you out.

5. What’s Next?

Now you’ve got your idea for your app, you’ve sketched out what it looks like and how it will function, you’ve chosen which language you want to write it in, you’ve learned the language and written your app’s code. What’s next?

Well, you probably need to monetize it. When you’re planning your monetization strategy, there are a few things to keep in mind. First, you don’t want the ads to be so intrusive and annoying that people delete the app and give it bad reviews. You don’t want ads that are too long or to put in ads that are hard to close and get rid of. Also, try to choose ads that go along with the content of your app. If your app has to do with travel, choose ads that advertise hotels or airfare or the like.

Also consider what people like. The fact is, people like free apps. In 2013, over 91% of all app downloads were free apps. See here.

To monetize your app, it’s great if you can find a partner who offers something to your users, and you guys can go in together and share the revenue. Also, you can earn money if you develop your own code from the ground up and it proves to be successful, becauseus other brands may approach you and offer to re-skin your app (either for their purposes or yours). By licensing your code to other developers, you can make money without disrupting your users’ experiences.

If you make it and it gets popular, you can sell the app on a marketplace like Apptopia.

Creating in-app purchases to level-up the app experience is a great way to make money, and it keeps people on your app instead of clicking off to some advertiser’s website. Or, you can create 2 versions of your app. One is free and has a few features, but they have to buy the Pro version to get more features.

And finally, when you want to find advertisers to put ads in your app, just do a google search for Android (or Apple) App Publisher Networks, and do your diligent research before choosing one to work with. Don’t just jump in. Take the time to read all the fine print, or spend the money and get a lawyer to look over any contracts and agreements before you sign up.

6. Check Out These Sites for Sure

And finally, before you code your app, understand what is required to publish your app on your chosen platform. You can find the Android documentation here and the Apple documentation here.

You can do anything you set your mind to.Benjamin Franklin
What Do You Think?
Do you want to create an app? Have you already done it? Do you have advice to share with others? Share your thoughts in the comments below.

Share this Post

  • Latest Posts
Michele Swensen is a writer and web designer who loves learning, animals, writing, reading, and playing the piano. She’s a member of Mensa and a college graduate.

Other websites include:


real anxiety help



abyssinian guinea pig tips

Xpressions Web Design

Michele Swensen is a writer and web designer who loves learning, animals, writing, reading, and playing the piano. She’s a member of Mensa and a college graduate.
FavoriteLoadingAdd to favorites

Here's what you'll find in this article:

  • Why You Shouldn't Pay Someone to Create an App for You
  • Strategies to Come Up With a Great App Idea
  • Sketch Your Idea - What to Include
  • Choose Which Language You'll Use
  • Where to Start
  • Monetization
  • Sites to Check Out

Download a List of 25 App Ideas

Get the List

FavoriteLoadingAdd to favorites