What problem does it solve? Building polished mobile interfaces in Expo requires handling many platform-specific details—keyboard avoidance, native tab bars, modal presentations, and streaming chat UIs—where small mistakes cause broken layouts, dismissed keyboards, or blank screens. This Skill provides tested patterns and troubleshooting guidance for these common Expo UI challenges. ## Core Features & Use Cases - Native Tabs with Liquid Glass: Implement iOS 26+ native tab bars via expo-router/unstable-native-tabs with BlurView fallbacks for older iOS, Android, and web. - Keyboard Handling: Use react-native-keyboard-controller patterns for forms, chat screens, and lists with inputs, avoiding common pitfalls like nested KeyboardAvoidingViews. - Sheets & Modals: Choose correctly between formSheet and modal presentations, including multi-step auth flows with nested navigation. - Streaming Chat UI: Build SSE-based chat with expo/fetch, including typing indicators, unique message IDs, and state persistence patterns. - App Icon Generation: Guidelines for generating text-free app icons and splash screens with AI image generation. - Use Case: When building a chat screen in an Expo app, apply the streaming fetch pattern, inverted FlatList configuration, and keyboard persistence rules to avoid messages disappearing or the keyboard dismissing on send. ## Quick Start Read the relevant reference file for the UI pattern you are implementing, such as keyboard handling for a login form or sheets for an auth flow, and apply its code patterns to your Expo screen.