Flash Me

Flash Me is a web app and an iPhone app that lets you learn on the go. With Flash Me, you'll never forget your notes at home.


We built Flash Me because we wanted to try and create a better way for students to learn not just about content, but about themselves as well. The tracking feature allows you to effectively see how well you are performing over time.

What It Does

Flash Me allows users to input questions that are used by it to create flashcards. The (mobile) app then generates a stack of cards, and users can swipe left on a card for every incorrect answer, and right for correct answers. The mobile app offers two modes: Flash (practice) mode and Quiz mode. Flash mode comes with an infinite stream of cards, and assigns lower weights to a question answered correctly, in order to decrease the probability of them showing up again. Quiz mode comes with a limited set of cards, and stores the users performance in the app's database to analyze their performance. The web app comes with Quiz mode only.

How We Built It

We built Flash Me's mobile app using Xcode and Swift, and the web app using Node.js. Both apps store and sync data with Firebase. We also used Plotly's API for data visualization. To decrease the probability of correctly answered questions reappearing, we assign weights to all questions in the Flash Mode. These weights are determined using a simple equation: (1+ln(alpha))*(original_weight) where alpha is set to 0.1.


Flash Me uses a number software to ensure its success:

  • XCode - iOS Development!
  • node.js - evented I/O for the backend
  • Firebase - Database to handle data storage and user authentication
  • Twitter Bootstrap - great UI boilerplate for modern web apps
  • Express - fast node.js network app framework [@tjholowaychuk]
  • jQuery - Animation and front-end developement

Challenges We Ran Into

Our biggest challenge for this hack was probably integration of all the features. We tried using several APIs and features to try and give our idea a unique feel. We had quite the trouble with server side code (NodeJS) and trying to finish it on two platforms rather than just one.

Sleeping was quite the problem, as none of us slept more than 5 hours during the entire hackathon.

What We Learned

Front-end development is much more difficult than backend development, in terms of syntax and correctness. Also, the iOS app caused many problems because Apple wasn't able to register Shashank's device to their developer program! But in the end, we all learned how valuable it can be to check syntax for very small errors (especially in interpreted languages like JavaScript). We all learned, rejoiced, and enjoyed.

What's Next for Flash Me

We are hoping to use this hack and introduce it into our University's computer science program. The Flash Card idea will be a good way for teachers to upload mini questions and pass them on to hundreds of students at once very quickly.


The legendary team behind this product:

We all go to the University of Illinois Urbana-Champaign!

Share this project: