Inspiration
We often remembered our professors asking students during lectures for some good samaritan to take notes, which can already be stressful for many students who are jotting things down at the speed of light with the speed that we often go through lectures. This often led to either illegible handwritten notes or messy, hard to follow notes online. This low-quality note taking can not only make it stressful for students who may have happened to miss class due to some extraneous circumstance, but also for professors who want to provide more equal and equitable opportunities for all of their students. That is how we got our idea for Lecture2Learn.
What it does
Lecture2Learn is a website with which you are able to upload files of various types, ranging from video and audio to PowerPoints and pdfs. The AI then generates well formatted text that is then output in PDF format for the user to download and use as needed, as well as the ability to store on the cloud. For example, if you needed a transcript of a lecture, you can submit either a video or audio and ask it to process the file. It will then return back said transcript, along with whatever information is/could be relevant.
How we built it
We utilized a web stack consisting of HTML, CSS, Python, MongoDB Atlas, and a plethora of applicable Python Libraries and dependencies. However, all of this is handled on our side and not on the client-side, so the users don't have to worry about any technical difficulties (that's our job!) Our authentication is run through auth0 we used Bulma for much of our styling. For files such as pptx, mp4s, and mov, we utilized OCR to collect text from visuals. We utilized Gemini's advanced audio recognition to create transcripts from every supplied video, as well.
Challenges we ran into
Because of the vast amounts of dependencies that we had to utilize, project structure and repository control was quite annoying, initially. Also, due to the token limit placed on us through Gemini, video processing for textual OCR was hard to make work without going over the input/output token limits. However, after a lot of perseverance (and some hair ripped out) we got it working just about how we wanted it.
Accomplishments that we're proud of
We're really proud of how the formatting of the output files look. It is really hard for text-bot AIs to actually format things well, especially when what we're inputting is either a raw file (in the case of images being binary) or pure text. Our formatting, though it isn't perfect, doesn't leave too much to be desired. We also did not expect this to be a catch all tool. Human intervention is always going to be required to be able to make good notes! This just helps expedite that process to the extreme so that teachers and students alike can focus on making the notes more understandable.
What we learned
We learned a lot about project structuring, how to utilize LLMs the best when utilizing external functions and libraries, the importance of specificity, and even more so the importance of communication. Last but definitely not least, we learned (or rather, relearned) the importance of committing often.
What's next for Lecture 2 Learn / L2L
There's so many features that we can add to Lecture2Learn to make it a full-fledged teaching tool. In the future, we plan on including a specialized user-to-AI interface that the user can utilize to make their notes better, or give advice, or really anything that you can think of with a teaching AI. However, we would love to (and plan to) work on this in the future to implement on-site text editing, the ability to assign specific classes and, thus, be able to share notes between professors and students, as well as more advanced user profiles.
Log in or sign up for Devpost to join the conversation.