How to build iOS Mobile App for your start-up in 2022: A Practical Guide. Part 1.

arvis i am
7 min readOct 6, 2022

--

Learn how to build an iOS mobile app from scratch.

I’ll walk you through the whole process, from idea, collecting requirements to releasing to the Apple app store.

Requirements, use cases, sketches, design files, and source code will be available for your reference.

There are lots of tutorials, articles, guides, and tips on the internet on how to create mobile apps. Although I noticed that they have one thing in common; they are too shallow or cover some specific part.

While working as a software engineer, I’ve architected & built many apps both tiny and huge.

From time to time, I get questions about how to build a mobile app. I couldn’t find a good resource to share so I figured I’d create one based on what I think is the best way, where to start, and how to go until the app is released on the app store and how to do that the most efficiently without losing too much money while testing if your idea is worth developing further.

I thought it would be helpful/empowering to anyone who wants to create a mobile app.

What’s inside

In this tutorial, I’ll cover the step by step process of building an iOS Mobile App. Requirements, use cases, sketches, design files, and source code will be available for your reference.

The goal is to set up a development process that allows seeing measurable results after each step. No matter which way you will choose to create your app, you will know exactly what is going on next and what deliverables to expect.

I’ll do my best so that even non-technical creators could understand the process of creating a mobile app and how a well-structured and maintainable app is supposed to look so in case it gets traction it will not require a full rewrite.

What are the options?

No-Code App Builders. You can build the app using no-code app builders. It has a huge advantage to have the shortest time-to-market, with no coding knowledge required. But what can be built using it is quite limited, for obvious reasons because it’s a tool to build generic apps.

Outsourcing. There is also an option to build the app without coding by outsourcing to an agency or a freelancer.

With an agency, you’ll need to communicate your vision in meetings and check deliverables. Usually, they have rules and processes set, which you will have to follow.

Freelancer developers charge less, and have more flexibility while building the app, but require more control. Basically, you need to know what to ask for.

Build Yourself. That’s the cheapest option. But it requires quite a bit of time if you don’t have previous coding experience. There are many books and tutorials on the internet like iOS & Swift — The Complete iOS App Development Bootcamp which can help you get started.

Before the beginning

Before building the app, there are 2 main questions to answer:

- How will it be marketed? There are millions of apps available in the market. That means users have to have a very good reason to try out your app, and of course, in the first place, they need to know about its existence and how great it is. Otherwise, your app download metrics will look like this.

That’s the usual view without marketing. Your marketing should start way before launch.

Set up a simple landing page and drive your target audience for sign-ups, and collect feedback.

Depending on the app, consider connecting with potential customers on social media for additional feedback to have more refined requirements on what features are the most important.

How to do that is not in the scope of this tutorial, but this or this would be a great starting point.

- How to test your idea as cheaply as possible? Your great idea is just an assumption. It needs testing. Even after getting great feedback, decide what is the most important for building a MVP (minimum viable product) and then go to implementation.

The App

The app I’ll be building is a simple loyalty card wallet with offers & coupons list, if available, linked to the loyalty card.

The Process

Write use cases. You already have collected feedback on what your audience wants. Now it’s time to start assembling this information into a more structured description.

Start with user stories, which are high-level descriptions of what users should be able to accomplish with the app.

Then go into detail with use cases, to explain how the user interacts with the App and how the app responds. Use cases will be your primary communication tool while creating the app, so the more details you put there, the better.

Although don’t over-analyze, it should not be final from the very beginning. If you read mine — there are some details missing for sure, I’ll adjust them later.

Here you can read user stories & use cases for the “My Cards” App.
Deliverables: Use cases document

Draw sketches. Just take paper and a pencil, nothing fancy. I draw all my sketches using this great technique, which I believe is the fastest. Do research on competitors, download their apps, check how one or another functionality is implemented in a few other apps, what you like, what you do not, and what can be improved, and use that in your drawings. Update use cases in the process.

Here you can find sketches for the app.
Deliverables: Use cases -> Sketches

Get app design. Now you are ready to give a document with sketches to your designer which you can easily find on Fiverr or Upwork. A simple post like the one below got me 67 interested freelancers.

After choosing the one I liked the most, I got the design in Figma ready in 2 days. And… it was completely off. 🤦‍♂️🥲

Here is the design file I received. Not bad, but this is not what I asked for.

Okay, it is kind of expected. Remember mentioning more control? But as the requirements were clearly defined in the task, I can simply request changes. This miscommunication is on the service provider.

After a few commenting & fixing sessions and +1 day, here is the result.

Here you can check the full Figma Design with 1st, 2nd & 3rd iterations.

Lessons learned from this step:

- Have a well-documented requirements document, in this case, sketches. Include various screens states, correct and wrong text inputs, errors, and alerts, so the designer could add these in the app design and there will be less guesswork while building the app.

- Don’t be surprised to get not what you asked for. This is key to understand when you outsource work, and that’s why all expected deliverables should be measurable.
Ask the designer for an app design done in Figma or Sketch. You will be able to communicate with the designer easily, and once you get the design right, using these platforms helps convert the design later into the actual app faster and more accurately.

Deliverables: Sketches -> App design in Figma

Scale down. After documenting everything, you will realize that it’s quite a huge project. Building it all will take lots of time and money so, it makes sense to scale down and initially build just the most important features.

In the “My Cards” app, the most important parts would be:

  1. Showing & searching the cards list.
  2. Showing a card with a barcode or QR code. Offers will be postponed.
  3. Adding new cards. The AI part to identify card issuers and connect to offers will be postponed.

The listed functionality already solves the pain of the target audience and can be released to the app store for testing and receiving feedback.
The rest goes to a product roadmap.
Deliverables: Identified minimum viable product — MVP scope

Prototype. Finally, we can start building! This part is covered in How to set up a development process in Xcode 14 + Cloud and create an app prototype.

--

--