Best Practices Reference
Comprehensive best-practices guides for TwoMore, covering all aspects of React Native (Expo SDK 55) app development. Researched 2026-03-24 from official docs, maintainer blogs, and production community patterns.
Documents
| Document | Topics | Key Actions |
|---|---|---|
| Performance & Memory | JS thread, re-renders, FlashList, images, bundle size, startup, Hermes, animations, memory leaks, cleanup patterns | FlashList migration, InteractionManager for heavy work, image sizing |
| Networking & Caching | HTTP clients, TanStack Query cache, offline-first, Supabase realtime, prefetching, pagination | Wire onlineManager, optimistic mutations, realtime cache updates |
| Security | Token storage, OAuth PKCE, RLS, API key protection, OTA signing, deep link validation | SecureStore for tokens, Edge Function proxy, code signing |
| State & Architecture | Zustand patterns, hexagonal arch, i18n, package boundaries, TypeScript strictness, code quality | Architecture fitness tests, noUncheckedIndexedAccess, reactive t() |
| Testing & CI/CD | Test pyramid, Jest/RNTL, Maestro E2E, error boundaries, Sentry, EAS Build/Update | GitHub Actions CI, Sentry setup, EAS Secrets migration |
| UI/UX & Accessibility | Component patterns, dark mode, touch targets, a11y, navigation, forms, animations | ReducedMotionConfig, a11y labels audit, hitSlop on icons |
| Accessibility (WCAG Test Plan) | WCAG 2.1 AA + Korean Web Accessibility Guidelines, mechanical-enforcement table, manual gaps, 5-screen TalkBack/VoiceOver test plan | Pre-launch screen-reader audit; Image accessibilityLabel + role="header" sweeps |
| Review Checklist | Semantic guidance reviewers must apply at PR time (the things AGENTS.md mechanical gates can't catch) | Per-PR checklist; complements AGENTS.md hard constraints |
| Research Methodology | Multi-dimensional research: verify what actually RUNS + ground in concrete references, not abstract principles; multi-modal sources; cross-validation | Invoked every RESEARCH phase + agent spawn; pre-conclusion checklist |
Cross-Cutting Priority Actions
These items appear across multiple documents and have the highest impact:
P0 — Before Production
- Wire
onlineManager+focusManagerto AppState (Networking) - Tokens in SecureStore, not AsyncStorage (Security)
- RLS on every table with correct policies (Security)
- GitHub Actions CI:
npm run checkon PRs (Testing) - Sentry crash reporting setup (Testing)
- EAS Secrets for credentials (Testing)
P1 — Before Public Launch
- Optimistic mutations for RSVP/scores (Networking + State)
noUncheckedIndexedAccessin tsconfig (Architecture)- Keep architecture fitness tests green for package-boundary enforcement (Architecture)
- Per-tab error boundaries (Testing)
- FlashList for all 20+ item lists (Performance)
accessibilityLabel+accessibilityRoleaudit (UI/UX)
P2 — Growth Phase
- MMKV persistence for TanStack Query cache (Networking)
- Maestro E2E for critical paths (Testing)
- Reactive
t()via Zustand for dynamic language switching (Architecture) - Prefetch on list item render (Networking)
- OTA code signing (Security)