Social media apps have taken up a great part of our lives where on average people use on average 6.7 different services. A global review states that 58.4% of the world's population uses social media platforms for about 2.3 hours daily.

In this article we describe how to create a successful social media app, namely:

  • Social media app types to connect users
  • Trends and insights from the social media app market in 2024
  • Best practices of software development and design
  • BA, QA, PM services involved in creating your own social media app
  • App features for building your own social network app
  • How to make an app for iOS and Android
  • Detailed cost breakdown of building a social media app

How to Make Social Media Platforms in 2024

Just imagine that over half of the world's population spends time on social media, making it 4.62 billion users. As the result, social media market was valued $192.950 billion and by 2026 is projected to raise at CAGR of 25.38% to $939.679 billion.

Aside of this fact, 37.6% of all internet users worldwide utilize social media for work purposes too.

Facebook is still the number one social service with 2.910 billion monthly active users. Facebook is followed by YouTube with 2.562 billion, WhatsApp with 2.562 billion, and Instagram with 1.478 billion. WeChat, a Chinese multi-purpose media platform, has 1.263 billion monthly active users.

Why do we stress these numbers?

This is a reality. People like social networks, so there should be tools to cover these needs.

These numbers provide an opportunity to grow your own community, collect insights from the market, influence purchasing decisions, evaluate user engagement, and more.

As well, this definitely makes it easier to find a new niche social media apps by analyzing target audience, conducting market analysis, and calculating customer acquisition cost.

For starters, here is a list of steps you should follow to make your own social media app:

  1. Define the target audience of potential users
  2. Define the main goal of making a social media app
  3. Investigate successful and competitive social products
  4. Identify unique selling points for the future network
  5. Describe features for social media app development
  6. Find and hire a capable team of social media app developers
  7. Finalize the product concept and technology stack
  8. Design, develop, and test an MDP (minimum delight product)
  9. Promote your service and grow the user base
  10. Check app performance and plan ongoing development

There are many entrepreneurs who should not miss the chance to be part of this prosperous market by starting social networking app development.

8 Types of Social Media Platforms

Dividing apps by categories will help understand what niche to enter, what existing social platforms, and target audience will be waiting for you there.

Best Social Media Apps
Best Social Media Apps

These are the common types of existing social media platforms:

1. Social Networking Apps

They are used to connect and interact with other people online. These apps can be used for personal needs (Facebook, Twitter) or for professional networking communication (LinkedIn).

2. Media Sharing Networks

Such social apps allow active users to share all kinds of media files (photos, videos, GIF files, etc.). The most famous representatives of this type are Instagram, Snapchat, YouTube, Vimeo, and Imgur.

3. Networks for Consumer Reviews

Such apps are used by customers to find and review businesses they've had experience with. Yelp is probably one of this category's most prominent app among consumer review networks.

4. Community and Discussion Forums

These social platforms are great places for asking questions and receiving answers, sharing news, ideas, insights, and experience. The best apps in this category are Quora and Reddit.

5. Bookmarking and Content Curation Networks

Users of these social network apps can share their own content and discover the content of other users and save it. Such mobile apps like Pinterest, Mix, and Flipboard belong to this type of social media.

6. Blogging and Publishing Platforms

These social media platforms allow users to create their own blogs and publish their content there. Tumblr and Medium are extremely popular now and thousands of people make their posts go live there every day.

7. Interest-based Networks

This type of mobile apps unite people with common interests. Users can share their hobbies and related experiences on such platforms. Goodreads or Last.fm are nice examples to check out.

8. Anonymous Social Networks

This type of social networks are especially loved by teens because it lets them communicate anonymously with each other. Some of the most used apps of this category are Whisper, Ask.fm, and After School.

You should pay attention to these categories because each of them defines the essential features of the apps that belong there. Once you decide on your direction, make sure you have analyzed it properly and reviewed other social media apps and target audience.

The next step to take is to review the latest social media trends to build your own social media app.

Current Social Media Market Trends

Trends are important to watch out for and to follow in order to make up-to-date, viable, and successful social media app.

Social Media Trends
Social Media Trends

Here are some of the social media trends and advanced features to pay attention:

1. Augmented Reality and Face Filters

Snapchat and Instagram are the trendsetters here. People still enjoy the funny face filters and it seems they will not go anywhere.

2. Artificial Intelligence and Chatbots

These are not new social media trends as well. Having become popular in 2017, they still enjoy the demand.

3. Live Streaming

The most popular apps already have the feature of a video live streaming system. Users prefer watching live videos to reading posts on social media in the news feed.

4. Video Content

Video is more popular content than written posts because users prefer watching to reading now. It is explained by the lack of time they have and by the fact that visual information is easier to perceive.

Discover more practical information here: How to Make a Video Chat App: Step by Step Guide with Business & Tech Aspects.

5. Ephemeral Content

It is the type of content that is live for up to 24 hours and then disappears from your news feed. Again, Snapchat and Instagram are the leaders here. Stories increased the time people spend on these social apps daily.

6. Cross-Сultural Content

Tools and services become available in the global arena and ‘cultural borders' are blurred, social networks in particular. For instance, a successful app likeTikTok makes it possible to showcase videos created by users from the other side of the world rather than those that have been created locally.

7. Focus on Generation Z

Researchers say that Millennials are no longer the most influential audience. They will soon be pushed aside by a new Generation Z (people born after 1998). If you think about how to create a social media app now, make sure you analyzed the need of the new influential group - Gen Z.

8. Cybersecurity

Data security is among the core factors of whether or not a user chooses a social media platform. These days, digital literacy and online safety is important to end-users. Data leaks were listed in a few famous incidents of misuse of information without user consent.

Once you have decided upon your niche and have learned the trends to follow to make a social media app, it is time to get down to app features, design, and development.

Off-topic: These days, software developed for the healthcare industry is on the rise as well. Feel free to check how to make a medical app from scratch as well.

Do you want to develop a social media app?

Contact us for the initial consultation and we will elaborate on your social networking app idea from a business and technical perspective. We can advise you on the best way to develop your social media app as well as provide you with an approximate project budget and timeline.

Receive your consultation & app estimate

Basics of Social Media App Development

Building a social network is no simple task. Your own social media network idea has to go through all stages of app development to become a market-ready product.

Let's go into the details of each of them step by step.

Best Practices of Social App Design

Once you conduct a market research and have all necessary materials (mind map, functional specification) for social media app creation, the first step you will take with your app development company is UX/UI design.

If you want to know how to create your own app with easy to use interface, appealing look and feel, learn some basic design requirements.

Social Media Design Rules for User Engagement
Social Media Design Rules for User Engagement

  • Use the shades of blue as this color is not considered annoying
  • Use the same navigation bar with search functions, notifications, and profile icon throughout the app on every screen where they are required
  • Adapt app design to a specific platform (there are design guidelines for iOS and Android) for app users to feel comfortable using the app on their device. At the same time your app design should have its key features in common on all platforms.
  • Include smooth switch from a web app design for social media site to a mobile app to make user interaction similar on any device
  • Add a round profile pictures help to focus on a user's face and make it simpler to remember them or distinguish them from the list of others
  • Include infinite scroll of posts for user retention
  • Design simplicity and focus on user activation content
  • Add a possibility of self-expression in social media accounts (custom opportunities like changing a profile picture, cover image, or even profile colors)
  • Develop a simple search of relevant photo and video content
  • Implement a quick registration and sign in options for users to find out more about your own social network

A good way to design the first (basic) version of your custom app is to actually make designs for the full app version. It is necessary to look at your app project globally, plan possible interactions and user engagement, and set a correct app architecture.

Basic Features All Best Social Media Apps Should Have

In spite of the fact that every app development process differs, there is a basic set of functions any social network app cannot do without.

Also, every app should have at least one unique feature to stand out from its competitors.

The suggested feature set, necessary to create a social media app in its basic version is as follows:

Social Media App: Basic Functionality
Social Media App: Basic Functionality

  • Social authorization
  • News feed
  • Post creation
  • Post likes
  • Social notifications
  • User profile
  • Search
  • Chat
  • Push notification module
  • Analytics
  • Content management system (CMS): Admin authorization
  • CMS: Admin management
  • CMS: User management
  • CMS: Reported user management

Let’s see what each of the essential features means:

Social Media App Feature Description Notes
Social authorization Users can register/login via a social network - One social network - Facebook or Twitter or G+ (two or more networks influence the estimate)
- Transfer of account photo and full name included
- Creation of Facebook developer accounts (develop, staging, production)
- Facebook review process and support communication are handled by a project manager and not included into the estimate


Feed Users can see a feed with posts by one criterion/logic (basic) - Each next criterion/logic influences the estimate
Post creation Users can create posts (basic) - Text, photo, geolocation
Post likes Users can like and unlike post -
Social notifications Users can like and unlike post - New likes, comments on your posts, new friends
- Automatic refreshing of displayed data on the fly should be implemented additionally
- Push notifications in background are not included (should be implemented additionally)

Profile Users can manage a profile (basic) - Personal information (text fields, birthday, gender), one photo
Search Users can search for one type of entity by one criterion - Each next entity influences the estimate
Chat Users can chat (basic) - List of chats
- Send a text message or image, list of messages (with time and a user avatar)
- Push notifications for new messages and new chats

Push notification module Integration of a module for push notifications (hidden for users) - Unsubscribe from push notifications if a user is logged out
- Specific push notification implementation influences the estimate
Analytics Basic integration with analytics (hidden for users) - One Analytics tool (except Fabric)
- Flurry or Google Analytics/ Firebase or MixPanel
- Basic SDK configuration (minimum analytics
- OS versions, devices etc.), screen tracking for Android
- Develop, staging, production



CMS: Admin authorization Admins can register, log in, and log out - Log in, log out
CMS: Admin management Admins can manage other admins - CRUD on administrators
- Full name, email
CMS: User management Admins can manage users - Basic sorting, filtering and searching (by name, by email, by ID) included
CMS: Reported user management Admins can manage reported users - One entity (a photo or user or post), each next entity adds % to the estimate
- Can be removed
- Sorting by amount of claims

All the features listed above is a minimum viable product of any social media application.

In addition to designing user friendly interface and coding social media apps there are other services that usually participate in the process of social media app development like project management, app testing, and QA.

Do you think they are important within development process? Let's find out.

Business Analysis, Project Management, Quality Assurance: Do You Need These Services?

App development companies usually provide a full range of services to have their clients' needs fully covered. This eliminates the number of parties included in the development process and helps both clients and app development company like MLSDev to work more closely and efficiently.

You might need business evaluation, target audience analysis, and/or user feedback if you don't know how to create a social media app and have only a rough project idea.

In this case a business analyst will help you with all preparatory work that should be done before design and development itself. You will shape a project concept together, analyze competitors, work on the business and functional requirements.

Key Components of Business Analysis
Key Components of Business Analysis

Project management helps with managing the workflow, development team, tasks, and all kinds of communication.

A project manager is a mediator between you as a client who wants to create a social media app and your app development company who actually know how to make a social media app. If to think money-wise, you will save much more with a project manager rather than by doing this work yourself.

Components of Project Management
Components of Project Management

Every product needs QA, especially if it is the first version of your new custom product.

Now users want to see decent quality even if you have just released your custom product to the market.

Quality Assurance Process
Quality Assurance Process

Important Aspects of Social Media App Development for Different Platforms

The more you are informed and the better all is set up before developers start working on your new social media app, the smoother will the custom software development process be.

It is time now find out all ins and out of making an app for Android, iOS, and web platforms.

How to Make a Social Networking App for Android

How to Build a Social Media App for Android
How to Build a Social Media App for Android

In this section we will mostly speak about technologies and how the main features of a social media app can be implemented based on our expertise.

Let's first find out how to develop an app for Android and released on Google Play Store.

General information on social media app development for Android:

  • Architecture: MVVM (model–view–viewmodel) architectural pattern
  • Programming language: Earlier we used only Java to develop apps for Android but now Kotlin is preferable for all new projects.
  • Framework: The main framework used is Google Play Services. It allows for access to Google Services like Firebase, Cloud Messages, In-App purchases, Geolocation, etc.
  • Library: RxJava2 mostly for composing asynchronous operations.

We use the following technology stack to work with the UI Layer:

  • RecyclerView. It is a native Android component that is used to show scrollable content (a list) to a user and allows interactions with items on the list.
  • Fragments. It is a native Android container that contains other views and widgets. Their main difference from view containers is that fragments have their own lifecycle.

Technical implementations for the Network layer are done with:

  • Retrofit for network requests
  • GSON for JSON parsing
  • Glide for loading images and caching
  • Code generation: Dagger framework for dependency injections.
  • Analytics: Fabric platform for collecting crash reports and minimal data about app usage.
  • Test frameworks: JUnit, Mockito, Robolectric

It is the technical basis for you to know if you want to understand how to create a social media app for Android.

Below is a table that shows in detail how to implement the basic features of a social app for Android:

Social Media App Feature Implementation on Android
Social authorization Facebook SDK, Google Play services authentication, TwitterCore (part of Twitter Kit for Android).
Feed RecyclerView
Post creation Native Fragments
Post likes Likes counter is implemented with TextView on the Post View. List of likers is built with RecyclerView.
Social notifications Done with RecyclerView. For clickable parts of text we use Spannable element
User profile Highly depends on design. If the app should show a profile with a list of user's recent activities (posts, comments, etc.), we will use RecyclerView. Thus User Info will be a header of RecyclerView. In other cases it may be just a Fragment with User Info.
Search Search results will be implemented using RecyclerView. Search field is built with the native EditText widget.
Chat RecyclerView
Push notification module Firebase Cloud Messages
Analytics Fabric/Firebase Analytics

How to Make a Social Media App for iOS

How to Build a Social Network for iOS
How to Build a Social Network for iOS

General information on social media app development for iOS:

  • Architecture: MVVM (model–view–viewmodel) architectural pattern.
  • Programming language: We use Swift to develop apps for iOS.
  • Frameworks: Dip framework used as a service locator.
  • Library: RxSwift

UI layer is built with the following technologies:

  • DTTableViewManager/DTCollectionViewManager for building type-safe table views and collection views.
  • LoadableViews for creating reusable view components.

Libraries used to build the Network layer:

  • TRON/Alamofire for building network abstraction.
  • Codable/SwiftyJSON for parsing JSON responses.
  • AlamofireImage for loading and caching images from the network.

Automation and code-generation tools:

  • Fastlane - deployment automation
  • SwiftGen - resource code generation
  • Sourcery - template code generation
  • SwiftLint - for coding style guidelines enforcement
  • Analytics: Fabric for collecting crash reports and minimal analytics
  • Code generation: SwiftGen for generating the code to work with storyboards, images, colors, fonts, and localizable strings. Sourcery for generating the boiler-plate code.
  • Guidelines: SwiftLint for enforcing coding guidelines.
  • Tests: XCTest for unit tests. Nimble for asynchronous unit tests.

If you want to know how to create a social media app for iOS with the minimal feature set and release your app to Apple App Store, look at the table below.

It represents the tech stack used to implement separate social networking app functions in the development process:

Social Media App Feature Implementation on iOS
Social authorization Facebook SDK, Twitter SDK, Google+ SDK
Feed LoadableViews, RxSwift, DTTableViewManager, TRON/Alamofire
Post creation CoreLocation framework, TRON/Alamofire
Post likes LoadableViews, RxSwift, TRON/Alamofire
Social notifications LoadableViews, RxSwift, DTTableViewManager, TRON/Alamofire
User profile LoadableViews, RxSwift, TRON/Alamofire
Search LoadableViews, RxSwift, DTTableViewManager, TRON/Alamofire
Chat We use SwiftActionCable websocket library for communication with Rails ActionCable websockets
CoreData framework is used for offline chats storage.RecyclerView
Push notification module UserNotifications Framework
Analytics Analytics SDK

Want to know how to make a social media app like Instagram?

Read our article that will tell you everything about Instagram-like app development:
How to Make an App Like Instagram: Tech Stack, Features, Costs

Should You Create a Social Media Website?

All popular social media apps have web versions to reach out to as many users as possible. If the type of social media users who prefer to use websites is not your priority, then you can omit this step.

How to Make a Social Media Website
How to Make a Social Media Website

Below, you will find information on how to make a social media website from a technical point of view.

Front-end development:

  • Programming language: We use JavaScript to make websites
  • Framework: Angular 2+
  • Unit tests: We use the Jasmine framework for unit testing of the self-written code

Back-end development:

  • Programming language: Ruby
  • Framework: Ruby on Rails
  • Web Server: Nginx
  • Application Server: Puma
  • Deploy tool: Capistrano
  • Databases: Postgres, Redis, ElasticSearch
  • Tests: Rspec
  • API Documentations: Swagger
  • Analytics and monitoring: AppSignal, NewRelic
  • Hosting: AWS
  • Source code storage: GitLab
Social Media App Feature Implementation on Front End Implementation on Back End
Social authorization - Facebook SDK, Twitter SDK (authorization via a social network requires its SDK) - Receive a unique user token from the front-end or mobile client
- Make a remote request to Social Platform API and receive all user data that the platform provides through user's permissions
- Authenticate or sign-up a user and create a session token
- We use the Koala gem for Facebook authentication
- To save files as multipart objects or active storage we use Paperclip (a built-in gem in Rails 5.2)



Feed - For showing images/videos in posts (images carousel) we can use different libraries. The choice depends on required functionality. Some of the most used libraries are ngu-carousel, ngx-owl-carousel, Angular Slick Carousel - Posts that a user sees in their timeline are based on the subscriptions that a user creates
- All entities that can create content for an application provide a user with the ability to subscribe to their content feed
- After aggregating all the content from all subscriptions the content is reorganized according to some algorithm (in a basic scenario - from new to old) and is sliced into pages

Post creation - We use a file uploader library to upload photos and videos and view them
- Google geolocation api is used for geolocation
- For content creation we need regular RESTful API endpoint that most modern frameworks provide
- N.B. Every front-end platform can have some specific requirements and version issues
- For geolocation we use the Geocoder gem

Post likes - Self-written solution - We build likes counters with the Redis:Objects gem
Social notifications - Self-written solution - We use ActionCable (Rails implementation of WebSockets) for sending real-time in-app notifications. This framework was merged in Rails 5
User profile - Self-written solution - Regular authentification/authorization system can handle this
Search - Self-written solution - For full text search many tools can be used - Postgres native trigram search index or Sphinx search engine or even a separate document-oriented database such as ElasticSearch
Chat - Websockets are used for live chatting. From all available libraries we choose ng2-cable for communication with Rails ActionCable websockets - Here a WebSocket system should be implemented. We use ActionCable to do this for Ruby on Rails
Push notification module - Service workers (technology) are used to handle push messages in a browser - To use push notifications a system should store a unique device or a browser should identify mobile devices or browsers should fire notifications when you need them
- To send notifications we can use 3rd party solutions such as Braze or do it for each platform manually sending requests to APNS or Firebase or use the Rpush gem for backend implementation of push notifications for IOS and Android
Analytics - Google Analytics SDK or SDK of any other analytics tool - Back end can be done in a huge variety of ways
- For startups ready-to-use 3rd party solutions like AppSignal or NewRelic are highly recommended
CMS: Admin authorization - Self-written solution - Separate namespace for admin users to CRUD content will be helpful here
CMS: Admin management - Self-written solution - Separate namespace for admin users to CRUD content will be helpful here
CMS: User management - Self-written solution - Separate namespace for admin users to CRUD content will be helpful here
CMS: Reported user management - Self-written solution - Separate namespace for admin users to CRUD content will be helpful here

As you see, you will need to spend some extra time and effort to make a social media website but be sure it will definitely increase the number of your potential social media users.

How to Build a Social Media App Further?

Once you developed the first version of your custom social app for Android/iOS/web and tested its viability and marketability, it is time to move forward.

You should constantly conduct market research and gather feedback from the users to heighten users' interest in your social app by adding more features and improving it.

Scaling a Minimum Viable Product of a Social Media App
Scaling a Minimum Viable Product of a Social Media App

Adding More Features to Your Basic Social Network App

Top social media platforms provide regular updates. They release new functions from time to time, make new designs, improve experience, fix bugs, and pay attention on user retention.

Here are the additional features to add to your basic social media app first once you decide to grow your existing apps:

Social Media App Feature Description Notes
Email authorization Users can register/login with email - Restore password feature included
Phone authorization Users can register/login with a phone number - Restore password feature included - SMS code interception (for Android)
Post comments Users can comment posts (basic) - Only text comments
Friends management Users can manage friends (basic) - Following users allows to see their posts
- List of followers/friends
Report content/user Users can report an entity (content or another user) - List with possible reporting reasons
- Each another entity increases estimate
Localization Users can see text content localized for their language - Content is provided by a product owner - A system language is used (for iOS, Android)
- Back-end messages/notifications are localized
- NB! It's not internationalization of the app

In-app purchase Users can use in-app purchases (basic) - One non-consumable in-app purchase (e.g. one that unlocks a feature)
- Each next in-app purchase influences the estimate

Of course, it is not a limit for the feature set of your new social networking app. We have just given you a hint on how to create a social media app with the basic and important secondary functions that will make it a working product.

The rest depends only on you, but if to be more exact, on your budget, deadlines, plans, wishes, etc.

How to Maintain a Social Media App

Simultaneously with the release of new social media platform features you need to maintain and support the existing product.

This can be done as a continuous process or as an on-demand service. All depends on the frequency and amount of tasks.

In general, support and maintenance at MLSDev presupposes:

  • Working on additional features upon request
  • More social network app testing and QA
  • App stability control
  • Control of server performance
  • Scaling apps
  • Product update (technologies, OS, servers, security)

It is not enough just to create a social media app, all listed activities should be part of the ongoing work on app development.

How Much Does It Cost to Build a Social Media App?

Now when you understand how to create a social media app and how to find an app developer, let's speak about costs. Financial side matters, doesn't it?

We will calculate three options for your convenience to make a social networking app:

  1. The first one is the price for the first app version with a basic feature set.
  2. The second price is for a product with advanced features and app development services.
  3. The third amount is for a large project with complex features.

The following table will show you how much it costs to create a social media app of your choice:

Basic version (minimum feature set, 1 platform) Full product (more features and design of a larger complexity, 1 platform) Large app (complex app design, development, and support, 2+ platforms)
UX/UI Design $5,000+ $15,000+ $25,000+
Custom Development $40,000+ $95,000+ $200,000+
Quality Assurance $5,000+ $15,000+ $25,000+
Project Management $7,500+ $15,000+ $35,000+
Business Analysis $2,500+ $10,000+ $15,000+
Total setup $60,000+ $150,000+ $230,000+
Time ~3-6 months ~6-9 months 9+ months (ongoing)

Please note, that these social media app development cost calculations are rough. They should give you a general understanding of a budget you might need to make a social network.

However, every case is special, so it is better to consult professionals about yours.

MLSDev Social Media App Experience

Famous social media apps like Instagram, Facebook, and Twitter were not built in one go, so you should be patient and take smaller steps. It is a wise way to make a social media app and turn it into a successful product.

Our app development company has expertise in creating media sharing networks among which is Yummi project. This app helps active users track and share their eating adventures.

It allows logging your personal food memories, share them with friends, and decide what new eating place to attend based on your friend's feedback.

The social media network began with Minimum Viable Product development on iOS. Later, the app was converted on Android with core features. These days, social networking app keeps evolving and adding new functionality like foodprints based on geolocation.

You may check the Case study of Yummi project on our website and find there links to download the app on Google Play or App Store.

Yummi App
Yummi App

Want to make your own social media app?

Our team will be glad to help you with any social network ideas you may have. Just drop us a short message to begin our discussion.

Contact us

Frequently Asked Questions:

Must-have features of every social media app
To succeed, each social media app should have at least one unique feature to stand out. On the other hand, there is a basic set of functionality any social network app cannot do without. These features include social authorization, feed, post creation, post likes, notifications, user engagement functionality, search, chat, analytics, and admin panel to manage the app.
Peculiarities of social media app development for Android
To develop an Android social app it is necessary to use native platform components and technologies. This includes Java or Kotlin programming language, usage of Google Play Services frameworks like Firebase, Cloud Messages, In-App purchases, Geolocation, etc. The development involves the work with the UI Layer and Network layer, which are done with Retrofit for network requests, GSON for JSON parsing, Glide for loading images and caching.
Peculiarities of social media app development for iOS
To build a native iOS app, it is necessary to use the Swift programming language. There are lots of libraries and frameworks to implement social app functionality and interface layer. Among those are Facebook SDK, Twitter SDK, Google+ SDK for social authorization; UserNotifications Framework for push notifications module; TRON/Alamofire, Codable/SwiftyJSON, AlamofireImage libraries are used to build the Network layer and so on.
How much time does it take to create a social media app?
In general, it takes from 3 to 5 months to build a social application of basic functionality. If you are interested to develop an app with more features and uniques design, the process takes from 6 to 9 months. In terms of a budget, the cost of such a social app starts from $100,000. The more complex design, functionality, and component are applied, the longer the development timeline and the more complex development process is, which influence the total budget.