Insta Share
2025Real-time file-sharing web app where users drag and drop files onto a shared 2D canvas with anonymous session-based collaboration.
- Java
- Spring Boot
- Angular
- TypeScript
- Redis
- AWS

The Problem
Sharing files quickly between devices or with collaborators shouldn't require accounts, email attachments, or cloud storage setup. Most existing tools are either asynchronous, cluttered with UI, or lock files behind a sign-in wall. The goal was zero-friction, session-based file sharing — just share a link and start dropping.
How It Works
Opening the app generates a unique session URL. Anyone with the link joins the same shared 2D canvas and can see all participants in real time. Files are dragged directly onto the canvas, where they appear for everyone instantly. Sessions and their files automatically expire after one day, or sooner when all users leave. No accounts, no setup required.
Architecture
The backend is a Spring Boot service that manages WebSocket connections using the STOMP protocol, broadcasting canvas events to all session participants. Uploaded files go to AWS S3; Redis caches the presigned access URLs so repeated fetches skip the round-trip to AWS, and enforces per-user upload rate limits to prevent abuse. The Angular frontend handles drag-and-drop interactions and renders the live canvas. A GitHub Actions CI pipeline runs the JUnit and Mockito test suite on every push.