Inspiration

I started noticing some problems with social media when I was in an online computer science class. We use a program called GoToMeeting which is designed for conferences. However, when I tried to do other work for the class at the same time, I discovered my computer started lagging due to too much ram being used. As time progressed, I also noticed how I juggled between so many social medias such as facebook, discord, slack, telegram, instagram, and more and how much time it wasted for me.

What it does

Epsilon is designed to be a social media platform geared towards small businesses, events, and communities to streamline their experience. We plan to create presets for non tech savvy users and CEO’s and for organization, create subservers.

How we built it

We used primarily Javascript to build the entire application. We had three main parts: The frontend, the backend and the socket manager. For the frontend, we used ReactJS to create a smooth UX and combined that with Socket.io, a direct connection library, and WebRTC, a video and voice calling library, to create all the features the client needs to see. The backend was made from Strapi, a NodeJS REST server, to ensure that the client could get the information they needed from the server. In order to get quick and lightweight data transfers, we put a lot of effort into creating a Socket.io backend that directly connects with the client. It sends messages directly to the client as they are being sent and also serves as the setup for the WebRTC.

Challenges we ran into

Socket.io was and still is a serious problem. We ran into huge errors while using it and also had trouble making sure all of the code ran smoothly as we had to put code on both the server and clients that had to run perfectly together. However, in the end, we ran into some unforeseen errors and we did not have enough time to finish it this hackathon. We also had problems with WebRTC. It took a long time to implement and still isn’t in an ideal position. Streaming video from peer to peer initially requires you to first get communications between them so we had to set up a server to do that and it was hard to manage the intricate protocols they used. Even after implementing all the protocols, the loss of functionality of Socket.io spelled death for WebRTC. Thus, we moved to TokBox for a temporary solution. One final challenge we ran into was designing. Neither of us were very good at design and we spent a lot of time trying to get the right format we wanted. We ended up using some other code and adapting it to our needs.

Accomplishments that we're proud of

We are using AI to detect spam and suspicious requests that enables us to detect spam bots and hackers way faster than our competitors, while still preserving the speed of normal users by utilizing secured TCP Sockets. With those same sockets, we use it to set up a peer to peer, lightning fast, WebRTC connection to create video and conference calls. All the framework is in place but our web app unfortunately ran into some last minute errors that we didn’t have enough time to fix.

What we learned

First and foremost, we learned a lot of coding. We experimented with ReactJS for the frontend and also used Strapi for the backend, both of which were unfamiliar to us both.

What's next for Epsilon Communications

We plan to create a prototype production build soon and in it, increase security, improve the user interface, and finish and finalize features. Ideally, we could finish and perfect conferences, implement subservers, and really create a place where everything comes together and streamlines your work.

Built With

Share this project:
×

Updates