Architecture Overview
Technical architecture, design patterns, and system design of the Peregrine mobile application.
This section contains documentation for Project Peregrine. Access is restricted.
Project Peregrine is the internal development of The Phenom App - a React Native mobile application for phenomenon documentation and verification. Built with modern web technologies and cross-platform mobile development practices, the project focuses on creating an intuitive platform that captures, authenticates, and analyzes real-world phenomena through advanced geospatial mapping and sensor integration.

This approach enables unified development targeting both iOS and Android from a single codebase. TypeScript strict mode ensures type safety across the entire application.
These features are unique to Peregrine and distinguish it from standard boilerplate applications:
The app organizes content into specialized categories:
See Features Overview for detailed feature documentation.
The application is built on a modular architecture with clear separation of concerns:
See Architecture Deep Dive for comprehensive technical architecture documentation.
Explore specific development aspects in the subsections below:
Technical architecture, design patterns, and system design of the Peregrine mobile application.
High-level product requirements for the Peregrine version of the Phenom app.
Complete feature set for PhenomApp (Peregrine) production release and deployment architecture via Expo Application Services.
Custom Peregrine features, capabilities, and implementations.
Backend API, database, infrastructure, and integration points for Peregrine mobile app.
External documentation and resources for C2PA content authenticity and Matrix/Synapse messaging integration.
Overview of device sensors utilized via Expo APIs.
Why the smartphone microphone cannot capture infrasound, why the IMU is the correct sensor on both iOS and Android, and how to wire it into Peregrine’s Expo + React Native telemetry pipeline.
Comprehensive guide to the Expo Application Services (EAS) mobile deployment pipeline for iOS and Android production builds and submission.
Postmortem and reference for the iOS release-build camera recording failure (issue #91), fixed 2026-06-04 via the Phenom-earth vision-camera fork.
How PhenomApp crash and error reporting works: @sentry/react-native in JS-only mode shipping events to GlitchTip.
Using TestFlight and EAS for testing iOS feature branches.
Reference for the three iOS release-build launch crashes fixed in builds 32 through 35 and the patches that must be preserved.
The PhenomApp GitHub Actions pipeline: lint, typecheck, tests and secret scanning on every PR, plus husky pre-commit hooks, CODEOWNERS and Dependabot.
Summary of research findings from user interviews and surveys, validating the core design strategy and identifying critical gaps for the Phenom App.
Agendas, notes, and action items from Peregrine project team meetings.
Instructions for finding iOS and Android device UDIDs for internal testing builds.
How to create and distribute internal test builds for feature branches using EAS Build.
Assignment of testing responsibilities for Project Peregrine and Project Buzzard features.
Plain-language summary for stakeholders: why GPS and sensor data stopped appearing on published phenoms, the two competing fixes, the decision taken, and the path back to full data. All diagrams carry C2PA Content Credentials.
Architecture Decision Record: every published phenom carries telemetry both as embedded SRT tracks inside the signed MP4 and as an uploaded sidecar JSON. SRT-only is deferred behind three hard gates. Adopted 2026-06-11.
Engineering status of the recording-pipeline container switch (build 75 onward): what is fixed, what remains, the publish-boundary definition, and the C2PA ordering constraints that govern the remaining work.
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
© 2026 Phenom Earth