Inspiration
The need to make learning resources on YouTube accessible to those on their PCs and with weak network connections. The same feature is available only for mobile phones via the YouTube app, but not for desktop devices.
What it does
Allows the end user to download YouTube playlists in bulk.
How we built it
We built it entirely using the Vanilla stack in the front-end, and Flask in the back-end.
Challenges we ran into
- Familiarizing ourselves with the hackathon platform, team-creation, and submission.
- Creating a user-friendly front-end.
- Connecting the front-end with the back-end.
- Handling all edge cases where the app might fail.
- Make it scalable enough to consider future deployment on cloud.
Accomplishments that we're proud of
- Successfully Dockerizing the project.
- Having the development setup well-documented within the project README.
- Being able to solve a well-known but unseen problem that students face.
What we learned
- The usage of the
pytubelibrary and the schema of object-oriented implementations within. - Use a fetch API to make multiple requests to the back-end API at once.
- Use promises to asynchronously download multiple videos.
- Dynamically update the front-end components using jQuery and VanillaJS itself.
What's next for YouTube Playlist Downloader
- Containerized deployment on cloud services.
- Improvement in the UI.
- Changes to the codebase to improve efficiency.
- Better caching of resources.
- Distributed deployment for fast access across regions.
Log in or sign up for Devpost to join the conversation.