Inspiration

Memorization was the most frustrating part of learning a new subject for me. I always struggled with remembering formulas, the names of cities, and many more. I tried reading my notes over and over again, but that just got boring and the time I spent rereading was not producing the results I expected relative to the time spent.

A friend then told me to use q cards and to write the term on the front and the definition on the back. I did exactly that and I noticed that making these q cards was more interactive and exciting to learn with, in comparison to rereading a sheet for an hour. The only downside however was that this method used a lot of q cards, q cards could get lost easily and it would be hard to tell if a q card was missing.

The solution, Flashpy , a flashcard app that fixes all the problems mentioned above.

What it does

Flashpy lets you:

  • Create flashcards quickly and efficiently
  • Save existing flashcards so you can keep track of them
  • Let you view all your flashcards in an appealing manner
  • Test yourself on the flashcards through the test button
  • Memorize by distributed practice

How I built it

Language: Python Libraries: Pygame to visualize the app, json to save current flashcards and load existing flashcards

Challenges I ran into

  • Laying out the elements onto different pages in a visual appealing manner
  • Learning how to manage switching screens in pygame (from main menu -> cards -> test and back)

Accomplishments that I'm proud of

Within a short time frame, I was able to create a flashcard app that lets users store flashcards easily, view them easily and test themselves on the flashcards they made in the app. My final product was very similar to the initial vision I had for this app.

What I learned

  • Designing elements on a page where you cannot drag and drop is challenging
  • How distributive practice works

What's next for Flashpy

  • More features such as creating categories for cards, or even color coding cards
  • Optimizing the display for the flashcards
  • Adding pre-made cards for specific subjects or languages

Built With

Share this project:

Updates