Explain how you would structure a mobile app from scratch to ensure a clear separation of concerns (e.g., MVVM, Clean Architecture).