Building an interactive Photo Booth Experience for Google I/O 2021

Building an interactive Photo Booth Experience for Google I/O 2021

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.

Scalable architecture

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.

Industry
Technology
Project Type
Showcase for building a web app with Flutter and Firebase
VGV Services
small check mark icon
Engineering
small check mark icon
Open Source
small check mark icon
Program Management

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.

Scalable architecture

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.

By the Numbers

,
Case Study

Google

Building an interactive Photo Booth Experience for Google I/O 2021

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.

Scalable architecture

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.

Industry
Technology
Project Type
Showcase for building a web app with Flutter and Firebase
VGV Services
small check mark icon
Engineering
small check mark icon
Open Source
small check mark icon
Program Management

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.

Scalable architecture

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.

By the Numbers

Learn more

How It's Made

A deep dive into how we built I/O Photo Booth with Google, including code snippets from the app and solutions for challenges we encountered.

Read article on Medium →

Open source code

The codebase for I/O Photo Booth is open source in the Flutter repository.

View on GitHub →

,