Inspiration
Watching boring, long YouTube videos ot those that turn out to be click baits is no fun. We thought of utilizing
What it does
SummarizeYT activates when it detects that the user is playing a YouTube video and automatically scrapes the DOM for the captions file. Then it displays a summary of the transcript along with the top 5 keywords used in the video. All of this in a minimalistic extension popup!
How we built it
We used Google Cloud Function to host our backend script and serve it on an endpoint. Then using the extension, we scrape the webpage DOM to get the URL of the captions file on YouTube and make a POST request to the backend. The backend then returns a JSON containing the summary of the transcript (using extractive summarization algorithm using the Genesis library) and the top 5 keywords (using Google Cloud Natural Language API). These are displayed accordingly on the extension popup.
Challenges we ran into
COMMUNICATION (!!!). Can't stress it enough. Being from different time-zones had a part of the team working separate from the other part, and this almost led us to drop the project. Somehow, we managed to get back on track, but learned that "everything else later, communication first."
For the technical challenges, we never worked with Chrome extensions, or deploying on/using Google Cloud ever before, so it was a ride to set everything up.
Accomplishments that we're proud of
A final working project! And the fact that we cleared up the miscommunication among us. We couldn't publish the extension yet, but it will be done very soon, and we hope to provide a link to that too.
What we learned
Working with GCP, making Chrome extensions, other life-lessons.
What's next for SummarizeYT
Due to YouTube being a single page application, it requires a force reload to get the captions file whenever the user changes the video. We hope to fix this later by adding appropriate headers to the request and getting the file somehow.
Also, as is clear, it only works on videos with captions. We hope to add speech-to-text functionality as well for videos without captions.
Lastly, we hope to make it work for non-English videos too, although this is much more difficult than the previous two tasks.
Built With
- chrome
- gensim
- google-cloud-function
- google-cloud-natural-language-api
- javascript
- punctuator
- python
Log in or sign up for Devpost to join the conversation.