Inspiration
Moving a file between two devices should be as simple as handing someone a piece of paper. Instead, it often requires installing an app, creating an account, uploading data to the cloud, or trusting a third-party service with sensitive files. We wanted to remove that friction.
Peek was built around a simple idea: open a browser, scan a QR code, and transfer files securely in seconds. No installation, no accounts, no cloud storage, and no digital footprint. Our goal was to create a tool that feels as effortless as AirDrop while working across any modern browser on any device.
What it does
Peek is a browser-based, end-to-end encrypted file transfer application that allows users to securely move files, folders, and clipboard content between any two devices.
The sender selects files, the receiver scans a QR code, and an encrypted session is established automatically. Whenever possible, files are transferred directly using WebRTC. If a direct connection cannot be established because of network restrictions, Peek automatically switches to an encrypted relay without exposing file contents to the server.
The application also supports two-way transfers, temporary Peek Links with expiry options, clipboard synchronization, multiple file transfers, and automatic session expiration to ensure no traces remain after use.
How we built it
Peek is built using a modern web stack focused on security, performance, and simplicity.
- Frontend: React 18 with Vite for a fast, responsive user experience.
- Receiver: Lightweight vanilla JavaScript with zero runtime dependencies.
- Communication: WebRTC for peer-to-peer transfers, with WebSockets used for signaling and relay coordination.
- Encryption: The Web Crypto API implements AES-256-GCM encryption entirely in the browser. Encryption keys are generated client-side and embedded in the URL fragment, ensuring they never reach the server.
- Backend: Cloudflare Workers and Durable Objects manage session coordination and encrypted relay functionality while maintaining low latency globally.
- Deployment: Vercel hosts the frontend, while Cloudflare Workers power the relay infrastructure.
Every architectural decision was guided by one principle: the server should coordinate transfers, not own user data.
Challenges we ran into
One of the biggest challenges was making peer-to-peer communication reliable across different network environments. Many users sit behind restrictive NATs or enterprise firewalls, making direct WebRTC connections unreliable.
To solve this, we implemented an automatic encrypted relay fallback that preserves end-to-end encryption even when direct connectivity is unavailable.
Another challenge was securely handling encryption keys. We needed a method that allowed seamless pairing without transmitting secrets through the backend. Using the URL fragment allowed us to keep encryption keys entirely client-side while maintaining a frictionless user experience.
Balancing strong security with a simple "scan and send" workflow required multiple iterations to ensure the experience remained intuitive without compromising privacy.
Accomplishments that we're proud of
- Built a truly browser-based file transfer experience requiring no installation or account creation.
- Implemented end-to-end encryption where the server never has access to user files or encryption keys.
- Achieved automatic peer-to-peer transfers with encrypted relay fallback for restrictive networks.
- Designed a clean QR-code pairing experience that works across desktop and mobile devices.
- Added productivity features such as clipboard synchronization, temporary file links, and bidirectional transfers while keeping the interface minimal.
- Created a solution that is practical for classrooms, workplaces, conferences, public computers, and privacy-conscious users.
What we learned
Building Peek taught us that creating secure software is not only about strong cryptography but also about designing intuitive user experiences. Security features only matter if people actually use them.
We also gained hands-on experience with WebRTC networking, Cloudflare Workers, Durable Objects, browser cryptography, and the complexities of peer-to-peer communication across real-world network conditions.
Most importantly, we learned how thoughtful product design can make advanced technologies feel invisible to the end user.
What's next for Peek
Our roadmap focuses on making Peek even more resilient and scalable.
Planned improvements include:
- Redis-backed relay infrastructure for horizontal scaling.
- TURN server deployment for better connectivity on restrictive networks.
- Resume interrupted file transfers.
- End-to-end encrypted folder synchronization.
- Native mobile Progressive Web App (PWA) support.
- Transfer analytics and health monitoring that preserve user privacy.
- Larger file optimizations and improved streaming performance.
- Open-source community contributions and self-hosting improvements.
Our long-term vision is to make Peek the fastest and most privacy-respecting way to move data between any two devices, anywhere, using nothing more than a web browser.
Log in or sign up for Devpost to join the conversation.