Creating the ultimate tool for everyday activism and positive impact
Successful migration the Global Citizen app to a Flutter-based digital platform
Over 28 million actions taken since founding in 2012
Continuous integration practices and testing, ensures the platform is highly maintainable and scalable for future updates and improvements
Introduction
Global Citizen is a non-profit organization with the mission to end extreme poverty by 2030. As the long-term mobile app partner of Global Citizen, L+R collaborated with them to develop prototype features that aligned with their organizational and product goals. After witnessing Flutter's potential for adding long-term efficiencies in Android and iOS development, the technical leads at Global Citizen made the decision to shift to Flutter as their code base. Taking advantage of this opportunity, L+R incorporated some of the features generated during a multi-feature prototyping sprint, as well as the updated UI piloted by the team.
Challenge
Since the new platform was created while the current app was still in operation, our team needed to strike a balance between maintaining and managing the existing app while simultaneously building the new one. It was crucial to consider tradeoffs that would allow them to maintain user engagement and ensure a smooth transition to the new version.
Secondly, we had to guarantee that the platform's user interface (UI) remained consistent across various platforms while utilizing Flutter's cross-platform capabilities. This was particularly crucial due to the diverse users who access the Global Citizen app worldwide, with support for languages such as English, Spanish, French, and German, among others. Additionally, the app provides accessibility features such as screen-reader support, text scaling, and clickable elements to cater to all users' needs.
Solution
The L+R team took a proactive approach to communication by providing regular status updates and detailed project plans, giving stakeholders visibility into the development process. To streamline the app development process, the team planned sprints based on must-have features that formed the app's core, followed by features that increased user engagement and enjoyment.
During the development process, the L+R team adopted the BLoC (Business Logic Component) architecture to improve the separation of concerns and facilitate integration with existing systems. Additionally, the team created a design system to ensure consistency across the app's user interface, which helped to speed up the development of UI components. The team closely followed these structures and architectures, resulting in a highly consistent and intuitive user experience across all platforms.