Inspiration

I've been in a lot of Zoom calls, and sometimes the calls can get pretty laggy. I wondered if there was a way to solve this.

What it does

Instead of streaming video for video calling, AsciiStream streams ASCII art, which takes up much less space than videos.

How I built it

I used PeerJS (an open-source wrapper around WebRTC) to handle sending data between users.

Challenges I ran into

This was my first time using WebRTC, so it was difficult to grasp some concepts. I usually write a lot of synchronous code, so the asynchronous nature of JavaScript was pretty confusing.

Accomplishments that I'm proud of

I am proud of completing a project that I personally find useful and can help users connect even with poor internet service.

What I learned

I read a lot of resources online and followed a Google Codelab (https://codelabs.developers.google.com/codelabs/webrtc-web/#0) to better understand WebRTC. I learned about callbacks in JavaScript and how functions can be treated as values.

What's next for AsciiStream

Right now AsciiStream only supports one-to-one calling. It would be cool to support group calls, so it could be used in a classroom setting. Adding a color option could be useful to add more detail to videos.

Share this project:

Updates