/ React Native / Phase 5 Phase 5 Days 23-28
Device Capabilities & Native Product Features Permissions, camera, media, location, maps, sensors, notifications, and background constraints
Phase Goal Use device capabilities with permission-aware, privacy-respecting product flows and real-device testing.
Day 23: Permissions as Product State
Undetermined, granted, denied, restricted, and limited states Build the mental model for Undetermined, granted, denied, restricted, and limited states Implement Undetermined, granted, denied, restricted, and limited states in a small typed example Apply Undetermined, granted, denied, restricted, and limited states to a realistic mobile product flow Debug the platform-specific failure modes of Undetermined, granted, denied, restricted, and limited states
Just-in-time permission requests and rationale UX
App config permission strings and native rebuild boundaries
Settings recovery and privacy minimization
Day 24: Camera, Image Picker & File Workflows
Camera lifecycle, preview, capture, and cleanup Build the mental model for Camera lifecycle, preview, capture, and cleanup Implement Camera lifecycle, preview, capture, and cleanup in a small typed example Apply Camera lifecycle, preview, capture, and cleanup to a realistic mobile product flow Debug the platform-specific failure modes of Camera lifecycle, preview, capture, and cleanup
Image library selection and limited-library access
Compression, metadata, file URIs, and upload preparation Build the mental model for Compression, metadata, file URIs, and upload preparation Implement Compression, metadata, file URIs, and upload preparation in a small typed example Apply Compression, metadata, file URIs, and upload preparation to a realistic mobile product flow Debug the platform-specific failure modes of Compression, metadata, file URIs, and upload preparation
Progress, cancellation, retry, and orphan cleanup Build the mental model for Progress, cancellation, retry, and orphan cleanup Implement Progress, cancellation, retry, and orphan cleanup in a small typed example Apply Progress, cancellation, retry, and orphan cleanup to a realistic mobile product flow Debug the platform-specific failure modes of Progress, cancellation, retry, and orphan cleanup
Day 25: Location, Maps & Geospatial UX
Foreground location permissions and accuracy trade-offs
Last-known versus current location and timeouts
Map markers, regions, clustering awareness, and directions boundaries Build the mental model for Map markers, regions, clustering awareness, and directions boundaries Implement Map markers, regions, clustering awareness, and directions boundaries in a small typed example Apply Map markers, regions, clustering awareness, and directions boundaries to a realistic mobile product flow Debug the platform-specific failure modes of Map markers, regions, clustering awareness, and directions boundaries
Spoofing, privacy, battery, and failure states Build the mental model for Spoofing, privacy, battery, and failure states Implement Spoofing, privacy, battery, and failure states in a small typed example Apply Spoofing, privacy, battery, and failure states to a realistic mobile product flow Debug the platform-specific failure modes of Spoofing, privacy, battery, and failure states
Day 26: Notifications & Deep-Link Re-engagement
Local versus push notification lifecycle
Tokens, permissions, channels, categories, and actions Build the mental model for Tokens, permissions, channels, categories, and actions Implement Tokens, permissions, channels, categories, and actions in a small typed example Apply Tokens, permissions, channels, categories, and actions to a realistic mobile product flow Debug the platform-specific failure modes of Tokens, permissions, channels, categories, and actions
Foreground, background, killed-state receipt
Notification-to-route mapping and duplicate handling
Day 27: Sensors, Haptics & Background Constraints
Sensor sampling, subscriptions, cleanup, and noise Build the mental model for Sensor sampling, subscriptions, cleanup, and noise Implement Sensor sampling, subscriptions, cleanup, and noise in a small typed example Apply Sensor sampling, subscriptions, cleanup, and noise to a realistic mobile product flow Debug the platform-specific failure modes of Sensor sampling, subscriptions, cleanup, and noise
Haptics as semantic feedback
Background task limits on iOS and Android
Battery budgets, user expectations, and graceful degradation
Day 28: Mini Project — Neighborhood Tree Walk
Location-aware self-guided tree stops and map progress
Optional leaf photos, metadata minimization, and local queue
Reminder notifications, heading feedback, and battery-aware degradation
Project requirements, constraints & review Build the mental model for Project constraints, privacy review, transfer route, and real-device matrix Implement Project constraints, privacy review, transfer route, and real-device matrix in a small typed example Apply Project constraints, privacy review, transfer route, and real-device matrix to a realistic mobile product flow Debug the platform-specific failure modes of Project constraints, privacy review, transfer route, and real-device matrix
Neighborhood Tree Walk Build a self-guided tree walk for families choosing nearby stops and recording private observations. The walk must remain useful when camera, precise location, or notifications are denied and must never imply that an observation was uploaded to a public service.
Foreground location, map stops, optional camera capture, local notifications, and semantic haptics Explicit permission states, Settings recovery, approximate-location behavior, and no-location browse mode Real-device proof for denial, interruption, offline capture, cancelled upload, and low-battery sampling Transfer: add an indoor trail that has no coordinates and uses manual stop completionAfter this phase, you'll be able to:
Undetermined, granted, denied, restricted, and limited states Just-in-time permission requests and rationale UX App config permission strings and native rebuild boundaries Settings recovery and privacy minimization Camera lifecycle, preview, capture, and cleanup Image library selection and limited-library access Compression, metadata, file URIs, and upload preparation Progress, cancellation, retry, and orphan cleanup You can apply Phase 5 skills in a tested mobile project on Android and iOS.