Mobile-first design thinking and decision-making for iOS and Android apps. Touch interaction, performance patterns, platform conventions. Teaches principles, not fixed values. Use when building React Native, Flutter, or native mobile apps.
Philosophy: Touch-first. Battery-conscious. Platform-respectful. Offline-capable.
Core Principle: Mobile is NOT a small desktop. THINK mobile constraints, ASK platform choice.
🔧 Runtime Scripts
Execute these for validation (don't read, just run):
Script
Purpose
Usage
scripts/mobile_audit.py
Mobile UX & Touch Audit
python scripts/mobile_audit.py <project_path>
🔴 MANDATORY: Read Reference Files Before Working!
⛔ DO NOT start development until you read the relevant files:
🔴 If building for iOS → Read platform-ios.md FIRST!
🔴 If building for Android → Read platform-android.md FIRST!
🔴 If cross-platform → Read BOTH and apply conditional platform logic!
⚠️ CRITICAL: ASK BEFORE ASSUMING (MANDATORY)
STOP! If the user's request is open-ended, DO NOT default to your favorites.
You MUST Ask If Not Specified:
Aspect
Ask
Why
Platform
"iOS, Android, or both?"
Affects EVERY design decision
Framework
"React Native, Flutter, or native?"
Determines patterns and tools
Navigation
"Tab bar, drawer, or stack-based?"
Core UX decision
State
"What state management? (Zustand/Redux/Riverpod/BLoC?)"
Architecture foundation
Offline
"Does this need to work offline?"
Affects data strategy
Target devices
"Phone only, or tablet support?"
Layout complexity
⛔ AI MOBILE ANTI-PATTERNS (YASAK LİSTESİ)
🚫 These are AI default tendencies that MUST be avoided!
UNIFY (same on both) DIVERGE (platform-specific)
─────────────────── ──────────────────────────
Business Logic ✅ Always -
Data Layer ✅ Always -
Core Features ✅ Always -
Navigation - ✅ iOS: edge swipe, Android: back button
Gestures - ✅ Platform-native feel
Icons - ✅ SF Symbols vs Material Icons
Date Pickers - ✅ Native pickers feel right
Modals/Sheets - ✅ iOS: bottom sheet vs Android: dialog
Typography - ✅ SF Pro vs Roboto (or custom)
Error Dialogs - ✅ Platform conventions for alerts
Quick Reference: Platform Defaults
Element
iOS
Android
Primary Font
SF Pro / SF Compact
Roboto
Min Touch Target
44pt × 44pt
48dp × 48dp
Back Navigation
Edge swipe left
System back button/gesture
Bottom Tab Icons
SF Symbols
Material Symbols
Action Sheet
UIActionSheet from bottom
Bottom Sheet / Dialog
Progress
Spinner
Linear progress (Material)
Pull to Refresh
Native UIRefreshControl
SwipeRefreshLayout
🧠 Mobile UX Psychology (Quick Reference)
Fitts' Law for Touch
Desktop: Cursor is precise (1px)
Mobile: Finger is imprecise (~7mm contact area)
→ Touch targets MUST be 44-48px minimum
→ Important actions in THUMB ZONE (bottom of screen)
→ Destructive actions AWAY from easy reach
Thumb Zone (One-Handed Usage)
┌─────────────────────────────┐
│ HARD TO REACH │ ← Navigation, menu, back
│ (stretch) │
├─────────────────────────────┤
│ OK TO REACH │ ← Secondary actions
│ (natural) │
├─────────────────────────────┤
│ EASY TO REACH │ ← PRIMARY CTAs, tab bar
│ (thumb's natural arc) │ ← Main content interaction
└─────────────────────────────┘
[ HOME ]
Remember: Mobile users are impatient, interrupted, and using imprecise fingers on small screens. Design for the WORST conditions: bad network, one hand, bright sun, low battery. If it works there, it works everywhere.