Inspiration
Recommendation algorithms on social media drive the content we see every day, but they don't always do what we want. Social media users frequently report unwanted content on feeds which doesn't match their interests, or worse.
Something about this problem is very frustrating. We know what we want, but platforms like YouTube or X have limited ways of giving feedback to the algorithm. You can click "not interested", but you can't tell the algorithm what it is you're not interested in. Sometimes, algorithms get stuck in feedback loops and rabbit-holes, showing increasingly large volumes of content on a given topic that can't be stopped.
And, even worse, sometimes recommendation algorithms can be actively harmful, exploiting viewer psychology to keep users logged on. Mental distress can be misinterpreted as engagement. for example, a user with PTSD might freeze momentarily on triggering content, which gets misinterpreted as interest. Or a user with OCD might revisit a piece of content multiple times to perform a compulsion.
Recommendation algorithms can also be used to shape politics and drive the growth of favoured ideologies. We believe that pushing biased political content to all users is unethical, and that users should be able to find the people and thinkers who interest them.
So, all in all, this seems like a natural problem to solve with LLMs. Since users know what they want to see, they can express their preferences in natural language. LLM agents can interpret their preferences and interact with social media via API to influence the recommendation algorithm.
Our project has three main goals:
- Let users take back agency from recommendation algorithms
- Improve user fulfillment by directing them towards more of the content they find interesting and enriching
- Protect user wellbeing by letting them remove harmful or negative content being pushed into their feeds against their will
What it does
Connuki is a chrome extension that helps users' change their YouTube recommendation algorithm, helping them see more shorts and videos they want to see, and suppress content that they want to avoid.
How we built it
Connuki uses two GPT 4o agents to interpret user preferences and decide how to interact with YouTube on their behalf. The chrome extension is written with JavaScript and uses the YouTube Data API v3, and the OpenAI API calls are handled on a server made with node.js. Connuki manipulates the recommendation algorithm by interacting with unwanted videos as they appear in the user's feed, and through hidden "binge watch sessions" that promote or demote channels and topics.
Challenges we ran into
YouTube shorts work differently to the main video feed, and our extension can only access 2 or 3 shorts ahead of time. Our first LLM agent couldn't make decisions fast enough and was disrupting the user's experience. Fortunately, this pushed us to create our two-agent system, including our efficient "Fast Judgement" agent, which ended up improving a lot other aspects of Connuki.
Accomplishments that we're proud of
Promoting content turned out to be a very different technical challenge to suppressing content. In short: we need to suppress content that appears on the user's feed (which we have access to via the API), while we need to promote content that isn't on the feed, which by default could be anything on YouTube. We solved this by using the YouTube Data API and OAuth to let Connuki run hidden "binge watch sessions", which could let it give rapid positive signals to the YouTube algorithm by mimicking user engagement.
What we learned
We had to learn how to build chrome extensions, and how to use OAuth and the YouTube Data API to let Connuki interact with YouTube by itself.
We also learnt how to get different LLM agents to communicate with each other effectively. Since inter-agent crosstalk doesn't need to be formatted for human users, you can use the LLM's summarization and inference capabilities to make it streamlined and very efficient.
Most of us are first time hackers, so we faced unexpected challenges in delivering a functional project so quickly. We feel we picked up a lot of practical knowledge while getting these different systems to work together.
What's next for Connuki
Our next goal is to expand functionality to other social media sites, like X and instagram. We also plan to give users finer control, letting them see how the LLM agent is interpreting their preferences, and making it easier to tweak and adjust the feed.
Log in or sign up for Devpost to join the conversation.