Pocketbridge.
Cross-device file sync. End-to-end encrypted.
problem
Sending a file from your phone to your laptop still routes through email, cloud drives, or trust-me-bro chat apps. The fast options are insecure, the secure options are slow, and none of them are device-to-device.
approach
Two clients pair through a Node + Redis broker. Once paired, payloads are encrypted with an MTProto-2.0-style scheme (built on NaCl/tweetnacl) so the server never sees plaintext. Web client is a Next.js PWA; the mobile client is a full Expo / React Native app. Redis pub/sub keeps handshake latency under 20ms even across continents.
outcome
Live on Vercel. Phone-to-laptop transfers in under a second on the same network. End-to-end encrypted in transit and at rest, with no plaintext touching the server.
stack rationale
- Redis pub/subPairing is a transient signal, not durable data. Redis lets two clients find each other in single-digit milliseconds without writing to disk.
- MTProto 2.0 (built on NaCl/tweetnacl)Implemented the MTProto 2.0 scheme — Ed25519 signatures, ECDH key agreement, HKDF derivation — over NaCl/tweetnacl primitives. Authenticated encryption with forward secrecy; the server never sees plaintext.
- Next.js PWABrowser is the universal client. Install-to-home-screen means the web app behaves like a native app on mobile too.
full stack
- TypeScript
- Next.js
- Node.js
- Redis
- MTProto 2.0 (NaCl)
- Docker