First of all, if you’re reading this article, I assume you’re having trouble developing a mobile application of your own or a project you outsource, just like with thousands of projects with great ideas that haven’t been released. 


The idea you come up with for the application is both very important and not so important! The important thing is to keep your idea alive after you realize it. Technically speaking, there is a world of difference between turning an idea into a mobile application and marketing it and keeping it afloat. Developing the app and getting it published in stores makes up 30% of a project, while making it viable and profitable makes up 70%. Of course, this does not mean that the development process of the application is unimportant. As I mentioned, most of the thousands of unsuccessful projects have been frustrated because of faulty planning of technical works, choosing the wrong software development platforms, and believing that big works can be done with a low budget.


Make sure to project that wonderful project you want to do on paper. This project may seem unnecessary and annoying for many people, but what I am talking about is nothing more than creating a Cash Flow Statement that will not exceed an Excel sheet. NAT (Cash Flow Statement) is the only solution that can tell you whether your idea will actually succeed or fail. Many people you interview may find this idea great, and they may excite you by mentioning that you can make millions of dollars, but the reality will be very different. NAT (Cash Flow Statement) This is the first document an entrepreneur should fill out. The formula of how much income can be obtained as a result by specifying the Income/Expense and expenditures in a completely honest and realistic way emerges in this table. This table shows how much profit/loss was made this month by calculating income and expenses for each month and what kind of situation it will create in the next 12 months. Many ideas have no revenue for about six months after launch, but during those six months this venture has many expenses. Thanks to this table, we can see whether the income to be obtained in the next six months will make a profit for the entrepreneur at the end of the year or whether we will suffer. 

Be Realistic! 

“We want an Instagram-like but more detailed application!” has projects. Most idea owners can have rosy dreams because they are aware of the software development processes. Many people who watched the movie The Network, which was shot about Facebook, set out to realize similar projects in excitement, but no one investigated in detail the preparation of the Business Plan and the interviews with the investors in the movie. Be sure to be realistic so that your idea can come to life. A software expert cannot develop Instagram. It can make an application similar to it, but for it to be Instagram, it needs dozens of engineers and hundreds of personnel to market and manage this business. If you fill the NAT table I mentioned above realistically and the result is positive, it means you can start your attempt. 

Identify Your Target Audience 

Every app has a target audience. Ironically, candy and bubble popping games are not developed for kids, but for people over forty and women. It is designed and updated according to their usage habits. All the features that Facebook developed for university students in the first years of its existence are now being redesigned to appeal to people over the age of fifty. Likewise, Instagram has already started to make design changes with small steps to keep up with this situation. Sometimes these changes have to be made as major, but minor changes are made regularly almost every month. 

Create the Visual Design 

Before starting the coding process of your project, create the designs called UI (User Interface) and try to put the final point in a way that will not be changed again. Of course, when the application starts to be coded or in the following processes, there will be changes in the visual designs, but these are the elements that will not spoil the basic design. The pre-design of your application will not only provide convenience during coding, but will also provide clear ideas to the application developer during the pricing phase of this project. In this process, you can work with freelance designers. Very successful freelance designers in the market will help you, but again, you need to explain your project to them very well in this process. A mobile UI designer also has knowledge of UX (User Experience). In other words, with which hand a person will use the application you want to make, where to click more, which button stops in which region, the user will react more easily, etc. It will help you in very important matters.

Surely a cousin of yours or the son of your acquaintance uses photoshop, do not make such a mistake and let non-experts make such an important issue as design.

The biggest reason why your application has ease of use depends on the success of UI and UX. It would not be healthy to limit the budget in this area. And remember, no app developer can give you a real price if your project doesn’t have a UI design!

Create TID (Technical Requirements Document)

Do not be lazy, create a blank Word file on your computer and write down all the features you want in your application, item by item. Without this file, the application developer will not be able to give you an accurate price, and you may even be sued in the future.

Include this document when the application developer makes a contract with you. In this document, there will be items and features that you want the developer to do. If this document does not exist and the developer forgets and codes a feature that you verbally said, there is not much you can do. Word flies, writing remains! It is most important that you agree quite clearly with the developer on these clauses. Again, the vast majority of those thousands of failed projects are the subject I have just explained. In fact, most of the mobile application works that I have done as a freelance consist of projects that have been interrupted as a result of such disagreements. Make sure to create the Technical Requirements Document so that both you and the application developer are not in a difficult situation and there are no conflicts.

This is the most important document in a project in the defense industry where I am currently working. Sometimes, even the smallest piece of software works on TID for six months. The document signed by both parties at the end of dozens of meetings with the customer is now indispensable for this business and cannot be left out. If you want to add a new clause after creating a TID, you can do this by agreeing with the application developer, but remember that in case of disagreement, no court will find you right if there is no written document such as a TID attached to the contract.

Specify Software Language

Don’t let your lack of technical knowledge scare you, but if you want to do an application project, you should have a little knowledge of the chemistry of the job. You should master the concepts of Cross Platform with native application. The software language to be selected may also vary with the size of the application you will make.

For example, you can choose CrossPlatform for a very simple news application. The so-called Croos Platform is the ability to create both iOS and Android applications with a single software development environment. These platforms are useful for simple applications that do not have much detail. It saves time as both iOS and Android applications can be created by coding once, but I definitely do not recommend using it for detailed projects.

The situation called as native application is to develop with its own software language belonging to a platform. For iOS Applications, development can be done in the Xcode environment offered by Apple, either in ObjectiveC or Swift. ObjectiveC has been used by Apple for many years and has now been replaced by the Swift language. In short, it would be best to choose the Swift language to develop an application with iOS. The same is true for Android as well. There are two alternatives to develop in the Android Studio environment owned by Google. Android applications can be developed with Java and Kotlin languages. Kotlin is a new language just like Swift, but the language I would recommend here is definitely Java. There are not many developers with Kotlin knowledge yet and Java has been adopted as the most used language all over the world. For this reason, I recommend Swift for the iOS application you will develop in your project and Java for Android.

Find Your Backend and API Developer

API and Backend are indispensable for a mobile application. Many technical details such as database and server configuration are handled by Backend experts. If the mobile application developer you will work with has knowledge on this subject, it will be the most appropriate solution to work with him. The concept of Full Stack Developer is exactly that. A developer who can make both the Backend and Frontend parts of an application.

Most of the time, there can be conflict and communication problems between the Backend and the Mobile developer. The different coding styles of both can naturally cause conflict. Again, I would definitely recommend you to use Linux servers and Mysql database in this regard. Both of them are free solutions and you can easily get support from many experts in the market who dominate these two. Mysql database is a very suitable database solution for small, medium and large projects. If you have a much more comprehensive project, you can easily configure NoSQL databases on Linux servers.

Find Your App Developer

Most of the thousands of unfinished projects I mentioned were issues with the app developer. At the root of these problems is the wrong software language and wrong developer selection. Most of the time, university students or very inexperienced friends, which we call junior, are chosen as application developers in order to make the project cheap.

It is not my intention to disparage these friends, but many young friends accept projects at very affordable prices due to economic difficulties, even though they know that they cannot do it. It would be unfair to blame them for this.

However, without a document like TID and with the excitement of doing business very cheaply, big projects are unfortunately interrupted. As I mentioned above, you can work with a single developer to develop both iOS and Android applications, or you can divide the work into two. Working with two separate application developers will save you time, but working with someone who can develop both will also be very beneficial. The biggest benefit of this is that a single person will have more control over the project. If two people are to be worked with, it is essential that these two developers work in harmony with each other.

Pricing and Deadline

This is the most asked topic. As the first sentence, I would like to start with our famous proverb. Cheap meat stew is bland! In the field of software development, this adage is quite true. However, there are projects that you can do cheaply.

There are different pricing methods for your project. First, you can set up a company for your project and hire mobile app developers as permanent staff. As a second option, you can outsource the coding part of the project to a software company. Third, you can work with freelance application developers. All three options will have different costs.

There are two different options for determining the costs as freelance work. The first option determines the man/day wage. After the developer tells you how many days this project will take, he will calculate a cost by specifying the daily price. The other option would be to set a price directly according to the project, which is the method I use. Generally, after the TID and UI design of the project are examined, the deadline and the cost of the project are revealed. There are many reasons why I don’t use the man/day unit, but the most important thing is that the concept of day is different for each developer. While some developers can do 1% of the work in a day, some developers can do 3%. Or he can work harder so that the project ends faster and starts other projects, so the concept of man/day is not very valid in freelance projects.

My suggestions

If you have decided to work with freelance developers, prepare your TID and UI designs that I wrote above, because these will be the foundations of your project. After the developer has given you the deadline and price in the light of this information, make sure that your contract is signed with wet signatures. Although technical documents and legal contracts will be made, mutual goodwill and commitment are indispensable for a project to be solid. Due to living conditions, the deadline may increase or there may be a delay in payments. In all these cases, mutual goodwill will facilitate the emergence of your project.