-
Pin the stack in the opening paragraph: State React 19.2.3, React Native 0.86.0, and Expo SDK 57 (expo ~57.0.4) - not "latest Expo."
-
Declare composite vs shipped product: These references blend real patterns; honesty prevents "Acme Bank shipped this" confusion.
-
Use architecture diagrams in prose: ASCII boxes and arrows survive doc theme changes; screenshots rot.
-
Follow the case study spine: Context → Architecture → Recipe → Decisions → Outcomes → Lessons → Related - matches cookbook depth without hiding narrative.
-
Record rejected alternatives: "We considered CRDT" teaches more than listing SQLite alone - see Reference: Offline-First Field App.
-
Separate reference from before/after: Reference architectures show steady-state; migration stories show timeline and regressions - do not merge genres in one file.
-
Quantify outcomes with caveats: Pilot fleet size, date range, and attribution limits belong beside every metric table.
-
Document honest upgrade paths: SDK 54→57 means 55 and 56 checkpoints - Before/After: Expo SDK Major Upgrade.
-
Strangler migrations need invariants: One root back stack, frozen marketing URLs, no dual NavigationContainer - Before/After: React Navigation → Expo Router.
-
Benchmarks require a protocol: Release vs dev, device model, cache warm/cold, duration - Performance Case Study: Feed at Scale.
-
OTA vs store decisions are architecture: B2C SaaS OTA-heavy and fintech store-only are both valid - document compliance trigger - compare Reference: B2C Expo SaaS App and Reference: Fintech Mobile Client.
-
Offline-first case studies need a UX contract: Live, stale, syncing, unavailable - four states, not a single offline banner - Offline-First Basics.
-
Cross-link cookbook pages: Case studies point to recipes; they do not duplicate EAS Build Basics or TanStack Query in full.
-
Link ADRs for contested decisions: Navigation, pinning, OTA policy - Architecture Decision Records.
-
End every page with the stack versions footer: Last line, blockquote format - enables grep-based staleness audits across the site.
-
Tag highlights in frontmatter: Search and index cards surface decisions without opening the full article.
-
Name devices in field and perf stories: "Mid-tier Android" is vague; Pixel 6a API 34 and Zebra TC57 are actionable.
-
Include incident classes avoided: "No runtimeVersion mismatch strandings" is as valuable as latency milliseconds.
-
Pin SDK in audit and support payloads: Field IT and fraud ops correlate behavior months later - Reference: Fintech Mobile Client.
-
Revisit case studies after SDK bumps: expo-image, Reanimated, and Router APIs change - add a changelog note at top when refreshed.
-
Do not treat case studies as mandates: Brownfield React Navigation on SDK 57 remains valid per ADR: Navigation Library Choice.
-
Pair case studies with checklists: Release & OTA Rules and Security Rules for Mobile operationalize reference architectures.
-
Lessons section: six items max focus: Long lesson lists dilute; prioritize what surprised the team.
-
Recipe blocks stay copy-pasteable: Even narrative case studies need one quick-reference card - cookbook spine requirement.
-
Mobile ages fast - date the narrative: "Twelve weeks on SDK 57" and "Q3 feature freeze" anchor reader judgment better than timeless claims.
Stack versions: This page was written for React 19.2.3, React Native 0.86.0, and Expo SDK 57 (expo ~57.0.4).