The Challenge
The client’s existing development efforts were stalled after the app changed hands with previous developers.
The Solution
Twin Sun restarted development, introduced new tools and design patterns to simplify development, and trained the client’s team on the new tech.
The Results
The client’s development team was immediately productive in the new code base.
Bringing the Gift Card Rack to Your Desk
CardNow is a gift card management service that sends you blank physical gift cards you can load as needed. Small businesses can buy a box of cards and load them as spot rewards gifted to employees. Families can similarly keep the cards on hand and pay to load them for gifting events instead of running to the store at the last minute to purchase a gift.
To make the gift card loading process as simple and intuitive as possible, CardNow began development of a mobile app. The app would ideally let users load the blank cards with amounts to spend at a desired business with just a few taps.
Finding a Path Forward After Changing Developers
Unfortunately, CardNow’s original developer moved on to other endeavors, and their replacement developer struggled to make sense of the code base. Over a year of development left CardNow without a customer-ready mobile app.
Twin Sun reviewed the existing code base to determine if it could be salvaged or needed to be rewritten. The technologies selected for the app were unable to support the smooth user experience CardNow really wanted for their app. React Native was used to build the app; this framework suffers from common limitations seen across most cross-platform development frameworks. Even if the code was in great shape, a React Native app would face performance limitations that negatively impact the user experience on lower-end mobile devices.
The code base itself was complex, did not follow standard development practices, and was incredibly fragile. Modifications to the code base were likely to introduce unexpected problems in other areas of the app. Since the app did not function as expected and was built on top of brittle code, we recommended a complete rewrite.
We recommended rebuilding the application in Flutter, knowing we could quickly deliver an app that met CardNow’s expectations. Our expertise with Flutter combined with its highly performant UI components meant CardNow could realize its vision for a frictionless user experience.
The only concern with transitioning from React Native to Flutter was ensuring that CardNow’s internal developer could support the new app more easily than the old app. Our team had two goals: deliver a functional mobile app, and ensure CardNow’s own development team could maintain the app for the long term.
App Delivery and Documentation
Our mobile app developers built a production-ready Flutter app for CardNow in one month. The application was reliable, worked well on Android and iOS devices, and followed common design patterns that would make the source code easy to maintain and extend.
Once we had a working mobile app that CardNow was happy with, we worked on the transition back to CardNow’s development team. Our developers documented the design patterns we used within the app. We also documented the overall software design and specific third-party API interactions required for key features. This documentation gave the CardNow team a clear, clean architecture for building new features.
Successful Hand-off and Continued Collaboration
CardNow’s developer was immediately productive in the new code base. They were able to take charge of ongoing support and maintenance of the mobile app within a few days. The Flutter app has since been released for Android and iOS in the Google Play Store and Apple App Store.
CardNow has continues to trust Twin Sun for technical guidance. Since that initial recovery effort, we have assisted their team with refactoring efforts and general development consulting.