10 Step Guide How To Make An App in 2021
by Chris Ching
If you’re curious about the app making process but not sure where to start, this is the guide for you!
Here I’ll give you a comprehensive step by step guide from idea to execution. To make things easier, feel free to jump around based on your goals:
- Get inspiration for a great app idea
- How to validate your app idea is a good one
- How to further flesh out your app idea
- Ways to build/implement your app idea
- Tips/advice to get your app noticed in the App Store
If that sounds good to you, let’s get started!
How to make an app for beginners in 10 steps
- Generate an app idea
- Do competitive market research
- Write out the features for your app
- Make design mockups of your app
- Create your app’s graphic design
- Put together an app marketing plan
- Build the app with one of these options
- Submit your app to the App Store
- Market your app for maximum exposure
- Improve your app with user feedback
- Bonus: App making resources
Generate an app idea
If you already have an app idea, then you’re set. Go to the next step!
However if you’re still working on having a great idea for an app, I’ve got a handful of really good techniques to help you come up with your next hit app idea.
First keep in mind that there is rarely a completely new idea that is born from nothing.
There are over 4 million apps in the Google Play and Apple App Store combined according to Statista.com:
Most ideas are variations and combinations of old existing ideas. If you keep this in mind, it opens up your mind to think more creatively. Alright, on to the first technique:
Technique #1: The Remix Technique
One way to come up with a great app idea is to put a twist on an existing idea or try to combine elements from various apps that you like.
This happens all the time and produces great results!
For example, Words with Friends, a popular mobile game from Zynga is basically Scrabble but online with social and multiplayer features that makes it easy to play a long game in short pockets of free time.
This is none more apparent than with the multitude of dating apps out there. Every month there seems to be a brand new dating app coming out that targets a different audience or with a set of features (usually not new) that aren’t in “other” dating apps.
Here’s how you can do it for yourself:
Think of a few apps that you use very often. Is there a way that you could take the most useful features and meld them together to form a new type of app?
Got your app idea juices flowing? Skip to the next step!
Technique #2: Scratch your own itch
I love this technique because often times, the simplest ideas produce the greatest results. These simple ideas rarely come out of a brainstorm for app ideas.
Instead they’re born from a problem that you face yourself in life. Chances are that if you have this problem and you’re trying to find a solution for it, other people are as well.
If the problem can be solved with an app, that’s a really good reason to create one!
Write down any of these ideas even if you know an app already exists to solve this problem because as you’ll see in the next step, there may be an opportunity to make a better app than what currently exists.
Technique #3: Improve an existing app
Have you used an app and thought, “It would be so much better if this could do X”? If so, that’s the creative spark of a really good potential app idea!
There’s always room for improvement so if you thought that an app was sorely lacking a useful feature, chances are that you weren’t the only one to think that.
If the original app author isn’t constantly updating and improving the app, then there’s an opportunity for you to create an even better app.
One way to figure out whether or not you’re right about this is to check the reviews and ratings for the original app.
Are people complaining about the same thing? Are they complaining about something different? Is the app author listening to the feedback?
As you’re going to see, listening to user feedback and improving your app based on that feedback is probably the singular driving force to the success of an app.
An absent app author is sentencing his or her app to a slow death of user attrition.
The next step is to validate your idea to make sure that it has a chance to thrive in the app store.
Do competitive market research
Now we need to figure out if the problem that your app solves is being solved by other apps.
**NOTE** If your reasons to make an app is to get some good ol’ experience with the process (and not duke it out with the other guys) you can skip to the next step 🙂
Don’t be disheartened if you see other apps in the App Store that already tackle the same problem that your app does. Remember what I said earlier, there are no new ideas and there is always room for improvements.
Actually, this can be a good thing because that tells you that your idea is viable and there is a real need for it. That’s why there is competition!
The key is to uncover HOW WELL the need is being met by these other existing apps.
Potentially, these apps may be out of date or the app author may have stopped updating them.
Or maybe none of them meet the mark of what the audience REALLY NEEDS and WANTS.
Scroll through the ratings and reviews of any competing apps you find. Take note of the following:
- App Name
- Feature set
- Price/monetization scheme
- App publisher
- Last updated
- Ratings and Reviews
You might want to create a matrix or spreadsheet to keep track of your results. This research that you’re doing right now is going to create the starting point for the features to include in your own app and which ones to focus on first.
Here’s what you’re looking for:
This is mainly just for identification purposes to keep track of the various apps you’ll scope out. Some people do put keywords as part of the app name as well. As you go through the list of the competing apps, see if you notice any specific words that keep coming up in the title of the app and consider using such a keyword for your app title.
Write down all of the features for each competing app. Make note of:
- What the core features that all the competing apps have
- What are the features unique to each of the competing apps
- What features might be completely missing from any of the existing apps
Later on when we look at the reviews, you’ll also try to see if users mention specific features that they love or hate.
Is it a one time fee for the app? Is it free but monetized in some other way? The reason it’s important to take note of this is two fold:
- How do the users like the way it’s monetized? For example, some people hate ads and would rather pay for an app than to deal with ad banners inside the app.
- You can potentially monetize your app differently. For example, if the app is good but too expensive, you can find other ways to monetize your app.
Who published the app? Is it an individual or a company? (Or is it a one-man company?)
The point is to see who you’re up against. Large companies have big budgets for marketing teams and often have a team of people just working on a single app. It would be hard to compete head on. I’m not saying don’t compete but we might have to have a unique angle with our app rather than trying to battle it out feature for feature.
If it’s an individual’s name then it’s typically a single person and that gives us a little bit of reassurance if you’re planning to go about this alone.
Sometimes if the app publisher is a company name, it could just be the company that the individual has registered. Visit the company website listed to try to figure out if it’s a single person or a big company.
You’ll often get your answer by visiting the contact or about page. If there’s an entire team on the about page or if there’s an address for an office building on the contact page, it’s probably a sizable company.
You want to figure out how well this app is being maintained. If the app author hasn’t updated in a long time, then there’s an opportunity for you to take the market share. However if the author is frequently updating the app then you’ll want to make a note of this because this app will be competing with you actively.
Ratings and Reviews
How are users rating this app? If the app is rated badly, try to figure out why. Is it a lack of features? Is the app broken? This insight will help you avoid those pitfalls.
On the flip side, if the app is rated highly, download it and try it out for yourself, paying special attention to the feature set and user experience. You’ll want to sift through the user reviews to see why users like this app so much. This will guide you in how you design, plan and prioritize the features for your own app.
Whether the app is rated poorly or highly, there’s something to learn here. Sift through every single review and figure out what people are saying and why they’re saying it. This is invaluable user feedback that you didn’t have to pay for (in terms of dollars or blood and sweat) to find out!
The number of downloads for an app isn’t written on the App Store app listing but there are tools out there to “spy” on apps and get this information as an estimate. For example, SensorTower is one such tool that let’s you see the estimated number of the number of downloads of an app for free.
For example, here’s Netflix’s stats:
Validate your idea
Now on the flip side if not much competition exists for your app idea, it could be that it’s such a new and novel idea that no one has ever thought of it before or it could be that the idea isn’t viable.
Start by deconstructing your idea a little bit so that you can succinctly convey the idea, audience and purpose of the app in 30 seconds to someone. Then practice delivering that elevator pitch to yourself in the mirror so that you’re comfortable saying it.
It would be sad for someone to dismiss a great app idea because they can’t understand it or the messaging is muddled.
When you’ve got a clear description of your app idea and you’ve practiced your explanation, try pitching it to your close family and friends. These people won’t hesitate to tell you the truth. Ask them to play devil’s advocate and try to poke holes in your app idea.
That may uncover something you hadn’t thought about or it might force you address something you brushed aside in your excitement.
If you’re getting good vibes about your app idea from this step so far, let’s move on!
The more people you pitch your idea to, the better. Strangers, friends of friends, people on the internet etc. Don’t be afraid to communicate your idea. Just remember this insight from Shark Tank Investor Chris Sacca – “Ideas are cheap, execution is everything.” If you’ve gotten this far, you definitely take a pragmatic approach to your goals which is a good thing 🙂
Write out the features for your app
This part is a lot of fun because you get to dream! Take your app idea and imagine what a perfect version of your app would be.
The vision will undoubtedly evolve and change based on actual user feedback and testing but for now, the sky’s the limit. Get it all down on paper and realize your idea and breathe some life into it.
If you want, you can also think about how you will monetize the app. I do recommend that this shouldn’t be the main focus of your app idea though. In the beginning stages of an app, user adoption is always more important.
When I was doing software consulting, this process was called business requirements gathering and it was the most important phase of the project because it helps clarify what clients wanted.
During this phase we sat down with the stakeholders and ironed out every single detail and documented the heck out of it. If there were any confusions down the line, we would be able to refer back to this document and review what was initially understood.
Now you don’t have to be super rigorous and detailed for your own app idea but it’s still a good idea to identify the overall goal and strategy to your app idea as much as possible now. Once you get into execution, any changes you want to make could potentially mean lots of wasted work and effort.
You don’t have to decide on how many screens the app will have or what is on each screen; that’s for the next step. But what you want to iron out is what the user will be able to accomplish in the app.
For example, if your app idea is a social networking app, then you might start writing:
- Users will be able to create an account.
- They can create a new account using an email and password or they can login with Facebook, Twitter and Google.
- Users will be able to set a username, profile photo and short bio.
- For the profile photo, the user should be able to select an existing photo from their photo library or take a new one with the camera from inside the app
Decide on the core features for an MVP
MVP was a concept that i first heard from The Lean Startup by Eric Ries. It stands for “minimum viable product” and the idea is that it’s better to launch a small (but still useful) version of your product first so that you can get it into the hands of actual users.
That will help you get real world feedback from real users which can guide and correct your understanding of what people actually want.
Based on that feedback, you release an update to your app with more features and again, get it into the hands of users for feedback.
You repeat this cycle over and over and eventually arrive at a product that perfectly fits what the market wants.
Contrast this with spending a ton of money and time to build something and then finally launch it… only to find out that people didn’t want it. Never build in a vacuum.
So take a look at all of the features you wrote down and think about what a simplified version 1 would look like. Make sure that the app can still be useful to your audience and solves the overall problem but it doesn’t (and shouldn’t) have all the bells and whistles for phase 1. More than likely, the bells and whistles you thought of might turn out to be not what your users needed in the first place.
Any feature that doesn’t directly contribute to serving the overall purpose of the app can be considered for phase 2. All of the essential features that are left will be your minimum viable product!
Make design mockups of your app
Now you’re ready to start thinking about how to design an app that is intuitive and easy to use. What will the user see and how will they interact with your app to use its features?
Usually I just start with a pencil and notebook or piece of paper because everything is in flux and there’s a lot of rough sketching as your develop your ideas.
Can you separate the functionality of your app into distinct sections or screens? These directions will be somewhat general since I don’t actually know what your app idea is but I find the best way to do this is to imagine yourself using your app.
How many different sections make sense for displaying the information that you need to see?
For example, for a stock portfolio app, there might be a screen for the watchlist of stocks, another screen for the stocks in your portfolio, a screen that displays detailed information for a specific stock and another screen for managing the settings for the app.
Once you have a fair idea of the screens you’ll need, move onto the next step. You’re not going to get it 100% right at this point and it’s completely normal to make changes during this design process as you move along!
Now that you have the main sections of your app, think about the main mechanism for navigating around inside of your app.
Is it going to have a tab bar at the bottom? Or maybe it’s going to use a slide in side menu to navigate to the various sections of the app?
I would recommend taking a look at some of your favourite apps and paying attention to how you navigate around the app.
The best type of navigation is one that feels natural and intuitive. If you had to think about how to get find something, then that’s a problem.
There’s a great book on information architecture and usability (which is what you’re doing right now) called Don’t Make Me Think by Steve Krug.
What is Usability?
Usability is a term that describes how easy it is to use a product/service for its intended purpose.
It’s part of a wider topic called User Experience (UX for short) that studies how a user feels towards a product as he or she is using it.
As product designers (yes, apps are considered products!), we can inspire delight, awe and satisfaction from the user by how we choose to design our app.
For example, we can make our app intuitive to use so the user can get value out of the app without having to struggle and we can hide small unexpected animations to delight the user.
In this step of the app development process, we’re focused on maximizing usability and making the app as easy to use as possible. This comes down to deciding what to display on each screen and how to arrange the user interface elements on the screen.
There’s so much that goes into designing an app that is optimized for usability. For example, imagine holding your phone in one hand and trying to tap on a button near the top of the screen… your thumb doesn’t reach that far up!
So this is an example of the things you need to keep in mind when you’re designing your user interface.
My advice? Spend a few hours reading about usability basics and then go for it. The Apple Human Interface Guidelines is a great place to start.
It’s not going to be perfect with the first try. Once you get your app into the hands of real users, you’ll get a ton of legitimate and practical feedback.
At this point, all you can do is try to follow UX best practices.
It’s a little bit early but keep in mind that you might want or need a little welcome tutorial on how to use your app.
So if your app is especially complex, you can rely a little bit on an onboarding sequence to educate the user.
Now in terms of putting pencil to paper, there are a variety of tools that you can use instead of pencil and paper (there’s nothing wrong with that by the way; i love doing this process in a comfy chair with a notebook and pen).
However, if you’d like to create your mock up digitally then you can take advantage of the following digital tools:
Sketch is the industry standard for mobile app design and prototyping. Vector based design means that your artwork can scale to any size without compromising quality. This is very important, especially with the various screen sizes of devices these days. The only downside is that Sketch is only for Mac.
I consider Figma as a close equivalent to Sketch with some benefits. Figma is browser based which means that it can be used on PCs or Macs. Figma offers great collaboration features for teams. Figma is free to use and you only have to pay if you want to use the aforementioned collaboration features. Check out my video above to get started on using this tool!
InVision Studio is a newer tool compared to the Sketch and Figma but some of the prototypes that I’ve seen come out of this tool have been very convincing. For PC and Mac.
Framer X is another prototyping tool that looks really easy to use.
I would recommend that you check out Figma first simply because it’s free to use and is very powerful for the price. 😝Sketch is going to have the most support in terms of templates, plugins, tutorials and all that. However Figma is considered an equivalent so most third party products support both Sketch and Figma.
Create your app’s graphic design
Now it’s time to bring your app to life visually by designing exactly how your app will look like.
It’s sort of like those pre-construction condo brochures showing concept art of how the condo will look when it’s built.
You’re creating a graphic design that:
- Represents the look of the final product
- Can be used in presentations to sell potential investors or partners
- Developers can use to integrate the graphic assets into the project
The user interface and user experience (UI/UX) of the app will be hugely impacted by the work that you do in this step.
That’s why I recommend that you get some help from a professional graphic designer who has proven work designing app UIs if it’s very important that to you to have a slick, professional looking app.
However, as with everything, there are always options.
Here are some ways to make an app design:
- Hire a professional designer to create an app design for you. You can use sites like Upwork and Toptal to find a freelancer. However, what I like to do is look through Dribbble, Behance and Pinterest for UI and app designs that appeal to me. When I find a design that I really like, I’ll check out the designer’s profile and see if they do any freelance design work.
- Look for a partner who is a designer that has experience designing mobile apps. If you know someone in the tech industry, ask them if they know any designers who might want to do some work on the side. You can also attend local meetups to meet designers or people who might know someone.
- Use a pre-done app design templates. Some sites sell app designs which you can purchase and then customize or pay someone to customize it for you. It’ll be a lot cheaper than hiring a designer to create a custom app design for you, but keep in mind that your app might look like another existing app that used the same template you bought. Check out these resources: Material Design Kit,
- Learn to make your own app design. If you enjoy design, you might want to roll up your sleeves and learn how to design an app yourself! However, be warned that it might take you some time before you can create something decent! I highly recommend Design+Code for learning how to design your own apps.
Once you have your app design done, you can proceed to building your app. Personally though, I like to create an app marketing plan first.
Put together an app marketing plan
There are almost 2 million apps in the iOS App Store. In order to make sure that your app gets seen, you need to have a plan to market it to the right audience.
These days, a lot of the marketing work happens before the app is launched! For example, building a pre-launch email list is standard practice these days as well as leveraging paid marketing to promote your app.
Here are a list of app marketing strategies you can follow pre-launch and post-launch to make sure that you put your best foot forward!
Things you can do before your app is published:
- Build a landing page for your app and build a pre-launch email list: It’s important that you have a landing page for your app at the very least so that people have somewhere to visit to learn more about your app. Make sure you add a call to action for people to sign up to a pre-launch email list to get notified when the app launches. To start collecting emails for free, sign up for an email service with a generous free-tier like Mailchimp. In terms of building a landing page, you don’t need to know how to code. There are tons of drag-and-drop landing page builders such as Leadpages or Unbounce. In fact, Mailchimp also has one for free.
- Include a media kit for your app: This one is often overlooked. A media kit is simply a package that contains some key information about your app and all of the logos for your app. It makes life easier for journalists who want to write about your app and who wouldn’t want more press? Simply create one and add a link to it from your app landing page.
- Document your journey: I love this one because it’s so organic. Publicly document your journey while you’re getting your app built! Whether you’re a developer yourself or not. People are interested in following along and hearing what it’s like to make an app! You’re building an audience for free by simply sharing your stories, lessons learned and progress. When your app launches, you’ll have an audience that will support it right off the bat.
- Make sure you’re familiar with App Store Optimization (ASO): If you’re unfamiliar with this term, it refers to optimizing your keywords, titles and description of your App Store listing. I get all my ASO education from Steve Young.
Things you do after your app has launched:
- Do a press release for your app: These are relatively cheap to do and can get the attention of some online news and magazine outlets. Here’s a great guide to how to write a press release for your app.
- Consider paid marketing: If you have a bit of marketing budget, doing some paid marketing can really give your app a boost. Unfortunately, there are so many different types of paid marketing that you can do that it can be overwhelming. I’ll talk about the most effective paid strategies later in this article.
- Email your pre-launch email list: Once you’ve launched, don’t forget to let everyone know! Email your subscribers and update your audience!
- Hustle and get the word out: Whatever niche your app is in, find relevant forums, Facebook groups/pages, sub-reddits etc to promote your app! Don’t just join and start promoting; if you do that, you’ll probably get banned. Instead, join in the discussion and mention your app where it’s relevant and can help people. Here’s something even better: share your app development journey in these relevant groups and you’ll gain a hungry audience waiting for your app to launch!
Follow this app launch timeline for when to do app store optimization, when to pitch your app to Apple for a feature and when to issue your press release.
Build the app with one of these options
This is the step where you actually bring to life your app from the design and requirements document that you created in earlier steps. By the way, this is the stage that I get excited about! You’re about to create something tangible 🙂
Just like the previous steps, you have a couple of options to make your app. If you’re also curious how much each of these options might cost, check it out here:
- Learn to code and build it yourself: This is most time consuming option but you’ll gain a valuable and in-demand skill to build your own apps or get a job as a developer. If this option appeals to you, check out our free resources to start learning iOS development and how to get started.
- Hire a freelancer: If you’re more interested in the business side of things then investing the time to learn how to code might not be a wise move. Instead, invest funds into hiring someone to build your app for you. Check out sites like Freelancer.com or Upwork.com.
- Hire an app development company: The difference is that an app development company will provide consulting and project management services whereas a freelancer will look to you to provide direction. However, hiring a company will cost a lot more than working with freelancers.
- Partner with a programmer: Another option is finding a programmer to partner with. The problem is that it’s really tough to find a willing partner unless you have a proven successful track record of launching businesses (because so many people are looking for technical partners).
- Use an app builder: If you’re looking for how to create an app without coding, this is for you. There are services out there where you can get an app built by selecting a template and making cosmetic choices to change it. Typically these platforms charge you a monthly fee to keep your app running. Check out this guide for a list of app builders.
- Buy an app template and customize it (or pay someone to): With this option, you’re buying pre-packaged code that contains the core functionality that you’ll need (if you can find a template close to your app idea). These templates are usually a one time fee and then you can either hire a freelancer to customize it or learn some programming and customize it yourself (Use my guide on how to code an app for beginners!).
Once your app is built, the work isn’t done! It’s time to test the app for bugs and errors. In software development a “bug” is something that’s causing the app to not work as expected.
You want to solve as many critical bugs before launch as possible because the first impression for a user is very important. If your app crashes or doesn’t function then there’s a high chance that the user will uninstall your app right away.
Submit your app to the App Store
Here’s the exciting part! You’re finally ready to launch your iPhone app into the App Store so that millions of people can download your creation!
There’s one more hurdle to overcome and that’s Apple’s App Certification Team.
Here’s how it works:
- Make sure your app qualifies: Review it against these App Store guidelines. Fix up anything you need to first.
- Fill in your app meta data: App Store Connect is a website where you can create your app listing and fill in all the important details such as title, description, keywords and more. You’ll also set your screenshots and any preview videos that you want to add.
- Upload your app from Xcode: to App Store Connect. From Xcode, you package up your project and ship the code to App Store Connect under the app listing that you just created.
- Go back to App Store Connect and submit your app to review: Now that you’ve got your app meta data and code in a neat and tidy package, it’s time to add any notes for the reviewer and submit it to the App Certification Team.
- Wait anxiously for a reply: That’s right.. you have to wait for someone to manually review the app that you’ve submitted! They’ll be checking your app against the App Store guidelines (good thing you checked this in step 1!) and that your app doesn’t crash or provide a negative user experience.
- Get approved! Within about 2-3 days, you’ll get an approval or rejection. If you get a rejection, don’t worry about it. It happens to all of us. You just have to fix whatever they didn’t like and resubmit it! If you get an approval, then it’s time celebrate!
When you get to this step, check out our guide on how to submit your app to the App Store!
Market your app for maximum exposure
In addition to executing on your marketing plan, here are some high-impact app marketing strategies you can use.
- Get featured by Apple in the App Store: If you pull this off, you’ll win big time. Although there’s no guaranteed way to do this, there are things within your control to maximize your chances!
- Run a paid-to-free campaign: If your app is a paid one, going free for a short period and getting the word out there during that period can generate mountains of downloads. Here’s a case study of how one of these campaigns generated 100K downloads!
- Step up your ASO (app store optimization) game: ASO doesn’t end when your app launches! You can still affect the discovery of your app within the App Store by tweaking your app meta data. Use this 5x app store optimization strategy for the best tips on how to do that.
- Influencer marketing: This is surprisingly a great strategy for apps! Find influencers who have audiences that fit your apps target demographic and ask them if they can do a shoutout or mention of your app. They’ll quote your some prices and you can go from there. Here’s a great video guide on how to decide on the right influencer to market your app with.
Improve your app with user feedback
The key to a successful app is continual improvement!
Once your app is in the hands of real users, you’ll start getting some feedback.
Some good and some bad.
Take the criticism positively and be thankful that someone is willing to tell you how to improve because if someone is speaking up, there’s most likely more users that feel the same but aren’t willing to speak up.
Show your users that you’re not abandoning your app after the launch.
Show them that you’re constantly improving the app and releasing bug fixes, new features and app updates.
Over time, you’ll beat out the other mobile apps in your niche that aren’t doing this!
Use SKStoreReviewController to maximum your collection of user ratings and feedback.
SKStoreReviewController is a tool from Apple that you can add to your app. It helps you gather feedback by prompting the user to submit an App Store rating and feedback for your app. Installing it is really straight-forward so there’s no reason not to do this!
App making resources
If you made it all the way here, give yourself a pat on the back. I hope I’ve answered your questions about how to make your own app!
Are you pumped up to learn iOS development? I’m right here with you!
Here are my best resources for people who want to learn how to develop iOS apps:
- 14 Day Beginner Challenge: Get started on your app journey the right way with the most popular video series on my YouTube channel.
- How To Become an iOS Developer: Learn what skills you should have, where to find jobs & how to prepare for your interviews!
If this guide helped you, let me know by leaving a quick comment down below. Lastly, please share it with anyone you know who wants to build an app! Thanks!