Buzzard to Peregrine Transition

Understanding the evolution from the Buzzard (legacy) native apps to the Peregrine (modern) React Native platform.

This page documents the strategic transition from the legacy Buzzard native apps to the current Peregrine React Native platform.

Overview

The Phenom mobile application has evolved through two major platform generations:

  1. Buzzard (Legacy) — Native iOS (Swift) and Android (Kotlin) apps built on Firebase
  2. Peregrine (Current) — Cross-platform React Native app built with Expo

This document explains the relationship between the two platforms and the transition strategy.

flowchart LR A([Buzzard iOS
Swift]):::legacy --> C([Peregrine
React Native]):::current B([Buzzard Android
Kotlin]):::legacy --> C C --> D([iOS App Store]):::deploy C --> E([Google Play]):::deploy classDef legacy fill:#151515,stroke:#d73429,color:#ffffff,rx:30 classDef current fill:#121010,stroke:#a5e3e8,color:#a5e3e8,rx:30 classDef deploy fill:#1a1a1a,stroke:#a5e3e8,color:#ffffff,rx:30

Platform Comparison

AspectBuzzardPeregrine
PlatformNative iOS (Swift) + Android (Kotlin)React Native + Expo (cross-platform)
BackendFirebase (Firestore, Cloud Functions, Auth)Hasura GraphQL + PostgreSQL + AWS Cognito
Real-time MessagingPubNubMatrix Protocol
MapsGoogle Maps SDKMapbox GL
GeospatialBasic lat/lngH3 hexagonal indexing
CameraNative camera APIsVision Camera v5 + React Native Skia HUD
Content AuthNoneC2PA Content Credentials
Video ProcessingBasic captureFFmpeg Kit + custom post-processor
InternationalizationEnglish only7 languages (i18next)
Development TeamABCloudz (external)Internal team
RepositoriesBuzzard-iOS, Buzzard-AndroidPhenomApp

Why the Transition

Limitations of Buzzard

  • Dual codebase: Maintaining separate Swift and Android codebases doubled development effort
  • External dependency: Reliance on ABCloudz for all development work
  • Firebase limitations: Vendor lock-in with limited query capabilities compared to PostgreSQL + GraphQL
  • No content authentication: No C2PA support for verifying captured media authenticity
  • Limited geospatial: Basic coordinate storage without advanced spatial indexing

Peregrine Advantages

  • Single codebase: React Native serves both iOS and Android from one codebase
  • Internal control: Development managed by the internal team
  • Modern stack: Hasura GraphQL, AWS infrastructure, advanced geospatial (H3)
  • Content credentials: C2PA integration ensures media authenticity
  • Advanced visualization: Skia-based camera HUD, Mapbox maps, 3D globe
flowchart TD A([Buzzard in Production]):::legacy --> B([Peregrine Development]):::current B --> C([Feature Parity Reached]):::milestone C --> D([Beta Testing]):::current D --> E([User Migration]):::milestone E --> F([Buzzard End-of-Life]):::legacy classDef legacy fill:#151515,stroke:#d73429,color:#ffffff,rx:30 classDef current fill:#121010,stroke:#a5e3e8,color:#a5e3e8,rx:30 classDef milestone fill:#d73429,stroke:#ffffff,color:#ffffff,rx:30

Current Status

  • Buzzard: In maintenance mode. ABCloudz handles bug fixes and minor updates on a Time & Material basis. Production version 1.2.3 (build 23) on iOS.
  • Peregrine: Active development targeting production launch in Q1 2026. See Peregrine Roadmap for timeline.

Transition Strategy

The transition follows a parallel approach:

  1. Buzzard remains in production for existing users
  2. Peregrine is developed to feature parity and beyond
  3. Once Peregrine reaches production readiness, users migrate to the new app
  4. Buzzard enters end-of-life