What problem does it solve? Choosing the right UI approach in Expo apps is confusing: developers often reach for Reanimated, @gorhom/bottom-sheet, or React Native built-ins when @expo/ui already provides real native SwiftUI and Jetpack Compose components, and they struggle to decide between universal, drop-in replacement, and platform-specific layers. ## Core Features & Use Cases - Universal components first: Build cross-platform native UI from a single tree using Host, Column, Row, Button, Text, List, BottomSheet, Switch, Slider, Picker, Menu, and FieldGroup (SDK 56+). - Drop-in replacements: Migrate off community libraries like @gorhom/bottom-sheet or @react-native-community/datetimepicker using API-compatible swaps from @expo/ui/community/<name>. - Platform-specific layers: Write @expo/ui/swift-ui (iOS) or @expo/ui/jetpack-compose (Android) trees with correct .ios.tsx/.android.tsx file placement, modifiers, RNHostView embedding, and useNativeState worklet-driven state. - Use Case: When adding a map pin detail panel, use the universal BottomSheet with isPresented/onDismiss and snapPoints instead of pulling in Reanimated or @gorhom/bottom-sheet. ## Quick Start Ask the agent to build a settings screen or bottom sheet in your Expo app using @expo/ui universal components instead of React Native built-ins.