Overview
Stage Pocket is the mobile version of AIRI, built with Capacitor to bring the full AIRI experience to iOS and Android devices. It shares the same Vue 3 codebase as Stage Web, wrapped in native mobile containers.Platform Support
iOS
- Minimum: iOS 13.0+
- Recommended: iOS 15.0+
- Devices: iPhone 8 and newer
- Simulator: Xcode 14+ required for development
Android
- Minimum: Android 7.0 (API 24)+
- Recommended: Android 10.0 (API 29)+
- Devices: Any device with WebView support
- Emulator: Android Studio required for development
Capacitor Setup
Stage Pocket uses Capacitor to bridge web code to native mobile platforms.Key Configuration
Installed Plugins
@capacitor/core: Core Capacitor runtime@capacitor/ios: iOS platform support@capacitor/local-notifications: Push notifications- Custom plugins for AIRI-specific features
Development Setup
Prerequisites
- iOS Development
- Android Development
- macOS (required for iOS development)
- Xcode 14+ (26+ recommended for new icon format)
- iOS 13+ device or simulator
- Apple Developer account (for device testing)
- CocoaPods:
sudo gem install cocoapods
Installation
Clone the repository and install dependencies:Development Workflow
Start Web Development Server
Hot Reload
Changes to your web code will automatically reload in the mobile app when connected to the development server.Both your development machine and mobile device must be on the same network for hot reload to work.
Building for Production
iOS Build
Configure Signing
In Xcode:
- Select project in navigator
- Select “AIRI” target
- Go to “Signing & Capabilities”
- Select your team and provisioning profile
Android Build
Generate Signed APK/AAB
In Android Studio:
- Build → Generate Signed Bundle / APK
- Select Android App Bundle (recommended) or APK
- Select/create keystore
- Build release variant
Upload to Play Console
- Open Google Play Console
- Select your app
- Go to Release → Production
- Upload AAB file
Running on Physical Devices
iOS Device
Enable Developer Mode
On iOS 16+:
- Settings → Privacy & Security → Developer Mode
- Toggle on and restart device
Trust Developer Certificate
On first run:
- Settings → General → VPN & Device Management
- Select your developer certificate
- Tap “Trust”
Android Device
Enable Developer Options
- Settings → About Phone
- Tap “Build Number” 7 times
- Go back to Settings → System → Developer Options
Enable USB Debugging
- Developer Options → USB Debugging (ON)
- Connect device via USB
- Accept debugging prompt on device
Mobile-Specific Features
Native Capabilities
- Local Notifications: Background reminders and alerts
- Haptic Feedback: Tactile responses to interactions
- Native Navigation: iOS/Android navigation patterns
- Biometric Auth: Face ID, Touch ID, fingerprint (planned)
- Native Sharing: Share to other apps
- Background Audio: Continue audio playback when app is backgrounded (planned)
Mobile-Optimized UI
- Touch-optimized controls
- Responsive layouts for various screen sizes
- Bottom navigation for easy thumb access
- Gesture support (swipe, pinch-to-zoom)
- Native keyboard handling
Storage
Notifications
Limitations
Compared to desktop/web versions:- Limited GPU memory on mobile devices
- Smaller models required for acceptable performance
- Background processing restrictions (iOS/Android)
- No native CUDA/Metal support (uses WebGPU in WebView)
- Reduced battery life with intensive AI tasks
- Network-dependent for large model inference
- No desktop game integrations (Minecraft, Factorio)
- No screen capture capabilities
- Limited file system access
- No Discord bot features
- Simplified UI due to screen size constraints
- No system tray functionality
Performance Considerations
- Use smaller, optimized models
- Leverage server-side inference when possible
- Implement aggressive caching strategies
- Optimize asset loading for cellular networks
- Monitor battery usage and heat generation
Wireless Server Channel
Connect Stage Pocket to Stage Tamagotchi for enhanced features:Enable Secure WebSocket in Tamagotchi
- Open Tamagotchi Settings
- Navigate to System → General
- Enable “Secure WebSocket”
- Note the server address displayed
- Offload inference to desktop GPU
- Access desktop’s model library
- Share chat history and settings
- Use desktop plugins and integrations
Troubleshooting
Build Fails
- iOS
- Android
Device Not Detected
- iOS: Check USB connection, trust computer prompt
- Android: Enable USB debugging, install device drivers (Windows)
- Try different USB cable or port
App Crashes on Launch
- Check device logs:
- iOS: Xcode → Window → Devices and Simulators → View Device Logs
- Android: Android Studio → Logcat
- Verify WebView version is up to date
- Check for JavaScript errors in web console
- Ensure native dependencies are properly linked
Technology Stack
- Framework: Capacitor 7
- Web Layer: Vue 3 + Vite (shared with Stage Web)
- iOS: Swift + WKWebView
- Android: Kotlin + WebView
- State: Pinia
- Graphics: WebGPU (in WebView)
- Database: DuckDB WASM
- Styling: UnoCSS
App Store Deployment
Pre-submission Checklist
Prepare assets:
- App icon (1024x1024)
- Screenshots for all device sizes
- Privacy policy URL
- App description and keywords
- Promotional images (optional)
Configure metadata:
- App name and subtitle
- Category selection
- Age rating
- Price (free/paid)
- In-app purchases (if any)
Review guidelines compliance:
Submission Process
- iOS App Store
- Google Play Store
- Archive app in Xcode
- Upload to App Store Connect
- Fill out app information
- Submit for review
- Wait 1-3 days for approval
Related Resources
Web Platform
Browser-based version with WebGPU
Desktop Platform
Native Electron app with full features
