Inspiration
This was the tool that everyone on the team has needed for a long time…
- James was frustrated with coding tutorials, he hated having to sit through beginner tutorials to get to what he actually wanted to know– and wanted something that could take him from where he was, to where he wants to be.
- Farouk was frustrated with the existing team upskill platforms (PluralSight is long and monotonous, and suggesting YouTube playlists doesn’t take into account personal skill level), and needed something that could get his UNC development team from Point A to Point B efficiently and tailored for each team member
- Chris hated how much self-learning on the internet lacked structure. It was time for the internet to get a crowd-sourced, tailored, and structured self-learning curriculum.
As a team full of self-learners, everyone on our team frequently uses the internet to study new concepts. From gaining knowledge about coding, math, or even just normal recreational hobbies, using the internet has been very helpful in getting us to where we are today. Specifically, YouTube has been an influential platform for us all in our respective paths. When HooHacks came around, and we were aware that going to be a team– all of us knew that we wanted to build something with real educational value. After many meetings, discussions, and conversations - we settled on the beautiful concept of Rabbithole.
What it does
Personalized learning tracks. Learn at your pace, and on the path that’s best for you. Rabbithole is a revolutionary platform that transforms the way we approach self-directed education. Our AI agent personalizes learning by creating a structured sequence of YouTube videos, based on the thorough analysis of the transcript and specific user input. Rabbithole ensures a personal and cohesive educational journey, pushing users toward their learning goals with great efficiency.
How we built it
We built Rabbithole on a robust AI infrastructure that begins with user initialization, assessing their current knowledge and desired learning outcomes. Leveraging technologies like GPT and GPT4All embeddings, the system charts a skill track and optimizes the learning trajectory. By integrating YouTube's API for sourcing potential videos and employing advanced techniques like transcript extraction, chunking, concept extraction, and knowledge graph creation, our agent navigates through the expansive content of YouTube. Utilizing GPT's capabilities and Pinecone's vector search, we match the user's learning needs with the best-suited video content, generating a final playlist that perfectly fits their learning pathway.
Challenges we ran into
As of this Sunday morning, each of us has been up for many hours hacking away at this project, and even with an all-nighter, we were short on time. We encountered so many unforeseen challenges that we had to overcome to get where we are today:
- YouTube API rate limiting: Our algorithm uses a very exhaustive amount of YouTube search queries to locate the best possible next video for the user. It also didn't help that the API is incredibly limited, and you have to apply in advance to be allowed a higher limit. We ran up our rate limit on multiple occasions, and had to find scrappy ways to get the data we needed without breaking the rate limit.
- Prompt Engineering: Prompt Engineering was a huge challenge during the hackathon. Our early prompts would have “how to use a computer” on a 16 year old’s learning track, or suggest one 10 minute video (only) to a complete beginner when they asked how to do Linear Algebra. We found ourselves questioning what does “knowing” a skill even mean, and how do we teach AI to get very granular.
- Processing Times: Given that we embed the entirety of videos’ transcripts (in order to find the best match to the user), and then consider 10 videos as candidates for next-best-video, the solution is very expensive in terms of time. As a result, our longest query took 7 minutes, but after a lot of work, we were able to get it down to 2.5 minutes (shoutout Chris.) This increase was after only 24 hours of familiarity with the project.
Accomplishments that we're proud of
We are proud to have created a platform that addresses a fundamental need in online education: structure. The AI agent we've developed doesn't just select content; it creates a dynamic, personalized learning experience. Our platform stands as an example to the practical application of AI in democratizing education, making structured learning accessible to everyone with an internet connection.
Not only are we proud to have created a platform that addresses a fundamental need in online education– we’re also proud to have addressed a need in our own lives (and we will be using it a lot!)
What we learned
Throughout this journey, we've gained deeper insights into retrieval argument generation, video content analysis, and user experience design. We also learned the importance of seamless integration between various AI technologies and user interface considerations to create a product that is both powerful and easy to use.
What's next for Rabbithole
There’s a lot of really exciting features we want to implement in Rabbithole. While working on it, we identified many other use cases for the technology that we hope to implement someday.
- Autonomous Webbing – The initial idea for this project was to run an autonomous AI agent that was going to create a large-scale graph model of as many videos on YouTube as physically possible, then offer users a way to learn things by traversing through the graph model.
- More Interactivity – We’d like to include knowledge checks in between videos to offer users a chance to quiz themselves if they’d like.
- More Accurate Skill Assessment – While we did not have enough time to implement in this hackathon, we wanted to ask users if they thought they could answer a question/do a specific task and then use that to more accurately gauge what a user knows and what a user doesn’t know.
- What ChatGPT was to Google, Rabbithole is to YouTube – This was a concept that we explored in discussion that would be interesting to explore in development later on. The same way that ChatGPT was like Google’s “search engine” because it gave fast and concise responses– we see an opportunity to take advantage of YouTube’s inefficient search algorithms.
- Becoming a Learning Platform Instead of Just a Tool – Erring on an innovation of hyper-personalized curriculums, we are really excited at the possibility of evolving the tool into a full-breadth learning platform that’s main purpose is to tailor itself around the user.
- Community Feature – We briefly talked about including a way for students to comment on “edges” between videos. This would be beneficial for a crowd-sourced way to fill in gaps of knowledge between videos– if our algorithm had failed to do so already.
Built With
- agents
- algorithms
- gpt
- gpt4all
- llms
- natural-language-processing
- next.js
- pinecone
- python
- react
- supabase
- tailwind
- typescript
- vectordbs
- youtube


Log in or sign up for Devpost to join the conversation.