The client had a Native iOS application and php backend developed, but both components had maintainability problems. He approached having the following goals in mind: rewrite the backend on Python, develop Android application, refresh design, add monetization features.
It was decided to rewrite the native iOS application with React Native to have a single code base for both platforms and improve overall maintainability of the system.
One of the main challenges was a very animations heavy app UI. React Native is a great technology but it challenges engineers to develop beautiful complex animations that run smoothly on both platforms.
The mobile app has a very clean architecture and code styling that allow great possibilities for performance optimization and flexibility to add more features in future. The app backend was designed with high security, stability and maintainability. These things are not always obvious but extremely important through all the stages of a product life cycle.
We used Firebase heavily for authentication, push notifications, realtime events and chats. It really is a great technology that can save a lot of time and budget if used correctly.
Despite all the concerns the frontend team managed to make all the animations run smoothly and achieve a pure native app feel generally.
We’re really proud to be working on this beautiful app and sincerely thankful to our client for all the trust he had with us.