mobile
✓Verified·Scanned 2/18/2026
Build mobile applications with proper lifecycle handling, offline support, and platform conventions.
from clawhub.ai·v8985a13·3.9 KB·0 installs
Scanned from 1.0.0 at 8985a13 · Transparency log ↗
$ vett add clawhub.ai/ivangdavila/mobile
Lifecycle Awareness
- App can be killed anytime in background—save state before backgrounding
- Restore state on return—user expects to continue where they left off
- Handle low memory warnings—release caches, non-essential resources
- Background tasks have time limits—complete or request extension
Permissions
- Ask in context, not at launch—explain why when requesting
- Degrade gracefully if denied—app should still work with reduced features
- Don't ask for unnecessary permissions—users notice and distrust
- Re-request after demonstrating value—not immediately after denial
Offline First
- Assume network is unreliable—design for offline, sync when possible
- Cache aggressively—previous content better than loading spinner
- Queue actions for retry—don't fail on network error
- Conflict resolution strategy—last write wins or manual merge
- Show sync status—user should know if data is current
Performance
- Target 60fps—dropped frames feel janky
- Main thread for UI only—heavy work on background threads
- Memory matters more than desktop—constrained devices, aggressive OS killing
- Battery awareness—reduce location polling, network requests when possible
- Startup time under 2 seconds—first impression matters
Navigation Patterns
- Follow platform conventions—iOS back gesture, Android back button
- Navigation stack manageable—don't go 10 levels deep
- Deep link to any screen—shareable, notification taps work
- Preserve scroll position on return—don't jump to top
Notifications
- Push for time-sensitive external events—new message, delivery update
- Local for reminders, timers—user-initiated
- Don't spam—users will disable; quality over quantity
- Actionable when possible—reply, mark done from notification
- Group related notifications—less intrusive
Deep Linking
- Universal Links (iOS) / App Links (Android) for owned domains
- Handle gracefully when app not installed—fallback to web
- Parse parameters safely—malicious links exist
- Test all entry points—not just main launch
Storage
- Secure storage for tokens, credentials—Keychain, Keystore
- User data survives reinstall where appropriate—cloud backup
- Cache is cache—can be cleared; don't store critical data
- Large files: consider on-demand download—not bundled in app
Input Handling
- Keyboard avoidance—content shifts to stay visible
- Dismiss keyboard appropriately—tap outside, scroll, submit
- Input accessories for relevant actions—next field, done, toolbar
- Paste, autofill support—reduce typing on small keyboards
Touch and Gestures
- 44pt minimum touch target—consistent with platform guidelines
- System gestures reserved—don't override swipe from edge
- Gesture discoverability—hint or teach, don't assume knowledge
- Haptic feedback for significant actions—confirmation, errors
Accessibility
- VoiceOver (iOS) / TalkBack (Android) testing—navigate entire app
- Dynamic type support—text scales with user preference
- Sufficient contrast—check in accessibility inspector
- Labels on all interactive elements—not just visible text
Testing
- Real devices essential—simulators miss performance, sensors, edge cases
- Multiple OS versions—support at least current minus 2
- Different screen sizes—small phones to tablets
- Network conditions—slow, intermittent, offline
App Store Survival
- Read rejection reasons before submitting—common pitfalls documented
- Privacy policy required—explain data collection
- Login test account for reviewers—if auth required
- No placeholder content—everything functional in review build
- Update regularly—abandoned apps get deprioritized