The TwoDoor Flashcard Tutoring App, And How It Came To Be

Scout Curry
Nov 7 · 4 min read

Together with Arthur Damm, we created an app called TwoDoor, an adaptive flashcard tutoring app. It was made with lots of passion for the product, since we both want to use the app in the future.

first and foremost, the goal was to make an adaptive flashcard tutoring app that we, as well as any user, will use to help convert information from short-term to long-term memory. Since my partner is a personal tutor, he showed me how important it is to add the simple process of memorization to my learning structure.

Another drive we both shared was to hone our general frontend skills. Coming into this project, I was beginning to grow in confidence with frontend technologies. I had lots of ideas of projects i would have liked to work on, but working together led to exceptional polish of the final product. We accomplished the original goal of the MVP; making a good demo that shows the potential and fun of the app.

Arthur and I did not want to section off any of the development process. We knew that the most entertaining and efficient way to make speedy progress was to implement features as we saw fit. This has led to muddled roles throughout development. Regardless, I did end up spending more time on UX design while Arthur focused on core game mechanics.

There have been lots of partner projects throughout the Holberton curriculum, and every partner I’ve worked with has brought a new level of understanding about myself as well as brought new friends into my life. I am incredibly thankful for this learning framework since building the social skills to work diligently with others is the single best takeaway from the entire program. I bring this up to emphasize why i chose to work on this project with Arthur rather than making something of my own. At first I noticed Arthur working through this same thought process, and a little nervous about letting someone on the vision that he’s had for a long time. However, it didn’t take long before we both saw the true advantage that comes from great teamwork. Thanks to partnership, we shared a determination to make the best product possible.

Coming into this project, we agreed upon three key features to make this app unique. The first is an algorithm that determines which card gets selected. Since its a learning game through memorization, we implemented a commonly used flashcard learning algorithm called the Leitner system. The overall concept is that the more times you get a card correct, the less likely you are shown that card. As soon as you get that card wrong however, it will be shown most likely. To make the algorithm more visible as well as add to the feeling that you are progressing, there is also a staggering active deck. This deck is a subset of the source deck that starts off with only two cards, and as you play it will add more cards to the active deck based on your performance and/or how many cards you’ve played so far.

Second, the prebuilt decks were made to test the app in different ways. The dino and face recognition decks were made first to test the game mechanics, and the random deck (color coding) was made to test how the algorithm teaches you random information. Creation of this feature is modular so we can add them to any database seamlessly when a back-end is implemented.

Last but not least, the intuitive U-X adds polish to the app through positive and negative feedback, as well as smooth transitions that add a sense of fun and excitement while browsing and playing the game.

At some point, we noticed that bootstrap was hiding some design features away and interfering with animations, so Arthur tore it out and used his skills to make a more polished and unique design. I was very interested in making custom animations, so i’d add animations to the mechanics. There are many more examples of changing roles, but the MVP made us both feel confident in the app and it’s features, and that it is but an extension of ourselves and our capabilities.

Another technical challenge was, unfortunately, git. Since we both implemented features on the same files, some problems arose where my local files would be out of sync. I was forced to learn good git practice such as feature branching and pull requesting. We concluded that since vscode has a cache of local files, it can interfere with which files git determines are in sync or not. Therefore, especially with merging, it’s good to close the vscode editor and open a cmd prompt to perform your git operations.

We are both very satisfied with the final MVP, but it is still far from done. We are very excited to continue adding features, such as a backend with authentication for users and ability for anyone to create their own decks. When a deck is created, it may be added to a list of recently added and most popular decks, which will be displayed on the home page. It’s also important to be able to send your custom made decks to other users, so teachers can make decks applicable to the lesson they are teaching and send them to their students.

Even though we are all saddened that the Holberton curriculum is drawing to a close for us, Arthur and I are very glad that we were able to work together on this amazing product. Every day held lots of optimism to add features and love to the app. We hope you enjoy it and come back to see the updates as we continue through development!

my LinkedIn: https://www.linkedin.com/in/scout-curry-96356217a/

my twitter: https://twitter.com/ScoutCurry

The repository for TwoDoor on GitHub to check out the excellent code: https://github.com/arthurdamm/twodoor

The app and its landing page can be found at either: http://twodoor.herokuapp.com/ OR http://arthurdamm.com/

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade