With the new schooling plans coming out in my area, it's hard not to think about how this next year will be managed. I wanted to come up with a solution that would meet my needs

What it does

The software allows teachers to live-stream their in-class lessons for schools that are using a mixed learning/attendance model to maintain social distancing. Students can connect to these live-streams via a link and add questions to a queue, which the host can answer from without disrupting their class.

How I built it

I built the software using a Node.js backend with a based streaming layer. The frontend was made in Vue and tested on the latest public release of Chrome (the video codecs are not supported on other browsers)

Challenges I ran into

The most difficult part of this challenge was configuring a MediaSource object to take data from a WebSocket. While it was easy to link them, the WebM format requires a metadata region at the beginning, which if the client didn't connect at the beginning, the program would crash.

Accomplishments that I'm proud of

I am proud of my messy solution to a need for convenient streaming by piping it through a WebSocket with no special encoding.

What I learned

I learned to manage my expectations on features I can implement in these timeframes. I was originally planning on adding a voice detection layer and having questions being asked audibly to the class, but time did not permit. I also learned that next time, I need to convince a friend to do these events with me.

What's next for SchoolSpace

If anyone shows any interest in the product, I would be happy to make the necessary bugfixes to get it production-ready, but other than that, I have no specific plans

Share this project: