
A curated list of VSCode productivity tips to speed-up your Flutter development workflow. https://codewithandrea.com/articles/vscode-shortcuts-extensions-settings-flutter-development/

An introduction to the domain model and its role in defining entities and the business logic for manipulating them in the context of Flutter app architecture. https://codewithandrea.com/articles/flutter-app-architecture-domain-model/

An introduction to the domain model and its role in defining entities and the business logic for manipulating them in the context of Flutter app architecture. https://codewithandrea.com/articles/flutter-app-architecture-domain-layer/

How to simplify the Flutter skeleton app template to more easily access localized strings inside our widgets. https://codewithandrea.com/articles/flutter-localization-build-context-extension/

A useful tip to write more performant code when using SizedBox as a gap between widgets inside a Row or Column layout. https://codewithandrea.com/tips/const-sized-box-gap/

How to configure simple Flutter & Firebase apps using the FlutterFire from the command line. https://codewithandrea.com/articles/flutter-firebase-flutterfire-cli/

How to configure simple or multi-flavor Flutter & Firebase apps using the FlutterFire and Very Good CLI tools from the command line. https://codewithandrea.com/articles/flutter-flavors-for-firebase-apps/

An in-depth overview of the repository pattern in Flutter: what it is, when to use it, and various implementation strategies along with their tradeoffs. https://codewithandrea.com/articles/flutter-repository-pattern/

When performing asynchronous work, we need to account for loading and error states in our UI. This article presents simple and reusable approach to handle this across multiple screens. https://codewithandrea.com/articles/loading-error-states-state-notifier-async-value/

How to configure simple or multi-flavor Flutter & Firebase apps using the FlutterFire and Very Good CLI tools from the command line. https://codewithandrea.com/articles/firebase-flutterfire-cli-flavors/