Inspiration

The inspiration for this project arose when we realized how much time we were wasting searching for specific educational content. While YouTube is an excellent platform for educational videos, it often falls short in delivering high-quality videos that thoroughly cover an entire topic, particularly in specialized subject areas. For example, a search for "op amp superposition theorem problems worked" yields many op amp videos, but most either lack superposition or don’t include worked-out problems. On top of that, a surprising number of videos suffer from poor quality—whether it's bad audio, low-resolution visuals, or unclear explanations. That's where aicuity steps in, offering a solution to this common issue. By streamlining the process of finding high-quality educational videos, aicuity helps students spend less time searching and more time learning.

What it does

Aicuity saves students' precious time by indexing youtube videos on top of the website's standard search to find videos that will actually be useful for exam preparation and study. We use a novel approach to determine the quality of a given search result, which includes a custom audio quality rating algorithm and a custom video transcript relevancy algorithm. Our solution also highlights portions of each video that will be useful, so that students need not spend their limited study time searching for the best parts of a video. These rating algorithms are all custom and in-house (NO use of popular LLM APIs - e.g. ChatGPT), as we wanted to ensure that our solution specifically met the needs of students with limited time.

How we built it

We wanted Aicuity to not only provide valuable information, but to provide it quickly. To accomplish this, we wrote Aicuity with a focus on speed and efficiency. It is a full-stack web application, the backend is written in Flask/Python and the frontend is written in React/JavaScript. Our application also makes use of multiprocessing in order to process a massive number of videos simultaneously.

Challenges we ran into

We wanted all of our integral algorithms to be made in-house, it was really important for us to ensure that these algorithms were consistently good and led students to videos that would help them study properly.

We ran into many issues while developing our algorithms. During the development of the audio quality rating algorithm, we ran into many inconsistencies between videos. Videos have differing levels of ambient noise, which made it really difficult to develop a catch-all solution to determine if a video has a significant amount of static. Many videos that appeared to have near-perfect audio quality were reported to have static. To remedy this, we developed a algorithm to account for ambient and only report static if it is present while the presenter is speaking. This massively improved our ability to detect videos with static audio.

Another issue we ran into was making the text relevancy algorithm. We originally attempted to weight words by using the TF-IDF algorithm. We discovered that this would not fit for well for our problem, as we needed to be able to find videos that are relevant to the search term but may not contain the exact words in the search term. To fix this, we used a custom semantic search algorithm, which uses a Word2Vec model to turn each word said in the youtube video into a dimensional vector. We then used cosine similarity between these words and the search term to find the youtube video that has the most relevant content to what the student wants.

Accomplishments that we're proud of

We are extremely proud of the final result that we managed to create. Our full-stack web applications contains many elements that tested out abilities as software engineers. Though, even through the many problems we faced, we were able to deliver a final product that students will be able to use to increase their productivity.

We are especially proud of our audio rating algorithm, which was completely custom made an used no established ML techniques in order to fit our specific needs. The algorithm consistently identifies videos with sub-par audio quality, which can be a great hinderance to student's ability to learn content.

Our front-end is extremely impressive, featuring easy to access tabs, smooth animations, and overall provides a seamless access point for students to increase their productivity.

We are also very proud of our text relevancy algorithm (NO LLMs used) that is used to determine how relevant a video is to what the student is studying. It provides a robust solution that is generalizable to any study topic, from advanced math to deep levels of software engineering. The algorithm correctly identifies videos that contain relevant topics that will help students do well on their exams.

What we learned

Building Aicuity provided a great opportunity for us to learn many topics across Full-Stack Engineering, AI, Audio Signal Processing, and Natural Language Processing.

We learned how to use the ffmpeg library to process audio signals. Prior to this project, no member on the team had experience with audio processing. We learned how to partition the signal in order to find relevant information that would allow us to determine the quality of the presenters microphone. Audio is much different than many other types of data, as it deals with waves that are not as easy to interpret with a computer. Despite this, we managed to build a robust audio rating algorithm.

We additionally learned how to perform semantic search using a Word2Vec AI model. None of our members had any experience with semantic search previously. We also figured out how to use the vectors returned by the Word2Vec AI model in order to rank the relevancy of content within a video. We learned how to use cosine similarity in order to determine how related two word vectors are.

What's next for aicuity

cool stuff

Built With

Share this project:

Updates