Unveiling Zed, a new sharing experience right in your browser.

Unveiling Zed, a new sharing experience right in your browser.

Seamlessly share your data with anyone over the internet, everywhere, anytime⚡

·

3 min read

What does Zed do? 🤷‍♂️

Ever been in a situation where you just wanted to send over some files real quick to a friend? Maybe a simple word document which needs to be ready by morning? Or even an invitation letter for an event? Well, you normally would email that, or if you are old school, you can also send it through post office. 🥶 Boring, yeah? I know. Here is where Zed comes in. It aims to simplify your life by sending the files straight to the recipient, no interceptions or whatsoever by those nosy service providers out there. Zed keeps your stuff more private, and makes life easy.

Inspiration 😎

In my Telegram saved messages for instance, I have a lot of files saved up in the cloud for easy transfer. Once I need a file on my Mac or my phone, I'd just push it into my saved messages on Telegram and just download from there on another device. This is good, but every time I have to:

  • download the file on every device
  • sign in to Telegram
  • wait for long upload and download times (only happens sometimes)

I believe life should be easy, so I created Zed with help from a few friends so that I can get out of this loop.

Video Showcase

Tech Stack 🪜

Zed is a fullstack web application. The frontend was built with:

  • ReactJS
  • MobX
  • WebRTC
  • SocketIO
  • Styled-Components
  • MaterialUI

The backend was built with:

  • NodeJS
  • ExpressJS
  • MySQL
  • SocketIO
  • Sequelize

Hosting and Database 🎛️

Hosting

The fronted is hosted on Vercel.

The backend is hosted on Linode. Very generous of them to give out a $100 credit. This is my first time hosting something on a VPS myself. It was smooth. The backend has two routes.

  • The first route is a test route for fun: https://lucky-zed.xyz/test

  • The second route is the most important. This is where I generate random slugs that are used to connect others through a room ( a hypothetical space for two peers to share files ): https://lucky-zed.xyz/slug. Below is an example.

{
  "message":"Success",
  "data":{
    "slug": "aggressive-literature"
    }
}

Database

For the database, I used a managed MySQL managed database from Linode. It was quite easy to set up and use. I learned about how to use SSL and TSL certificates after going through a little pain 🤕.

Credits 🐿️

I would like to thank these people who helped me one way or another in building this:

Useful Links 🔗