Web app aggregating multiple media sources to quickly select what to watch or listen to.


Why did I do this?

I never paid for cable TV so all my entertainment comes from the web. Most TV channels offer live streaming on their website but it's tedious to browse to many website to see what's playing. I also like a number of different sources such as Twitch livestream, radios or Youtube. It's effective to have one central hub where you can pick content quickly.

What I learned

I have been playing with Angular for web app development, and coming from a mobile app dev background, am very interested in leveraging the framework for cross-platform/mobile software. I decided to try out Ionic to have a nice responsive UI and UX since most of the time I use a phone or tablet to consume entertainment.

Luckily, most channels I am interested in offer a pretty open streaming source on their own website, so I could borrow that to embed in my app. When I can not embed the feed directly, I directly open the external website, or app on mobile through deep links. I used a TV schedule API to fetch currently playing show for my TV channels. I also interface with Youtube's API to fetch videos added to an unlisted playlist which did not require handling a complete OAuth flow like getting a specific user's data would. In a similar way, I grab currently live channels from a curated hardcoded list from Twitch's API.