---
title: React Native Architecture
category: product
entity_type: skill
price: $15
canonical: https://forgehouse.ai/skills/react-native-architecture/
lang: en
hreflang_alt: https://forgehouse.ai/tr/skiller/react-native-architecture/
last_updated: 2026-06-20
---

# React Native Architecture

> Build production React Native apps with Expo, navigation, native modules, offline sync, and…

A production-ready architecture for React Native and Expo apps that handle the hard parts: file-based navigation, secure auth flows, offline-first data, and native module integration. It models app lifecycle (foreground, background, killed) explicitly, queues mutations offline and flushes them when connectivity returns, and ships one codebase that targets iOS and Android together. You get the structure real apps need on day one.

## Use cases
- Starting a new Expo project with a proven folder structure
- Building offline-first apps that work without connectivity
- Implementing protected auth flows with secure token storage
- Integrating native features: haptics, biometrics, push notifications
- Setting up EAS Build, Submit, and OTA update pipelines
- Optimizing long lists and app startup time

## Benefits
- One codebase shipping to both iOS and Android, cutting build cost substantially
- Apps that feel responsive offline through React Query cache, persistence, and optimistic updates
- Sensitive tokens kept in SecureStore (iOS Keychain / Android EncryptedSharedPreferences), never in code
- Store-review delays bypassed for fixes via OTA updates pushed to a release branch

## What’s included
- Expo Router navigation with tabs, dynamic routes, and modal presentation
- AuthProvider with route protection and SecureStore token persistence
- Offline-first React Query setup with AsyncStorage persister and optimistic mutations
- Native services for haptics, biometric authentication, and push notification registration
- Platform-specific code patterns with Platform.select and FlashList list virtualization
- Complete eas.json plus build, submit, and OTA update commands

## Who it’s for
Mobile teams architecting a new cross-platform React Native app or hardening an existing one for offline use and store release.

## How it runs
The skill stands up a production mobile app in a fixed architecture sequence, offline-first from day one, store-ready at the end:
1. Scaffold with Expo and TypeScript, then lay out the file-based navigation: (tabs) group for parallel sections, Stack screens for depth, modals via presentation modal, dynamic routes like profile/[id] doubling as deep link targets
2. Build the auth flow: tokens in SecureStore (never AsyncStorage), an AuthProvider that checks segments on every navigation and replaces the stack to login or tabs so protected routes are unreachable while signed out
3. Make data offline-first: React Query with networkMode offlineFirst, AsyncStorage persister for the cache, NetInfo wired to onlineManager, and optimistic mutations that update the UI instantly and roll back on error
4. Integrate native capabilities through Expo modules with platform guards: haptics on interactions, biometric auth with hardware and enrollment checks, push notifications with Android channel setup and permission flow
5. Run the performance pass: FlashList with estimatedItemSize instead of FlatList, memoized list items with stable keyExtractor, Reanimated for 60fps animations on the native thread, StyleSheet.create everywhere
6. Ship through EAS: development, preview and production build profiles, store submission via eas submit, and OTA updates for JS-only fixes that skip the review queue

## FAQ
### I already have an Expo app, is this only for greenfield projects?
Both. New projects get the proven folder structure and Expo Router setup from day one, while existing apps can adopt the pieces one at a time: the offline-first React Query layer, the AuthProvider with SecureStore, or the EAS build and OTA pipeline.

### How does the offline-first part actually work?
React Query's cache is persisted through AsyncStorage, mutations made offline are queued and flushed when connectivity returns, and optimistic updates keep the UI responsive in the meantime. App lifecycle states: foreground, background, killed, are modeled explicitly rather than assumed away.

### Does it write custom native Swift or Kotlin modules for me?
No. Native capability comes through Expo's existing modules: haptics, biometric auth, push notification registration. If your feature needs a custom native module written from scratch, that work sits outside this architecture.

## Price
$15, one-time, no subscription. VAT included.

Related guide: [AI code review and developer workflow](https://forgehouse.ai/guides/ai-code-review/)
