how to make an app?

So, you already have an idea, and you already found developers who can help you to implement it. But how to start? What to do next? How the development process will look like?
In this article you can see a regular development workflow.
Everything starts with an email. When people have an idea for a new application, theycan just send an email describing the project.
Then we start discussing the app together. Usually we talk about:
  • strongest and weakest part of the app;
  • how to improve the user experience, interface, etc;
  • technologies that would work for your project best;
  • optimizing the budget and timeline for your needs;
When we have a plan of development, we will try to estimate how much time it will take to develop the app, and how much it will cost. When we work on a big projects we usually use fixed prices. On smaller projects, or if you are looking for a developer to maintain an existing project, hourly pricing model might be preferable.

paperwork 📃

When you are ready, we will sign a contract, and will start working on the app.
Usually, developers might ask for a 50% upfront payment. We understand that it might be risky to send payments to people whom you don't know yet, especially if this is a pretty big project.
Therefore we can use freelancing platforms: we work for a week, and if you are satisfied with the result, you will allow a platform to make a payment. We can continue working like this even for the whole project term.

preparations 🔧

Before starting, we might need to setup some required services. If we work on iOS app, it will require access to Apple Developer Account to test the app on real devices.
If project requires a server to store the data, we will setup a server instance onAmazon AWS,DigitalOcean, or any other service.

first results 🎉

When building an app from scratch, first results will be available in 2 weeks. Of course, it will be just the first couple of screens, but you will be able to use and test the UI on your own device.
The first couple of days are used to set up the development environment, and then we start working on the user interface. In most cases, after a couple of weeks, you will be able to use your own app on real devices. Of course, first builds will mostly have a user interface only, without business logic first. But it will already help you to understand how the app feels, and whether we need to add any changes: mockups and real applications are very different.
After the first test, you can send the feedback, and we will adjust the development process accordingly.

tools 💻

During development we will use many tools that help us speed up the development, communicate with you, keep track of tasks, and more.
For communication Slack or similar tools are the best. It is a completely free tool, where we can talk about the development's process, track progress, ask questions, and more.
To track tasks we can use services like Trello orBasecamp, whatever is best for you. From the experience, Kanban Boards like Trello work better - they help visualise the progress, helps to see what we are currently working on, what is already done, and what is left.
To store the source code of projects Github andBitBucket usually work best.
If your project will require a server, one can be set up withAmazon AWS,DigitalOcean, or any other similar service.
If we are working on an hourly basis, we will track working hours inHubstaff.

beta ⌛️

When all features of the project will be finished, we will be ready to publish the first beta. This is an optional, but very important step. You can send the beta to your colleagues, friends, family. It will help to gather some feedback, and make sure that application is stable.

release 🍾

When project is finished and polished, we are ready to release it. It is a big, but pretty easy step. If we work on iOS app, we will upload it toApp Store Connect, and will submit it for review. If it is an Android application, we will need to upload it to the Play Store. For a web apps, we will setup a production server, and we will be ready!

post production support 🛠

All applications needs to be maintained. Even if won't add any new features, we might need to make Database Backups, update servers, improve performance, and more.
After the release, we will be happy to provide you with maintenace services. It usually requres a new, hourly contract. In this case, if you need help with some tasks, just tell us what needs to be done. We will send you an estimations, and if everything is fine, we will proceed.