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
| Stage | Deliverable | What we need from you |
|---|---|---|
| 1. Introductory session | An initial understanding of the idea and the closest package | A short description of the idea and users |
| 2. Requirements analysis | Requirements and scope document, plus a quote | Attending workshops and approving the scope |
| 3. UX and design | Wireframes, then final designs | Review and approval before development |
| 4. Architecture and integration | Back-end outline and API list | Access to your systems and payment gateway |
| 5. Development in increments | Installable test builds | Trying them and sending feedback |
| 6. Testing | A stable build and a list of resolved issues | Acceptance testing by your team |
| 7. Store preparation and release | The app live on the App Store and Google Play | Developer accounts, privacy policy, content |
| 8. After launch | Fixes and updates as agreed | Choosing 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.
