Our entire team is comprised of high school students, so we naturally were looking for ways to study faster and more effectively. Being assigned textbook readings is tedious and we wanted a more effective way to get the information. QuizIt the product of this desire, doing away with note taking and replacing it quick quizzes that are proven to increase short and long term recall over note taking/reviewing.

What it does

Just take a photo or screenshot of your assigned textbook reading or of any other text you want to remember. Then just tap send and QuizIt will generate a quiz including multiple choice questions, short free response questions, and true/false questions. Then you can take the quiz, save it, or make it public and study with your classmates (of course, you can compete with the leader board). Or, you can record your lecture and upload the sound file and generate a quiz straight from the recording, allowing you to focus on the lecture without worrying about notes.

How we built it

We use Flutter for the app. Then, the image(s) or the audio recording is sent to the Python Flask backend, where its processed. First, the images run through a custom algorithm written with OpenCV to find the page and de-skew it, before upscaling the text and cleaning it up. Then, using an LSTM based OCR model, the text is extracted through Tesseract. Then, the text output is cleaned up using an autocorrection algorithim. Then, the extracted text is passed to the NLP model to generate the questions based on it through a large HuggingFace model wrapped by the QuestGen API. Finally, this result is passed back through the Flask API to the app. With audio recordings, the Google Speech Recognition is used to create a transcript before passing through the rest of the pipeline.

What's next for QuizIt

Train our own NLP model better suited for our task. We also want to create a larger community that can share and access QuizIts more easily. Finally, we want to conduct research and implement a robust system to remind users to do spaced repetition for learning.

Share this project: