Many app projects stumble not because of the coding but because the client never knew what they would receive at each stage, when they had to approve, or what was expected of them. The result is late changes, disputes over scope and a launch that stalls at store review.

This article sets out the stages of building a Flutter mobile app as we run them at Maham Pro, with the deliverable you should receive at the end of each stage and what you need to prepare on your side.

Overview of stages and deliverables

StageDeliverableWhat we need from you
1. Introductory sessionAn initial understanding of the idea and the closest packageA short description of the idea and users
2. Requirements analysisRequirements and scope document, plus a quoteAttending workshops and approving the scope
3. UX and designWireframes, then final designsReview and approval before development
4. Architecture and integrationBack-end outline and API listAccess to your systems and payment gateway
5. Development in incrementsInstallable test buildsTrying them and sending feedback
6. TestingA stable build and a list of resolved issuesAcceptance testing by your team
7. Store preparation and releaseThe app live on the App Store and Google PlayDeveloper accounts, privacy policy, content
8. After launchFixes and updates as agreedChoosing a support plan if you want one

1. Introductory session

A short session to understand the idea: who are the users, what problem does the app solve, is there an existing back end? By the end you know whether the idea really needs an app and which of our packages on the pricing page is closest. The detailed analysis is not part of it; that is the next stage, under a separate quote.

2. Requirements analysis

This is the stage that matters most for controlling cost. We turn the idea into written requirements:

  • User types and the permissions of each.
  • Each user's journey: what they want to achieve and in how many steps.
  • The feature list, split into a first version and later features.
  • The systems to integrate with, such as Odoo ERP or a payment gateway.
  • Language needs: Arabic right-to-left, and English where needed.

Deliverable: a requirements and scope document, and a quote based on it. Any later change in scope is assessed against this document.

3. UX and design

We draw wireframes first to check the flow, then produce final designs in your brand. We design in Arabic first, because flipping an English interface later causes layout and text problems.

Deliverable: final designs approved by you. Approval before coding matters, because changing a design is far cheaper than changing code.

4. Architecture and integration

We define how the app talks to the server: REST APIs, sign-in and permissions, error handling and loss of connection. If there is an existing system, we define which data is read from it and sent to it.

Deliverable: a back-end outline and a list of APIs. From you: access to your systems, and the payment gateway contract if there is one.

5. Development in increments

We build the app with Flutter from a single codebase for iOS and Android, in increments of features. After each increment you receive a test build your team can install and try early, instead of waiting for the end.

Deliverable: successive test builds. Early feedback saves costly changes later.

6. Testing

  • Functional testing on iOS and Android devices of different sizes.
  • Integration testing: what happens when a payment fails or the network drops?
  • A performance and screen-speed review.
  • Acceptance testing by your team on real scenarios.

Deliverable: a stable build ready for release.

7. Store preparation and release

This stage is often underestimated, and it has formal requirements:

  • Developer accounts: the Apple Developer Program costs USD 99 per membership year, and Google Play charges a one-time USD 25 registration fee. We recommend holding them in your company's name.
  • Google Play closed testing: new personal accounts need a closed test with at least 12 testers for 14 consecutive days before applying for production access.
  • Privacy policy and data safety: a privacy policy link is required in both stores, and Google Play requires a Data safety section.
  • Account deletion: if users can create an account, they must be able to delete it from within the app.
  • Demo account for Apple review: demo sign-in details and a back end that is live during review.
  • Store listing content: name, description and screenshots in Arabic and English.

Review times are set by Apple and Google; the developer does not control them.

8. After launch

Once live, feedback from real users starts to arrive, and operating systems and store policies keep changing. Our support plans are optional monthly subscriptions, separate from the project fee. The second version's features can then be planned around actual usage.

An example from our work

The Masrof school wallet app from our work is an example of a Flutter app published on the App Store and Google Play; it includes a wallet, balance top-ups and tracking of children's purchases.

FAQ

How long do these stages take?

We do not set a duration before requirements analysis, because it follows the size of the features, the integrations and how quickly each stage is approved.

Can we skip the design stage?

We do not recommend it; coding without approved designs pushes changes into the most expensive stage.

Who submits the app to the stores?

We handle submission on your company's developer accounts, within the agreed project scope.

Next step

If you want to understand cost before starting, read our Flutter app cost guide. Explore our mobile app development service, or book a free 30-minute introductory session to begin stage one.