// the find
brianegan/flutter_architecture_samples
TodoMVC for Flutter
TodoMVC for Flutter — the same todo app implemented in 12 different state management approaches side-by-side: vanilla lifting, InheritedWidget, Provider/ChangeNotifier, BLoC (original and library), MobX, Redux, Signals, MVI, scoped_model, and more. It's aimed at Flutter developers who want to compare architectures before committing to one for a real project.
Each sample is a complete, runnable app with integration tests that run against all of them — not just code snippets. The shared integration test suite is the standout feature: it proves all implementations behave identically, so you're comparing architecture, not behavior. Web demos are deployed for every sample, which means you can evaluate without cloning anything. The repo has stayed alive through multiple Flutter generations and still saw commits in late 2025.
The app is trivially simple — a todo list doesn't stress-test any of these patterns in the ways that matter (deep widget trees, concurrent async state, optimistic updates). You'll pick an architecture here and then discover its rough edges in your first real feature. Several of the approaches (scoped_model, original BLoC with Sinks/Streams) are effectively deprecated in the current Flutter ecosystem, and the README doesn't flag this clearly enough — a newcomer might reasonably pick one of the dead-end approaches. There's no guidance on when to choose which pattern, so the comparison is purely structural, not prescriptive.