CHRP Track: Low Bandwidth, High Delivery

The Problem

When cellular networks go down, communication shouldn't. CHRP Track turns an iPhone into a LoRa mesh messenger for sending text, images, and voice across an off-grid network.

The Challenge

LoRa packets carry tiny payloads, and every packet must survive every hop. A single uncompressed voice clip can require thousands of packets, making media slow or impossible to send.

Our Solution

CHRP Track combines neural compression with reliable mesh delivery. ACK-based progress rings, estimated wait times, transmission history, per-hop loss statistics, and one-tap retries make every transfer transparent and trustworthy.

Smart Compression & Mesh Pipeline

Images use CompressAI's pretrained neural codec, while voice uses Meta's EnCodec at configurable bitrates. Compressed files are split into 180-byte chunks, acknowledged individually, and selectively retransmitted when missing. Delivery is confirmed only after every chunk arrives and the reconstructed payload passes its CRC32 check.

Test results: A 640 × 480 synthetic image shrank from 603 KB to 839 bytes—about 720× smaller. A 7.1-second voice clip shrank by 116× at 3 kbps, requiring just 16 chunks. Both image and voice compression were validated through our five-node mesh, including successful decoding at the destination.

How We Built It

React + TypeScript powers the iPhone-style interface, with FastAPI handling compression and transmission, WebSockets delivering live updates, and Docker Compose simplifying deployment. A five-node simulator enables end-to-end testing before real hardware integration.

Challenges & Lessons

We prioritize acknowledged packets over optimistic progress, show routes only when verified, and use a shared transmission contract to develop the frontend and backend in parallel.

What's Next

Test compression on real photographs and voice quality, validate timing on physical CHRP hardware, and add persistent history and partial-media previews.

Built With

React · TypeScript · FastAPI · Python · WebSockets · CompressAI · EnCodec · PyTorch · Docker · nginx

Built With

Share this project:

Updates

Submission history