Inspiration

All of us on the team have experienced situations of having many course videos to watch and content to learn in a short period of time, and we realize that simply watching the video and trying to cram memorize the topics is ineffective. According to research at the University of San Diego, the most effective studying methods are "Distributed Practice" and "Retrieval Practice".

"Graph of Distributed/Retrieval Practice" (2)

Distributed practice involves studying over a long period of time, such that the memory is exercised multiple times over a longer period of time, such as a week, while retrieval practice involves the method of actively recalling and exercising memory (1). These two types, along with successive learning, or studying until 100% accuracy of memory retention, should in the long run result in the optimal performance in the lowest time studying.

We were inspired to create Spark by the struggles students face when trying to effectively work through large amounts of seminar or course content. Procrastination and difficulty in comprehending the presented concepts often hinder the learning process, and we wanted to provide a solution that helps students overcome these challenges. We believe that studying smarter will save time for students across any discipline!

What it does

Spark is an innovative personalized studying platform that utilizes advanced machine learning techniques to generate quiz questions and answers, summaries, study guides, and personalized advice for each video. It enables students to study smarter and not harder by providing progress tracking, automated grading, and learning feedback. Both multiple-choice and free response questions can be graded, making it possible to assess all forms of knowledge. It can store quizzes and track progress in order to aid in distributed practice. Students are able to space out their sessions and monitor their learning rate to take the best course/plan of action towards their goals. Moreover, students are given a direct increase in retrieval practice through quizzes. Because of the actual examinations Spark provides, users can exercise their knowledge and ensure recall towards the ultimate goal of 100% accuracy.

How we built it

For our features, we utilized cutting-edge machine learning tools such as Vectorization, Embeddings, and Cosine Similarity, as well as OpenAI's Chat-GPT3.5 turbo Chat Completion API. In order to do so, we utilized prompt engineering in Python to craft an efficient prompt to speed up quiz generation. We utilized the NLTK library to embed vectors of tokenized sentences in a feature space.

"Graph of Distributed/Retrieval Practice" (3)

Utilizing the cosine similarity function, we created a grader for Free Response Questions. We utilized OpenAI's api to generate the quiz, study guide, and advice for studying.

On the frontend, we utilized Figma to plan an amazing design as well as create art and animation for our landing page. React and Tailwind served to display content, while Javascript was used to make requests to our backend and handle MCQ grading. Our team also implemented a robust authentication and login system that prioritizes security and user privacy too keep track of progress. We utilized Prisma and framer-motion in order to tidy up the website as well as add smooth transitions, animations, and overall improve the site quality.

On the backend, we utilized Python and Flask to link or ML functions to the frontend through HTTP requests.

"Graph of Distributed/Retrieval Practice" (3)

Moreover we used SQLAlchemy and PostgreSQL to store and handle quiz, course, playlist, and user data. We ran it on Heroku to go beyond local hosting.

Challenges we ran into

One of our primary challenges was developing a simple and seamless user interface that allows students to access all platform features with ease. We overcame this challenge by using an origami design theme and incorporating smooth transitions and small details in the navigation. Another challenge we faced was prompt engineering. While OpenAI's api is very useful, it is still lacking the complexity required to adequately respond to normal conversation in the exact intended desire. For this reason, it took us 12 hours to craft a decent enough request for the quiz generation to get a ~85% success rate of formatting correctly. Moreover, we ran into issues connecting our frontend to backend because of the structure of the data being sent as well as the complexity of requests. The problem was compounded with persistent issues that popped up in our database.

Accomplishments that we're proud of

We are proud of the fact that we were able to create a useful tool for ourselves, that we truly believe generalizes to all students. We address a real problem in procrastination and large content understanding and create a novel solution using an interesting technology like machine learning. We were able to perform NLP using vectorization and embedding, something we have been wanting to learn for a while. Moreover, we are proud of the fact we were able to host a full-website with as many features and as much polish as we did. We think our design is clean and encourages studying and user attention.

What we learned

We were able to learn about prompt engineering, basic nlp - vectorization, embedding cosine similarity. We also learned that fears about AI taking over the world soon are a bit unfounded as prompt engineering is EXTREMELY hard.

What's next for Spark

In the future, we hope to add more features that add to the personalized learning aspect of the app. We would like to keep track of the topics of each question and track student progress on each topic when answering the question. In this way, studying can be geared towards weaker aspects of a user's knowledge therefore bringing them up to speed. Moreover, we would love to add more elements of distributed practice through Google Calendar Sync and lesson/study session plan generation to assist the users with taking steps towards their goal.

Sources

1) “How to Effectively Study.” How to Effectively Study, https://psychology.ucsd.edu/undergraduate-program/undergraduate-resources/academic-writing-resources/effective-studying/index.html. 2) “Apa PsycNet.” American Psychological Association, American Psychological Association, https://psycnet.apa.org/record/2020-75908-001. 3) Google Images

Built With

Share this project:

Updates