Cheetah
Highlights
- Redesign and optimization of the architecture
- Simplified UI testing
- A full update of the code
- Implementation of a new order flowsensors
Challenge
The client launched the Cheetah startup in Israel in 2015 and since then, the startup has grown immensely and now serves thousands of US restaurants. Throughout these years, the product’s codebase has become outdated and was not able to keep up with the business requirements, especially the iOS part. Hence, the client needed a reliable and experienced iOS development team to handle the iOS part of the product and optimize it.
Solution
Cheetah is a mobile application that allows owners of small restaurants to easily order food delivery at an affordable price if compared to the existing competitors. Cheetah offers its users monthly subscription plans and can deliver the requested items either to a stated address or to a pickup location of choice.
One of the most notable features of the Cheetah application is its advanced analytics realized through the Amplitude system. With the help of the system, the Cheetah team can easily monitor every action that a user made, be it a scroll or a button click. This provides the team with informative and detailed reports and helps increase the number of conversions significantly.
The SoftTeco team was fully responsible for updating and optimizing the iOS part of the Cheetah application. We did a full redesign of the existing architecture and made it suitable for unit testing performed by developers themselves. The SoftTeco team also simplified the UI testing process significantly.
Tech Stack
Mobile
Swift
RxSwift
Maya
Backend
& Frontend
GraphQL
Realm
Sourcery
How it works
In order for the app to work smoothly and in correspondence with the set requirements, we had to update its architecture first. The main issue with the architecture was that it featured code written both in Objective-C and in Swift. Before the SoftTeco team joined the project, the architecture was very inconsistent since each developer introduced his own approach. We made the architecture consistent by rewriting it in Swift and we also made it suitable for unit testing since the project has a 100% unit test coverage.
We also significantly facilitated the UI testing process by adding the iOSSnapshotTestCase library for taking screenshots of the tested area. Before that, the developers had to manually create a UI test for every feature and now the process of test writing became more automated and streamlined.
One more important area that we worked on is app analytics. The client uses Amplitude for analytics and event reporting. Hence, when the team started implementing new functionality, we made sure to add all needed events to a new feature. In this way, we made sure all user activity will be tracked and reported. Amplitude also allows us to track user’s activity and this feature is especially useful when we need to quickly find the reported bugs or errors.
The reports on bugs and errors can be seen in tickets in the ZenDesk interface. Users communicate with the support team via ZenDesk and their requests are then generated into tickets for the development team.
The SoftTeco iOS team was also responsible for adding new functionality to the application and the user flow redesign. Among the new features added is a B2C part of the application (before only the B2B version was available) and the introduction of GraphQL for the server API. As for the user flow redesign, our team worked closely with the analytics team to define the main points of interaction and ways to promote user engagement.
Need a high-performing solution to augment your business?
Let SoftTeco handle your tech challenges and design a software solution tailored precisely to your unique requirements.
Results
The client was satisfied with the quality and speed of our services and the way the SoftTeco iOS developers fit in with the rest of the product team. We continue providing support and maintenance for the Cheetah application and will gladly work on the app expansion in the future.