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

Share this project:

Updates