Wanting a website that was like a TV channel where you could watch developers talk about programming/development live.

What it does

Allows anyone in the world to take over the WeCode.TV broadcast. If there is no one else that wants to broadcast, that broadcaster can go as long as they want. If there are others in the queue behind them, then they can only broadcast for five minutes and then the next person in line gets their turn. If there is no one broadcasting at a current time, the channel shows reruns.

How I built it

Used Meteor with React as the front-end and GraphQL through Apollo to handle database queries/mutations. To allow broadcaster to broadcast via their browser, used WebRTC through the Wowza Media Server. For a client side store/messaging service, used Ably. Used Facebook Accounts for login.

Challenges I ran into

It was difficult to figure out how implement countdown timers and shared time among users. I ended up using Ably for my server time and then all clients would go off of that.

Accomplishments that I'm proud of

I'm very proud that I was able to create my own TV channel. And also, that it records the video and allows you to see the feedback from viewers as it really happened in real-time. Kind of like SoundCloud, but I haven't really seen the idea being used for video.

What I learned

In building this project, I learned React, Apollo, Redux, GraphQL, and how to work with WebRTC.

What's next for WeCode.TV

Make the product more broad. Instead of limiting to developers, open it up to comedy, sports, etc. The concept could be applied to a wide range of subjects. Anything where you'd like to see people talk about something live. Make it one central place so viewers can have shared experiences as opposed to the fragmentation that happens with online video today.

Built With

Share this project: