// the find
bizz84/movie_app_state_management_flutter
Flutter State Management: Movie App with Provider, Riverpod, flutter_bloc
A reference project showing the same Netflix-inspired movie app implemented five different ways: Provider, Riverpod, flutter_bloc, get_it, and states_rebuilder. The shared core (API, models, persistence, UI widgets) lives in a common package, so each implementation only contains the state management layer — making the differences easy to spot. This is for Flutter developers who want to see concrete, non-trivial examples of each approach side by side.
The architecture is well thought out — shared UI widgets with callbacks and no business logic in the core package is exactly how you'd want to structure this kind of comparison. The app is complex enough to be realistic: pagination, local persistence, multi-profile support, and a real API. Using Sembast for local storage is a reasonable choice that doesn't add much complexity. The envied package for API key security is a nice touch that most tutorials skip.
It requires Flutter beta channel, which means it won't build on stable without fiddling — a real friction point for anyone trying to use this as a reference today. The last commit was September 2022, so Riverpod and flutter_bloc implementations are stuck on older APIs (Riverpod 2.x with code generation and flutter_bloc's newer patterns are missing). The cleartext traffic workarounds for TMDB image URLs are sloppy — TMDB has served images over HTTPS for years, this was fixable. states_rebuilder is an obscure package that most Flutter devs have never heard of and won't use; that slot would have been more valuable as go_router + one of the mainstream options.