Inspiration
There are plenty of mobile apps for listening to podcasts. However, few applications provide a truly cross-platform solution for listening to podcasts. Resonate was built with the intention of allowing users to listen to podcasts wherever they are, on whatever platform - whether it's mobile, desktop, or something else.
What it does
Right now, Resonate is relatively basic: users can search for podcasts, drill down into episodes for a specific podcast, and play episodes. And that's about it.
How I built it
I built Resonate using AngularJS, JQuery, and Bootstrap. I used the iTunes API to search for podcasts, and used JQuery to parse RSS feed URLs and extract data from each. I also tried using node-webkit to convert my current web app into a desktop application, but I was not able to finish packaging it.
Challenges I ran into
It was a bit challenging learning how to use the iTunes API to retrieve lists of all the episodes for a given podcast. iTunes can search for podcast streams and provide the number of episodes for a given podcast, but I learned that iTunes doesn't seem to have an API for listing all podcast episodes for a given podcast.
Extracting data from RSS feed URLs was challenging initially because most feeds returned XHTML, not plain XML.
My UI is not responsive as of right now; the top menu will get off
Accomplishments that I'm proud of
I was able to get podcast playback complete, as well as basic search functionality.
I got more familiar with AngularJS
I'm pretty happy with my domain name :P
What I learned
Learned how to convert XML to JSON using JQuery
Learned how to set up pages and domains using GitHub
Learned about web audio APIs
Learned the basics of wrapping webapps into desktop apps using node-webkit
What's next for Resonate
- Add analytics to see which podcasts and episodes are most popular, avg. listening time, etc.
- Add a recommendation/discovery engine to suggest new podcasts to users based on:
- Genre
- Duration
- Fix responsive UI issues
- Add social account integration so that users can:
- Create and edit playlists
- Favorite episodes
- Share episodes
- Add more advanced playback options
- Finish packaging everything into cross-platform desktop apps
- Get a more professional domain name when Resonate becomes more full-fledged :)
Log in or sign up for Devpost to join the conversation.