Inspiration

I was the type of kid to watch Med-school Ali Abdaal's videos talking about effective studying. One of the most important things I learnt was active recall ie. it's more effective to test your knowledge actively (through flashcards for example) then just passively reading motes. One of the best ways of active recall is using flashcards, but that has a big problem. Making the flashcards themselves. Making flashcards is time consuming, boring, and not the best use of time that could be better spent studying

What it does

Alatotheworld allows users to upload documents or pictures of their notes, class slides or textbook, and it automatically generated concise and effective flashcards for the user, helping the user save time and energy. It also has a nifty inbuilt chat bot that allows the user to ask any pressing questions they have.

How I built it

It was built using a mixture of different tools tools, apis etc. The frontend and database functionality was built using bubble.io. The bubble.io app is then connected to Zapier.io which acted as a backend interface connecting all the APIs used. I used google AI studio for the AI processes.

For the flashcard generations, I created a 2 data type (like a python Class) on bubble.io. One was for the Flashcard listing which contained the general name, source, etc. of the flashcards. The second data type was for each individual card which contained the question, the answer, and the listing that it was a part of. When a user clicks "create flashcard listing" after inputting the necessary data, it creates an object for the listing and sends it to Zapier. Zapier is connected to Google AI studio API, to access Google Gemini for for processing the document and generating a list of questions within a single output message using a separator i could identify later ("|") For example; the output would be * question1|question2|...*etc. The formatting of the questions from a single body of text into different line items was done using normal formatting within Zapier, and a custom python script I wrote. They split the string into different line items at every occurrence of "|" and cleaned it by removing any rouge white-spaces and commas. The chat bot functionality was built on the Google AI Studio API, and as with the flashcards, the database for the messages and conversation data types was built on bubble.io.

Challenges I ran into

Creating the backend for the flashcards was quite difficult and took the bulk of the time. I was almost not even able to finish in time. I initially wanted to have Gemini generate each question individually, but then generating the flashcards took multiple minutes. I had to troubleshoot and try multiple ideas before I came up with the formatting idea which I am very proud of.

I initially didn't plan on creating a sign in/signup page. Unfortunately, I would then make identifying who owned which flashcards difficult to know as I planned to have a dashboard that shows all the flashcards you have generated. I didn't have a lot of time for it, so at the last moment, I needed to create a data type for users.

Accomplishments that I'm proud of

I'm actually just proud that the product actually solves a problem. I would actually even see myself using this as I study.

What I learned

I learnt a lot about problem-solving thinking in general. I realized that the most straightforward path is not always (and in some cases I encountered less likely) to be the correct one. Since I needed to do so much trouble shooting within a small period of time, my debugging skills have also been greatly improved

What's next for Alatotheworld

I would really love to talk to other students asking them about what improvements can be made to the app. Once I've taken that feedback and made a full MVP, I would love to contact all the students in my school asking them whether they would use it. If I get positive feedback, I would even love to contact other schools.

Fun Fact

The domain alatotheworld.com initially had nothing to do with the project, I realized I needed a domain for you to demo, so I just found an old one that I had gathering dust 😂

Important

Due to the platforms and (including bubble.io and Zapier.com) I used, I cannot access the code of most of the project I built on the platforms, thus unabling me to upload a zip file of my full code.

Built With

Share this project:

Updates