Kroshka Kartoshka
What was the task
Our team had to seamlessly take over the MVP that was started by the previous contractor and ensure the app’s release and the required SLA. The client assigned us a range of different tasks:
- Creating loyalty program-related functionality;
- Implementing and supporting new functionality to raise sales and the average check size;
- Providing the functionality for the mobile app infrastructure, including optimization and administration;
- Guaranteeing KPI for stability, responsiveness, application speed, and number of errors.
Solution
We started off by auditing and improving user scenarios. We optimized the existing scenarios, implemented new scenarios, and disabled the inefficient ones. UX/UI had been designed based on the product requirements – we adapted the old layouts and ironed out the design, rendering the user’s path to placing an order as comfortable and short as possible.
The project architecture consists of two parts: the client’s backend + a mobile app backend. Our analysts prepared a technical specification for the app’s development and all further work was carried out in close cooperation with the backend developer of the restaurant chain’s IT team. An admin panel to manage user onboarding, menu settings, promotions, coupons, and promo codes was created on the client’s side as well.
Challenges
We had to refine most of the prior functionality, which wasn’t properly working due to poorly thought-out logic. We refactored the legacy code, which didn’t work on iOs, was never configured, and included many old libraries written by a previous developer. We switched the system to native modules, abandoning libraries that have not been supported for a long time, and wrote our own solutions.
- Updated the product to fit all Apple and Google technical requirements to run on the latest software versions. Fixed critical bugs, integrated actively with the backend, and now we are preparing the app to be uploaded to stores.
- Previously, the TestFlight service for app testing had been improperly configured. It didn’t load anything, so we revived the flow of the iOS versions to the tester and client.
- Initially, the app used the Geocoder API to convert addresses into coordinates when a user opened the map. We have switched to another service, which offers similar functionality but better terms for the client.
Results
Now we continue on with the product’s development and are bringing it to release, adding new features to it.