π Inspiration
Every day, people struggle to make the most of their devices. Our team's vision was to solve a simple yet persistent problem for cloud service users: creating a reliable protocol for high-efficiency data transfer between client devices. π‘
π What It Does
SCARF (named after its founders) is a rock-solid P2P Data Transfer Protocol that connects devices locally and sends data at high speeds. πΆ Using UDP broadcasts, it detects nearby nodes and establishes controlled connections. Then, using TCP combined with TLS security, we encrypt and transfer data at high speeds. Checksums and CRC help minimize errors due to RF packet loss. β‘π
π οΈ How We Built It
We chose C++ as our primary language due to its speed and reliability, which helped us build a lightweight, fast, and adaptable product with flexible memory management. π₯οΈ We used the UDP protocol to enable network discovery and TCP for stable, high-speed data transfer. For the UI/platform, we used HTML, CSS, JS, Node.js, and Electron to make it intuitive and user-friendly. π»β¨
π§ Challenges We Ran Into
We faced several challenges, including setting up our development environment with C++ binaries and working through a technically dense stack. π One of the toughest challenges was managing firewall rules and network configurations, which became complex and time-consuming. π©
π Accomplishments Weβre Proud Of
We are incredibly proud to have created SCARF, a protocol designed with the end-user in mind. π We learned a lot about networking and the complex interactions that keep us connected daily. We successfully connected multiple nodes to form a P2P network, delivering real value to users. πͺ We're also proud of our teamwork, drive, and the final product we achieved! π
π What We Learned
- Networking protocols and congestion management π‘
- The integral role of UDP and TCP headers in communication π₯π€
- The power of teamwork, collaboration, and the importance of never giving up! π§ π
π Whatβs Next for SCARF
The future of SCARF is exciting! β¨ We plan to fix any bugs, develop a mobile app to allow smartphones and tablets to become nodes, and write clear documentation so other developers can easily use our protocol. Weβd love to hear your feedback and suggestions! π±π
β View our work
All of our source files are avaible on Github!
Log in or sign up for Devpost to join the conversation.