🛰️ StreamShift

🚀 Inspiration

Unstable or low-bandwidth networks make transferring important files frustrating and unreliable — especially in remote labs, disaster zones, or mobile clinics. We were inspired by how cloud systems achieve reliability and wanted to bring that level of robustness to offline and edge environments. Our goal was clear: make file transfers unstoppable.


⚙️ What it does

StreamShift ensures fast, reliable, and secure file transfers even under unstable connections. It intelligently divides large files into chunks, verifies integrity, retries failed parts, and resumes from where it left off — all while showing real-time progress and transfer health.


🌟 Key Features

  • 🔁 Chunk-based transfer with auto-resume
  • 🧩 Integrity verification via checksums
  • ⚡ Parallel transmission for speed optimization
  • 🔒 Secure channels with planned AES-256 encryption
  • 🧠 Smart retry logic based on connection quality
  • 📊 Real-time dashboard with progress analytics

Ideal for:

  • Film and media studios syncing large footage
  • Rural labs and mobile clinics sharing data
  • Disaster response units exchanging maps and sensor data
  • Remote engineering sites and racetrack telemetry setups

🧩 How we built it

We built StreamShift as a modular system with two key components:

Frontend (UI/UX)

  • Built using React and TailwindCSS
  • Real-time WebSocket connections for live status updates
  • Simple yet professional dashboard with logs, metrics, and progress bars

Backend (Core Engine)

  • Powered by Go (Golang) for performance and concurrency
  • Implements:
    • File chunking and SHA-256 checksum validation
    • Intelligent retry and resume mechanisms
    • REST API + WebSocket for two-way communication
  • Local metadata persistence with SQLite/BadgerDB

To measure performance and reliability, we modeled transfer efficiency as:

$$ \text{Transfer Speed} \approx \frac{\text{Total Data}}{\text{Time Taken} + \text{Retries} + \text{Integrity Checks}} $$

This helped us fine-tune retry intervals and optimize concurrency for weak networks.


🧠 Challenges we ran into

  • Handling simultaneous chunk uploads without race conditions
  • Designing retry logic that’s both efficient and fault-tolerant
  • Testing performance under artificially throttled networks
  • Synchronizing real-time UI updates without data lag
  • Managing memory usage during large file transfers

🏆 Accomplishments that we're proud of

  • Built a robust, resumable transfer engine that never loses progress
  • Achieved 95%+ transfer success rate in weak network simulations
  • Created a clean, minimal, and responsive live dashboard
  • Modular design — ready for encryption, compression, and scaling

📚 What we learned

  • How to build fault-tolerant systems using Go’s concurrency model
  • Efficient data chunking and hashing strategies
  • Frontend–backend synchronization using WebSockets
  • Importance of error recovery and retry logic in distributed systems
  • Collaboration and version control under hackathon time pressure

🔮 What's next for StreamShift

  • Add end-to-end encryption (AES-256)
  • Enable peer-to-peer (P2P) transfers for local mesh networks
  • Implement AI-based connection prediction to optimize retries
  • Build desktop and mobile clients for cross-platform sync
  • Extend support for edge devices like Raspberry Pi

Built With

Share this project:

Updates

Submission history