finds.dev← search

// the find

flutter-team-archive/photobooth

★ 987 · Dart · MIT · updated Mar 2023

Google I/O 2021 Photo Booth built with Flutter and Firebase

A Flutter web app built for Google I/O 2021 that lets attendees take photos with animated mascots (Dash, Dino, etc.) and share them to social media. Built by Very Good Ventures as a showcase of Flutter's web capabilities — camera access, image compositing, Firebase storage — in a real production app. Useful as a reference implementation, not a starting point for a product.

The BLoC architecture is done properly throughout — events, states, and blocs are cleanly separated with no business logic bleeding into widgets. The monorepo package structure (camera_platform_interface, camera_web, analytics, auth as separate packages) demonstrates how to actually structure a non-trivial Flutter app. CI workflows are per-package, so a change to the camera plugin doesn't run sticker tests. Internationalization is set up correctly with ARB files and 10+ locales, not bolted on afterwards.

Last commit was March 2023 — the Flutter web story has moved significantly since then, and camera APIs in particular have changed. The Firebase Functions backend is TypeScript, so you're debugging two runtimes when the share flow breaks. The anonymous Firebase Auth pattern means there's no real user identity; the 'authentication_repository' is a thin wrapper that doesn't do much. It was built to handle a specific conference crowd for a few days, so there's no real error recovery, rate limiting, or abuse handling — the Firebase rules are probably wide open by design.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →