Inspiration

We all scroll social media, hoping to relax and get caught up with our favorite interests. However, being exposed to comments that attack real people is anything but relaxing. Prune was inspired by our desire to scroll through social media without seeing hostile comments and internet fights. Prune helps you protect your peace and stay in a healthy state of mind by warning you when the content may be harmful.

Research conducted by the Pew Research Center (2025) found that about 9 in 10 teens use YouTube. Furthermore, a 2020 study by Doumas and Midgett reports that witnessing online cruelty is linked to increased anxiety and depression in adolescents and pre-teens. Lastly, a 2021 study by Rathje, Van Bavel, and van der Linden found that social media posts attacking an opposing group were shared about twice as often as other posts, so hostile content gets rewarded with more visibility. Together, this research indicates that many adolescents are being exposed to comments that attack a person, which can have negative impacts on their mental health. With Prune, these comments are caught so that your mental health can be prioritized.

Departments

Computer Engineering - Electrical & Computer Engineering (ECE) Computer Science - Computer & Information Science & Engineering (CISE) Psychology - Psychology

What it does

Prune builds a tree based on what you watch on YouTube Shorts. It utilizes Gemma 4 through Ollama and NaviGator API and cardiffnlp/twitter-roberta-base-sentiment-latest transformer on HuggingFace to analyze the content of the page. Using the title, captions, and top comments of each short, Prune analyzes the level of personal attacks and harmful impact for each generated category.

Using this information, Prune allows the user to be more actionable on the insights generated by these models. By pruning topics, the extension analyzes videos to see if they fall into the user-generated blacklist. If users are caught not skipping their videos, it will warn the user and prompt them to move on to the next video.

Chrome Extension Parsing Utilize YouTube API to pull relevant data from each video. Pulls audio from the video to add more context.

Rating and Dynamic Tree Generation powered by Gemma 4 See which Shorts have personal attacks: Gemma 4 E2B identified comments that attack a real person, rating 408 YouTube shorts as calm, some, or heavy. Watch your feed grow into a tree of topics: Gemma 4 31B (gemma-4-31b-it) sorts every video you watch and classifies which have negative comments and warning signs, so you can see which ones to prune. React Dashboard Get a better look at your topic tree, an in-depth summary report of your day, and understand how we measure hostility.

Prune your Algorithm: Video Skipping by Groq (openai/gpt-oss-20b) Get alerts to skip your video or automatically skip ahead if the video is under your pruned list of topics.

Why it is better than existing tools

Off-the-shelf tools we tried failed, with toxic-bert scoring worse than chance (kappa −0.06). We set a 0.5 pass mark before testing and ran the final prompt once on a blind, held-out test set. It passed, with a kappa of 0.58.

How we built it

Tech Stack _ Frontend _: React, TypeScript, Vite, Chrome Extension (Manifest V3) _ Backend _: Python, FastAPI, SQLite, Redis _ AI/ML _: Gemma 4, GPT-OSS 20B, RoBERTa, Whisper, Hugging Face Transformers _ Integrations _: Groq, UF NaviGator, Ollama, YouTube Data API

Challenges we ran into

Missing Context: Comments alone can’t fully dictate what a video means. It needs the full context in order to mark videos correctly. To overcome this, we implemented audio transcription to add more context when prompting Gemma.

Optimization for Gemma: We wanted to create a balance between running models locally and speed. However, we were additionally faced with hardware limitations, the need for real-time analysis, and ease of development. By integrating cloud options such as Groq and NaviGator, we are able to split most of the processing work off from the computer. However, we were careful to choose models that were computationally cheaper to preserve token usage.

Prompting Gemma: Negative is not the same as hostile; sentiment models cannot distinguish between the two. We went through three prompting versions for Gemma 4 E2B to find what made the model accurate. An initial prompt asking Gemma if a comment was hostile caught one out of fourteen comments, a kappa of 0.09. Version two included a glossary for slang with more specific rules, which improved the kappa to a 0.34 (four out of fourteen comments). Our last version asked Gemma to write a line about who, if anyone, was being attacked before it decided if a comment was hostile; this change led to a kappa of 0.58 with eleven out of fourteen comments caught.

Staying on task!: Due to the nature of our project, which involved scrolling social media to gather data and test our models, staying on task became an unexpected challenge. In an algorithm designed to capture and keep our attention, our goal was to resist it. Despite the few, rare times we succumbed to the distraction, we were mostly able to defy the temptation. Nevertheless, it did affect our efficiency and time management.

Accomplishments that we're proud of

We integrated multiple disciplines, computer science and psychology, and found a way to make our project meaningful and relevant to both departments.

Gemma Breakthrough: Getting Gemma to successfully flag comments attacking a person took many trials and research about what models were already available. Passing the 0.5 kappa bar was really helpful for moving the project along.

Data Collection: Collected and analyzed 56,295 comments from 623 Shorts.

What we learned

What was learned varies among team members, as some had experience with coding and others did not. Experienced: Learned how to develop a Chrome extension and implement web scraping to extract video captions, comments, and audio data. We also learned how to integrate this information with the Gemma 4 model, providing contextual data that allows the AI to identify topics, analyze sentiment, and categorize content. Inexperienced: I learned about all of the basics of coding, including APIs, repositories, frontend and backend, HTML, Visual Studio, and terms like pull and merge. I now understand the moving parts that make a website and an extension work and the changes that must be made for a computer to read the data (like audio → text). Prune specifically helped me realize that despite the video itself appearing harmless, the content may not be. As a psychology major, the impact that hostile comments have on users interests me, and removing said content is sure to create benefits.

What's next for Prune

Our next step is to add support for other platforms like Instagram Reels and Tiktok, which about 6 in 10 adolescents use (Pew Research Center, 2025). We would also like to transition from short-form videos to longer YouTube videos. It would be especially helpful if Prune was able to change the algorithm of these applications, but that is more ambitious.

Sources

https://huggingface.co/cardiffnlp/twitter-roberta-base-sentiment-latest https://arxiv.org/abs/2202.03829 https://huggingface.co/Systran/faster-whisper-base.en https://huggingface.co/openai/gpt-oss-20b https://huggingface.co/google/gemma-4-E2B-it https://huggingface.co/google/gemma-4-31B-it

Articles: Pew Research Center (2025). Teens, Social Media and AI Chatbots 2025. https://www.pewresearch.org/internet/2025/12/09/teens-social-media-and-ai-chatbots-2025/ Doumas, D. M., & Midgett, A. (2020). Witnessing cyberbullying and internalizing symptoms among middle school students. European Journal of Investigation in Health, Psychology and Education. https://pmc.ncbi.nlm.nih.gov/articles/PMC8314310 Rathje, S., Van Bavel, J. J., & van der Linden, S. (2021). Out-group animosity drives engagement on social media. PNAS. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8256037/

Built With

+ 16 more
Share this project:

Updates

Submission history