We partnered with Google to build an interactive photo booth experience for Google I/O 2021 using Flutter and Firebase.
Camera plugin for web
The main feature of the app is the camera. We created a camera plugin specifically for the web that follows the federated plugin architecture. We implemented two main APIs for initializing the camera and taking the photo. While we built this plugin for the I/O Photo Booth, the implementation is not specific to this project, and could be used to build other Flutter apps on the web. View the open source code.
Firebase backend integrations
We used Firebase for various backend functionality such as storage, hosting, and performance monitoring. Firebase cloud functions were a key part in developing the social sharing feature of the app. The cloud functions allowed us to generate social posts with the user's photo, metadata, and a link back to the I/O Photo Booth.
We built the I/O Photo Booth with scalable architecture patterns that we implement at VGV. We used Very Good CLI to generate the project, which meant our first commit had null safety, internationalization, and 100% unit and widget test coverage. We used flutter_bloc for a reliable and predictable state management solution. Implementing a feature-driven monorepo structure allowed our team to work on features in parallel and ensured that UI was separated from business logic. View the codebase.