The Easy Drop
A browser-based local file-sharing platform that enables direct peer-to-peer file transfers between devices on the same Wi-Fi network without relying on cloud services.
- RoleEnd-to-End Product Development
- PlatformProgressive Web Application
- FocusReal-Time Networking & Peer-to-Peer File Sharing
Problem
Most local file-sharing solutions either rely on cloud infrastructure, require native software installation, or offer outdated user experiences that make cross-platform sharing inconvenient.
Solution
The Easy Drop provides a lightweight browser-based platform where nearby devices automatically discover each other and transfer files directly using WebRTC, while the backend only coordinates connections.
Users
- • Students
- • Professionals
- • Teams
- • Personal Device Owners
Outcome
A modern, privacy-focused file-sharing platform that delivers fast peer-to-peer transfers through a scalable event-driven architecture.
App Previews
Problem breakdown
Traditional File Sharing
- • Cloud uploads introduce unnecessary delays and privacy concerns
- • Many solutions require software installation on every device
- • Cross-platform compatibility is often inconsistent
User Experience
- • Outdated interfaces reduce usability
- • Manual device discovery slows down sharing
- • Connection workflows are often confusing
Technical Challenges
- • Reliable peer discovery on local networks
- • Real-time communication without heavy infrastructure
- • Efficient transfer of large files while maintaining integrity
Design intent
Zero-install experience
Users only need a modern web browser to discover nearby devices and begin transferring files without downloading native applications.
Privacy-first architecture
Files never pass through a central server. The backend only coordinates device discovery and signaling while file data travels directly between peers.
Modern interaction
The interface was designed with a clean, Apple-inspired aesthetic, responsive layouts, smooth animations, and intuitive drag-and-drop interactions.
Lightweight scalability
The application deliberately avoids heavy frontend frameworks, relying on modular JavaScript and efficient backend services to remain fast and maintainable.
User flows
Sender journey
Goal: Transfer files to another nearby device with minimal friction.
- 01
Open the application in a browser
- 02
Discover available nearby devices automatically
- 03
Send a connection request
- 04
Drag and drop files into the transfer area
- 05
Transfer files directly through WebRTC
Reducing setup steps enables users to begin sharing files almost immediately without requiring technical knowledge.
Receiver journey
Goal: Securely receive files from trusted nearby devices.
- 01
Appear automatically as an available device
- 02
Accept or reject incoming connection requests
- 03
Receive streamed files in real time
- 04
Verify file integrity using SHA-256 hashing
- 05
Download verified files
Explicit connection approval combined with integrity verification ensures both security and reliability throughout the transfer process.
Architecture Overview
High-level breakdown of how the system is structured and how responsibilities are separated across layers.
Web Client
A responsive web application built with HTML, JavaScript, and Tailwind CSS, providing device discovery, file management, and real-time user interactions.
Networking Layer
Server-Sent Events handle real-time presence updates while WebRTC DataChannels establish direct peer-to-peer communication between devices.
Backend Coordination
A lightweight Flask backend manages device discovery, session management, signaling, and connection coordination without storing transferred files.
Result & Impact
Built a complete browser-based peer-to-peer file-sharing platform.
Enabled direct device-to-device transfers without relying on cloud storage.
Implemented automatic device discovery and real-time connection management.
Created a scalable networking architecture combining WebRTC, Server-Sent Events, and a lightweight Flask backend.
"Want to see more or work together?"
This project reflects how I approach real-world problems — from UX decisions to technical trade-offs. If this resonates, let’s talk.

