Inspiration

Being a teacher is hard! Several members of our family are teachers and we see how much time they spend outside the classroom. Besides grading and paperwork, they spend many hours outside class planning their lessons. They are basically creating several hour long presentations everyday for our kids including a lesson plan, slides, worksheets, activities, lecture notes, and quizzes or tests. They often need to submit their lesson plans to school administrators in a specific format that may or may not actually match the preferred format of each teacher.

What it does

AI Teaching Assistant aims helps teachers create lesson plans in minutes, not hours. Tell your TA what you're trying to teach and it quickly generates ALL the materials you need including lesson plans with activities and lecture notes, quizzes, slides, and more instantly generated.

How we built it

It's built on next.js/react on the front-end and a predominantly python/flask back-end and a postgres RDS instance. Lots of different technologies required us to move quickly and deploy on various hosting infra including aws ec2s, aws lambdas and beam.cloud, and aws lambda. An overview:

  • Selenium Web Scraper on AWS Ec2 used to search and pull Google Images
  • A Text2Speech model hosted on Beam.Cloud to create an audio version of our slide notes
  • OpenAi's text-davinci-003 model was used for various steps of our content generation: (1) turn learning objectives into structured lesson plans. Then subsections of the lesson plans were used to (2) generate slide content and (3) generate quiz questions. From slide content we then (4) generated a script that could be used to give a presentation to the clause with the slide deck as a visual aide. It's LLM's all the way down.
  • Google Slide API integration to generates Google Slides from our slide content and the resulting google images pulled for each slide. Work is done on AWS Lambdas.
  • PDF quiz generation using FPDF hosted on AWS lambda

Challenges we ran into

There was a TON that went into this project. The application includes text2speech models, LLMs, web scrapers, google slides integrations, pdf generation, lightning fast search, and more. There's just a ton in here. Critically, making sure that we generated content that was accurate and logically structured took lots of time and experimentation - unlike many AI generation tasks of the day focused on highly creative outputs without clearly correct/incorrect answers (beyond codegen), this required stricter bounding.

We originally thought about using stable diffusion for the google slide images, but found the output to be way worse than standard google image search. There was no real good API to get google image search going, but luckily one of our team members was a scraping god and got a separate server up to do it for us.

Deployment was also a tricky beast. With the long string of API calls we are making including Google Slide Generation and all our AI models, timeouts were very common on AWS Gateway with its limit of 30 seconds. This is something we will need to refine going forward for a stable production version.

We actually ended up reducing our scope as we hoped to get Algolia search of all school's standards into this project, but dropped this idea late last night due to time. We even have the Algolia instance up with the scrapped standards, but just didn't have time to integrate it on our frontend.

Accomplishments that we're proud of

We're incredibly proud of the proof of concept we put out. We truly believe that this technology can radically improve teachers workflows and help them focus on what they do best: teaching. Building out a curriculum API, lesson plan generator, quiz (+ pdf) generator, slides generator (export to google slides), and audio presentation of the slides was a ton of work.

What we learned

Prompt engineering can be brutal! So much work went into the prompt engineering, and tons more needs to be done to take the project to the next level. And, a lesson we've learned time and time again: start small :) The idea of chaining LLM calls with one generating an outline and another expanding or creating more materials from that generation is a great idea. I imagine we will see more use cases like this.

What's next for AI Teacher Assisstant (AITA)

Next, we'll be getting some user feedback from teachers, refining the core product, and understanding the key opportunities for us to alleviate pain for teachers in their day to day work!

NOTE: You can try it for yourself here, but the quiz generation, slide generation, and slide audio walkthrough don't work consistently on the live deployment at the moment - hopefully we'll get the fix in soon! https://aiteacherassistant.vercel.app/

Built With

Share this project:

Updates

Submission history