💡 WHY ALEX IS RIGHT
iOS and Android have different navigation conventions, lifecycle rules, permission systems, background execution models and platform capabilities. A shared UI abstraction can hide those differences until they reappear as conditionals throughout the codebase. If mobile is a long-lived core product, two clean native clients sharing API contracts and domain concepts may age better than one cross-platform layer carrying exceptions forever.