Skip to content

React Native mobile app for iOS and Android #10

Description

@bgorzelic

Description

Build a native mobile app using React Native (Expo) that provides the full Firevector experience optimized for field use. The @firevector/schema and @firevector/engine packages can be reused directly since they're pure TypeScript.

Proposed Architecture

apps/mobile/          (new Expo app)
├── package.json      (depends on @firevector/schema, @firevector/engine)
├── app/              (Expo Router file-based routing)
├── components/       (React Native components)
└── lib/              (API client, auth, offline storage)

Key Differences from Web

  • Native GPS with background location updates
  • Camera integration for photo documentation
  • Push notifications for sync status
  • Native offline storage (SQLite via expo-sqlite)
  • Haptic feedback on LCES checklist completion

Shared Code

  • @firevector/schema — types (100% reusable)
  • @firevector/engine — calculations (100% reusable)
  • Validation schemas — Zod works in React Native

New Code Needed

  • React Native UI components (no shadcn — use Tamagui or NativeWind)
  • API client for Next.js backend
  • Native auth flow (expo-auth-session for Google OAuth)
  • Push notification setup (expo-notifications)

Acceptance Criteria

  • iOS and Android builds via Expo EAS
  • Full observation CRUD
  • Real-time calculations (same engine)
  • GPS auto-location with native accuracy
  • Offline-first with SQLite storage
  • Google OAuth login
  • Push notifications for sync
  • App Store and Google Play ready

Phases

  1. MVP: Observation form + dashboard (no map)
  2. v2: Mapbox integration + offline tiles
  3. v3: Camera, push notifications, background sync

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3: lowLow priority — nice to havearea: mobileReact Native mobile appneeds designNeeds UX/UI design before implementationsize: XLExtra large — 1+ weeks, consider breaking downtype: featureNew feature or capability

    Projects

    Status
    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions