Caribou Coffee migrates their app to a single codebase with Flutter
After seven years, Caribou Coffee’s mobile app was in need of a major update. The first iteration was written in Titanium and suffered from a high crash rate, clunky mobile experience, and shrinking developer community. It was rewritten in 2018 in both Swift and Kotlin to provide a native experience, but maintaining feature parity was very time-consuming. And after three years, it was becoming increasingly difficult for Caribou’s agile development team to maintain the feature experience and functionality between iOS and Android platforms.
To solve that problem, the team wanted a platform that was fun to use and easy to learn, had a growing developer community, offered popular SDKs for common SaaS providers, could integrate with platform-native functionality, and felt fast and natural to the end user.
The team did a comprehensive search for their new solution, reviewing Flutter alongside Quasar, Ionic, React Native, Xamarin, Kotlin Multiplatform, and NativeScript. They wanted something with plenty of real-world use cases, third-party support, a high-quality developer experience, and good documentation, among other criteria.
After a month-long review process, which included building demo apps on each framework, Caribou chose Flutter for its multi platform capabilities, flexibility, and developer efficiency. The team also liked Flutter’s seamless integration with the other Google tools they already used, including the Firebase SDK and platform to track and measure their mobile app usage and Remote Config for mobile features.
“Flutter's single codebase gave peace of mind to everyone involved and brought our mobile teams together.”
- Ben Alman, Lead Software Engineer, Caribou Coffee
Migrating to Flutter allowed Caribou’s designers and developers to start working together. The team credits the Zeplin style guides for enabling more effective conversations and decisions between the teams.
Thanks to Flutter’s single codebase, all of Caribou’s developers are now able to work on feature creation. Before the migration, 50% of the team was dedicated to maintaining feature parity.
Based on their success, Caribou plans to continue using Flutter to enhance their app. Next, the team is excited to use Flutter to bring Material You into the app, add privacy-respecting location awareness to enhance the drive-thru experience, and make it easier for friends to customize their drinks separately but purchase together.