Whenever you're ready, walk me through how you'd approach this.
Explain how you choose frameworks and architecture for a project based on requirements and constraints.
Give a practical decision process rather than naming a preferred framework. Cover requirements, team expertise, delivery timeline, platform constraints, maintainability, testability, and integration needs. Describe the layers, dependency direction, state ownership, dependency injection approach, and at least one trade-off against a rejected alternative.