Prototype WebRTC course transfer to iPhone PWA
Author: ReinerLauCreated Sep 18, 2026Updated Sep 18, 2026
Question
Can an iPhone Home Screen PWA use Cloudflare Worker and Durable Object signaling to establish a direct WebRTC DataChannel with a desktop browser, receive Earthworm course JSON, persist it in IndexedDB, and reopen it offline?
Prototype scope
- Minimal GitHub Pages PWA
- Minimal Cloudflare WebSocket signaling room
- Manual room code before QR
- Real largest course JSON plus a 1 MB synthetic payload
- SHA-256 verification, WebRTC stats, IndexedDB persistence
- Real iPhone and desktop on the same Wi-Fi
Stop conditions
Stop before PWA and QR work if Cloudflare signaling cannot connect reliably or the DataChannel cannot complete five consecutive verified transfers.
Out of scope
No integration with the production UI, authentication, database, course import flow, TURN relay, or production hardening.
Capture
The prototype remains on branch codex/prototype-webrtc-transfer; the final comment will record devices, timings, candidate types, and the feasibility verdict.
Source: cuixueshe/earthworm