Peer Drop
π€ Secure peer-to-peer file and text transfer tool
Status: π’ Live
Link: https://peer-drop.real-tech.online/
Tech: Next.js, PeerJS, WebRTC, Tailwind CSS
Backgroundβ
Frequently need to transfer files between my phone and computer, or share files with family members. Existing solutions either require uploading to cloud services (privacy concerns), need account registration, or have file size limits.
Problemβ
Common file transfer pain points:
- Cloud services: Files uploaded to third-party servers, privacy risk
- Email/WeChat: File size limits (usually 20-100MB)
- USB cable: Inconvenient, requires physical connection
- AirDrop: Only works within Apple ecosystem
- Account registration: Most services require sign-up
What I needed: A simple way to transfer files directly between devices without intermediaries.
Solutionβ
Built a browser-based P2P transfer tool using WebRTC:
- Direct connection: Device-to-device, no server storage
- QR code pairing: Scan to connect, no manual ID entry
- No installation: Works in browser, no app needed
- No size limits: Transfer files of any size
- Real-time chat: Text messages alongside file transfers
Key Technology:
- PeerJS for simplified WebRTC implementation
- STUN servers (Google's public STUN) for NAT traversal
- File chunking for reliable large file transfers
- Next.js for modern React framework
Resultβ
What Works:
- β Successfully transfers files directly between devices
- β No file size limits (tested up to 5GB+)
- β Fast transfer speeds on local network (50-100MB/s)
- β Simple QR code pairing - scan and go
- β Works across platforms (iOS, Android, Windows, Mac)
- β Real-time text chat during transfer
Limitations:
- β Both devices must be online simultaneously (no async transfer)
- β Requires modern browser with WebRTC support
- β Connection can fail on corporate networks with strict firewalls
- β No transfer resume if connection drops
- β Slower speeds across different networks (depends on internet speed)
Real Usage Stats (from my own use):
- Used 50+ times for phone-to-computer transfers
- Largest file transferred: 8GB video file
- Most common use: Transferring photos from phone (20-50MB each)
Conclusionβ
Key Learning: P2P is perfect for real-time, privacy-sensitive transfers but not suitable for async file sharing. The trade-off between convenience and privacy is worth it for personal/family use.
Technical Insight: WebRTC's biggest challenge isn't the API itself, but handling various network environments. STUN servers solve most cases, but corporate networks still need TURN relay.
If I Were to Do It Again:
- Add TURN server fallback for difficult networks (relay encrypted data)
- Implement file chunking with resume capability
- Add transfer history (metadata only, not files)
- Support multiple file selection and folder transfer
Practice Recordsβ
- WebRTC Connection Setup - How to establish P2P connections
- Handling Network Issues - Dealing with NAT traversal and firewalls