Inspiration

We were inspired by amazing educational videos that transform your understanding of topics. Creators such as 3Blue1Brown are able to explain concepts in engaging yet thorough ways that can be much more helpful and accessible than simple written explanations.

What it does

Let your curiosity run wild! Input any topic you are curious or want to learn more about and Illuminate will generate an animated video with voiceover explaining the topic.

How we built it

We used LangChain to string together outputs of LLMs into parsers and other LLMs. The initial input is run through a script_generator function, which first generates the lesson plan and then iterates on itself to create a narrative script and suggested animation types and details. This input is used in our quiz_generator and manim_generator functions to produce the quiz that tests user's knowledge and the code for the animation and voiceover, respectively. We experimented with ChatGPT model for our LLM. We used React to build the frontend and implemented AWS for faster loading times and web hosting.

Challenges we ran into

It was very difficult to train our model well. Although we had little trouble generating a good lesson plan and explaining the concepts well, the LLMs were not very good at generating manim code. Animations commonly overlapped with one another, did not show up altogether, and/or the voiceover would be left out of the video. After 24 hours, we are still refining this.

Accomplishments that we're proud of

We used SO many new technologies! None of us had ever used LangChain or AWS in previous projects. We were also proud of what we built generally, both on technical and project levels. We all thought it was pretty cool that we used python to generate python and then run python.

What we learned

LangChain, AWS (EC2, S3, ApiGateway, Lambda), FastAPI, React (one team member), Manim, Full-stack integration and development (two team members)

What's next for Illuminate

Our immediate next step will be to implement a chat feature on the video player screen that allows for follow-up questions as they arise and the opportunity to generate a new video with the context of the chat history when desired. We will be refining our animations and implementing interactive animations, as well as experimenting with other LLMs, specifically Claude and Deepseek. We want to allow quizzes to pop up during the videos, instead of only being under the video. We would also ideally want to deploy Illuminate in other languages, and target it towards teachers and students.

Share this project:

Updates