/
Panda Pizza

One Code for Two: A Delivery Service Mobile App for iOS and Android

Panda Pizza is a mobile app for a food delivery company. It was built using Kotlin Multiplatform, SwiftUI, and Jetpack Compose. The app runs on iOS and Android.

5 months

of development

4/5

auditor's score
Задача

Task

AO “Franshiza № 1” reached out to us with a request to create a mobile delivery app for pizza and other food items to increase sales and brand awareness. The client suggested using Dodo Pizza’s app as a reference. The target audience included people from 18 to 45 years old.

Решение

Solution

A mobile app built using Kotlin Multiplatform, SwiftUI, and Jetpack Compose with a focus on quick start-up and ease of use.

Development Process

Our team worked on the app from March to August 2024. The project involved 11 employees, including both iOS and Android developers, a tester, UX and UI designers, external auditors and a project manager. The backend was left to the client who provided us with a Swagger file that outlined the workings of the API.

Our initial task was to create an iOS app. However, the client liked what we were doing so they requested an additional Android version during the development process.

Defining the app’s features. It would be impossible to try and replicate all the reference app’s features in just five months given the large number of updates introduced to it by Dodo Pizza. Therefore, we aimed to create an app with basic features sufficient for effective operation, such as menu browsing, profile creation, order placement, payment, delivery worker tracking, and reviews.

Visualizing user scenarios in Figma. There was no ToR to work with — just the reference app itself. Our team always offers to conduct preliminary business analysis and prepare documentation for subsequent development, which significantly reduces risks and the number of revisions. While we had to skip this stage in this project, we managed to find a solution that helped us avoid miscommunication between the client and our team.

Using a mockup in Figma, we demonstrated the various screens that the user would be directed to by particular buttons. This helped the client grasp the logic of the app in no time.

Developing shared code elements for the two platforms. Using Kotlin Multiplatform iOS, the iOS developer created a shared technology base for the two operating systems. This was more beneficial for the client, as the shared code can save you hours of development time. To give the apps a native look, we used SwiftUI framework for iOS, and Jetpack Compose for Android.

Performing integrations. We integrated the app with App Metrica for downloads tracking, Yandex Maps for order navigation, and a payment system for card payments.

Testing on different devices. It took us 1–2 weeks to test the apps on iPhone, Xiaomi, Samsung, Realmi, and Huawei. We checked various payment methods, the intuitive feel of the UI and navigation, the app’s performance with poor Internet connection, etc. There were some bugs, but nothing major.

Changing the design. During the development process, the client decided to rebrand and change the name to Panda Pizza. With the basic design that we had, it was enough to recolor the templates to give the apps the required new look.

The Hardest Part

The client encountered some troubles with their backend. There were some errors in the code that broke interactions between buttons and their effects. For example, a user could place an order, but it would not proceed to the preparation stage. This delayed the development process. We had to wait for the code errors to be fixed by the client.

How we solved these tasks

Our team members managed to establish effective communication. They kept a transparent workflow and detailed the whole process, promptly identifying any issues and notifying the client.

Technology Stack

Kotlin Multiplatform
SwiftUI for iOS
Jetpack Compose for Android

Results

Over the course of five months, we managed to implement not only the basic MVP features but also additional capabilities, such as promo codes, star ratings for orders, and reviews with photos.

The app was evaluated both by the client and a third-party expert. The client brought in a third-party company for an independent audit of the IT infrastructure. Our work received a high score of 4 out of 5. The auditor noted our up-to-date stack, high-quality app architecture, and well-structured and clean code.

We received recommendations that we plan to apply in future versions of the apps: prepare documentation regarding the project goals, features and architecture, and limit the use of MOKO libraries due to the risk of them becoming incompatible with further Android or Kotlin Multiplatform updates.

The client continues to engage with us and discusses a possibility of backend development using our team resources. We are planning new app releases as well.

iOS
iOS
Android

The shared technology base between iOS and Android lowered the costs for the client and made our work easier.

Shared Code

The shared technology base between iOS and Android lowered the costs for the client and made our work easier.

0

Let’s discuss your project!

It is free. We will tell you how the application will solve your problems.