What Should I Prioritize When Building a Production-Ready Flutter App?

I’m planning to build a Flutter application that may grow significantly over time, and I’m trying to make the right technical decisions from the beginning.

Apart from choosing a state-management solution, what areas should developers focus on early? I’m thinking about project structure, API integration, authentication, database design, navigation, error handling, testing, and performance optimization.

Would you recommend following a specific architecture such as MVVM, Clean Architecture, or another approach for a medium-to-large Flutter application?

I’d also like to know how much architecture is actually necessary at the beginning. Is it better to start with a simple structure and introduce abstractions as the application grows, or establish a more scalable architecture from day one?

What approach has worked best for your production Flutter projects?