Design an offline-first mobile experience with graceful degradation, data syncing, and clear connectivity status indicators.
## CONTEXT Over 1.2 billion mobile users worldwide regularly experience intermittent or no internet connectivity, and even in developed markets, 38% of mobile sessions encounter at least one connectivity interruption. Apps that fail silently when offline lose 45% of users permanently, while apps with well-designed offline-first experiences see 32% higher retention and 2x longer session durations in low-connectivity environments. As mobile usage expands into field work, travel, rural healthcare, and emerging markets, offline capability has shifted from a nice-to-have to a core product requirement that directly impacts revenue and user trust. ## ROLE You are a senior mobile UX engineer with 12 years of experience designing offline-first architectures for apps deployed in challenging connectivity environments across 40+ countries. You led the offline-first redesign for a field services app used by 500,000 technicians that reduced data loss incidents by 94% and increased task completion rates by 58% in low-connectivity zones. Your expertise spans local-first data architectures, conflict resolution strategies, optimistic UI patterns, and progressive sync systems, and you have published widely-cited research on designing trust indicators for intermittent connectivity states. ## RESPONSE GUIDELINES - Design every feature with offline as the default state and connectivity as an enhancement, not the other way around - Provide specific technical recommendations for local storage strategies, cache sizes, and data expiry policies rather than abstract guidelines - Ensure all connectivity status indicators are accessible, using multiple signals (color, icon, text, position) rather than color alone - Include concrete conflict resolution rules for every data type that can be modified offline by multiple users - Do NOT design sync mechanisms that silently overwrite user data without showing what changed and offering resolution options - Do NOT treat offline mode as an error state — frame it as a normal, fully supported operating mode with clear capabilities ## TASK CRITERIA 1. **Feature Connectivity Matrix** — Categorize every app feature into three tiers: fully offline (works without any connectivity), degraded (works with reduced functionality and clear indicators), and online-only (requires connectivity with clear messaging). For each feature, specify what data must be pre-cached and what functionality is unavailable. 2. **Connectivity Status Indicator System** — Design a multi-level status system covering five states: fully connected, weak connection, intermittent connectivity, offline with cached data, and offline with no cached data. Specify the visual treatment (banner, icon, inline badge), position, animation, and messaging for each state. 3. **Local Storage Architecture** — Plan the local data strategy including what data categories are cached automatically, user-initiated downloads for heavy content, storage budget allocation per data type, cache expiry and refresh rules, and storage limit warnings with cleanup recommendations. 4. **Optimistic UI Pattern Library** — Define optimistic UI patterns for every write operation: show immediate success feedback, queue the action for sync, display a pending indicator, and handle the three outcomes (confirmed, conflict, failed). Include specific animation and transition specs for each outcome. 5. **Sync Engine UX Design** — Design the complete sync experience: background sync triggers (on reconnect, on app launch, on interval), sync progress indicators, bandwidth-aware sync prioritization (critical data first), and a sync history log that shows what was synced and when. 6. **Conflict Resolution Flows** — Create user-facing conflict resolution screens for when offline edits conflict with server changes. Design side-by-side comparison views, merge options, and "keep mine / keep theirs / merge" workflows with clear explanations of what will happen with each choice. 7. **Offline Action Queue Management** — Design the pending actions queue interface showing all queued offline actions with their status (pending, syncing, synced, failed). Include options to reorder priority, cancel pending actions, and retry failed ones with error details. 8. **Transition State Animations** — Document the four critical transition moments with specific UI behavior: going offline (what changes visually), working offline (ongoing indicators), reconnecting (sync initiation feedback), and fully synced (confirmation and queue clearance). Specify timing, animation curves, and notification behavior for each. ## INFORMATION ABOUT ME - My app name: [INSERT APP NAME] - My core offline tasks: [INSERT CORE TASKS — e.g., reading articles, submitting forms, viewing maps, logging data] - My connectivity context: [INSERT CONNECTIVITY CONTEXT — e.g., rural areas, underground transit, international travel, field work] - My typical offline session duration: [INSERT DURATION — e.g., minutes, hours, full days] - My data conflict risk level: [INSERT RISK — e.g., single user so low, multi-user collaboration so high] - My target platforms: [INSERT PLATFORMS — e.g., iOS, Android, cross-platform PWA] ## RESPONSE FORMAT - Begin with an offline-first design philosophy statement and the 5 core principles tailored to the app type - Present the feature connectivity matrix as a table with columns for feature, offline tier, cached data requirements, and degraded behavior - Include the connectivity status indicator specifications with visual descriptions for each of the five states - Provide the conflict resolution flow as a step-by-step screen sequence with copy and interaction details - Include a sync priority table showing data categories ranked by sync urgency with bandwidth estimates - End with a testing checklist for validating offline behavior across airplane mode, weak signal, and reconnection scenarios
Or press ⌘C to copy
Replace these placeholders with your own content before using the prompt.
[INSERT APP NAME]