Inspiration
Have you ever remembered a quote from a video, but not the name of the video? Have you ever wanted to know which YouTube videos feature a specific topic, especially if it's not in the title and/or description?
What it does
ScriptSearch is a web app allowing users to query a phrase from all videos in our internal database, as well as providing the video and timestamp for each occurrence of the phrase. In addition, users can filter results by channel and video category, where applicable.
How we built it
Our frontend was built using React and plain JavaScript, which allowed us to dynamically present a visually appealing website to the user.
Our backend was built on Google Cloud, where we used Firestore for databasing, Cloud Functions for serverless computing, and Cloud Storage for persistent, reliable storage. Our functions were built in either Python or Node.js, whichever better suited the specific purpose of the function.
Challenges we ran into
The architecture on Google Cloud was difficult to set up, and we ended up having to comb through the source code of a somewhat complicated library that downloaded YouTube transcripts. A major problem we had with the front-end was to connect our extension to our back-end to download and query the transcripts. We were also new to instantsearch.js, so it took some time to understand, but we powered through. We had some design issues as well
Accomplishments that we're proud of
Despite the setbacks, we managed to get the backend cloud stuff set up pretty well, and our frontend looks really good, especially considering our relative lack of experience.
What we learned
We learned a lot about a number of Python and JavaScript libraries (such as YouTube-DL and InstantSearch), as well as Google Cloud. We also learned about developing using plain JavaScript and CSS.
What's next for YT-ScriptSearch
In the future, we intend to make an expansion to the website, wherein users to provide a playlist or channel to be transcribed and put into our database, allowing them to be indexed by future searches. In addition, we are planning a Google Chrome extension that would integrate with YouTube itself, allowing users to narrow down a basic YT search via our transcript indexing.
Log in or sign up for Devpost to join the conversation.