About

A network that lives in people's pockets.

Air-Mesh started as a hackathon project with a stubborn question: what does a messaging app look like when you assume the towers are down? The answer is a store-and-forward mesh where shelters write reports offline, couriers physically carry encrypted envelopes, and a base camp laptop turns the backlog into prioritized action.

Principles

Honesty over demo magic

The app never presents mock peers as live connections. If a transport isn't available, the UI says so instead of faking it.

Local first, always

Identity, conversations, rescue reports, audit events, themes, and queued actions all live on the device.

Deterministic verification

One command runs TypeScript, lint, Vitest, Android environment checks, Gradle validation, and Rust tests.

Stack

Mobile app
React Native · Expo Router · Zustand
Storage
SQLite with local audit logging
Crypto
AES-256-GCM · X25519 interfaces
Mesh
BLE service boundary · chunking · TTL routing
Base camp
Rust · Axum · SQLite dashboard
Release
GitHub Actions → signed APK

Limitations

Air-Mesh is an active project, not certified emergency infrastructure. BLE range, Android background restrictions, and battery life all limit real-world reach. Validate it on your own devices before relying on it, and always keep official emergency channels as your primary option.