Inspiration

We're being lobotomized by slop on YouTube. The attention economy is scientifically making us dumber and content filters on YouTube are not strong enough to create a healthy environment to consume media. This problem is even worse for kids. We provide a solution for parents to monitor their kids' algorithms, as well as for anyone to use if they're conscious about their content consumption.

What it does

SlopCop is a Chrome extension that uses the Gemini API to run fast inference on YouTube thumbnails and titles in order to determine if a video is "slop" (low-quality, brainrot, clickbait, nsfw, etc) or not. These videos are then hidden in the DOM by the extension, preventing users from consuming slop content.

How we built it

Our backend consists of a FastAPI server and a Firebase database. The extension communicates via the server through a web socket. We used Svelte for our dashboard frontend and extension popup styling. Also a lot of Claude Code.

Challenges we ran into

The biggest challenge we ran into was classifying the videos quick enough that it didn't affect the UX. We were able to overcome this through web sockets, asynchronous batch processing, caching for videos already seen, the Gemini Flash model, and a lot of Claude Code.

Accomplishments that we're proud of

We're proud of how quickly we were able to get the videos to classify. We're also proud of how the app turned out visually; we like the color scheme, the graphs, and the AI summary feature and how clean it looks.

What we learned

This was all of our first projects where we used LLMs within the app, and had a fun time learning about what the workflow looked like. We developed an understanding of web sockets and the tradeoffs between using them vs HTTP. Also, how to prompt Claude better.

What's next for SlopCop

We want to more configuration ability. Users should be able to choose what kind of videos they want blocked, which will then be fed into the gemini prompt meant for deciding whether to block or not. We also want to make the server more robust and able to handle multiple clients at a time.

Built With

Share this project:

Updates