top of page

Mateusz Rus
Senior Software Engineer
Mateusz is a Senior Software Engineer and Flutter Consultant with over 7 years of experience in mobile development. He has led multiple large-scale Flutter projects from architecture to release, including applications with over a million downloads.
As the founder of Flutter Athletes, Mateusz runs educational YouTube channels and actively contributes to the Flutter community through mentoring, training, and public speaking. He also launched a commercial Flutter Academy and regularly supports companies in adopting Flutter, improving app architecture, and refactoring legacy projects.
Passionate about sharing knowledge, Mateusz participates in international conferences such as FlutterCon, helping teams and developers unlock Flutter's full potential.
From Plug-and-Play to Fully Custom: Building Flexible and Overridable Features
This session is a deep dive into solving problems with flexible and overridable architecture. We will go through a real-world journey of refactoring a complex, shareable Flutter and Dart code, moving from common pitfalls to an architecture that is both powerful for the creator and a delight for the consumer. We will explore the nuanced decisions behind dependency injection, API design, and state management, demonstrating how to provide maximum flexibility without sacrificing ease of use. This is not a theoretical talk; it's a practical guide full of code, patterns, and hard-won lessons for anyone building reusable modules, packages, or large-scale Flutter applications.
- Dual-API design: "appliance" widgets for instant integration alongside "toolbox" components for advanced composition
- Multi-layer customization strategy: theme overrides, widget composition, builder patterns, dependency injection and more
- Facade patterns and other design patterns that hide complexity while exposing every extension point
- Type-safe parameter systems that users can extend without losing IDE support
- State management integration that works with Provider, Riverpod, BLoC, or pure ValueNotifier/ChangeNotifier
Examples: from simple theme changes to replacing entire data sources.
bottom of page