#784·earthworm

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.