Inspiration

Learning languages is hard, and it doesn't have to be that way. Spaced Repetition Software (SRS) have made tremendous progress in making learning more efficient, but there's still a lot of work to be done. If Memrise says that you need to water your memories in 14 hours, most people won't actually review them on time.

What it does

FlashCardKitties is an immersive learning experience. Whenever its learning algorithm detects you're about to forget a memory item, the Pebble Smartwatch it's running on will fire a quick vibration, and present the user with a vocab word and definition. The user then self-evaluates how well he or she knew the answer, and that information is sent to the server at flashcardkitties.com.

How I built it

I built an WatchApp for the Pebble that functions a lot like a WatchFace. The goal is to be unobtrusive while still providing very useful functionality that will help them learn better. In this case, less it more, as constant alerts and vibrations can get annoying. The UI Elements on the watch are controlled by code written in C. Some JavaScript running on the mobile phone connected to the watch interacts with the C code to provide access to networking. The website allows the user to register with Facebook to add vocab words to their account on FlashCardKittens. The settings section of the Pebble App allows the user to view their vocab words they've stored through the web interface, which uses a PHP backend to store the vocab in a MySql database.

Challenges I ran into

Pebble documentation is ehh, imho. There were a lot of different aspects of the project to work on, and we were a small team of two.

Accomplishments that I'm proud of

I created a functioning web interface to a smartwatch app! That integrated the Facebook API! A lot of technologies came together to make something that is, at the very least, a nice prototype of a much more sophisticated application. Even though I didn't quite get around to implementing all of the SRS aspects I wanted to, I'm happy with what I was able to get done in the little time I worked on it.

What I learned

I learned about developing for Pebble Smartwatches and how to set up Amazon Web Services to host a website.

What's next for FlashCardKitties

Big things.

FlashCardKitties has a lot of potential. To be specific though (and less dramatic) FlashCardKitties will have persistent login that couldn't quite get ironed out on the Pebble side of things, as well a MUCH better algorithm for scheduling review sessions.

Share this project:
×

Updates

Caleb Bryant posted an update

I implemented a revised version of the SM2 algorithm (https://www.supermemo.com/english/ol/sm2.htm) last week (that is, I looked to see what algorithm Anki uses), but I forgot to post that. Since users of FlashCardKitties will be somewhat forced to review on schedule, it might be worth looking into a newer revision of the SuperMemo algorithm (Anki gave reasons why they're using the older version at http://ankisrs.net/docs/manual.html#what-algorithm).

At any rate, the basic goals of FlashCardKitties have been realized now. Unfortunately I'm a little less motivated to work on the project because Pebble doesn't natively support displaying Chinese characters, and figuring that out could be a little tricky (and I don't think it should be top priority).

I haven't really done anything since, but next I'll work on making the user interface look decent-ish, that way I'm not ashamed to put the URL on my resume.

Log in or sign up for Devpost to join the conversation.

Caleb Bryant posted an update

So, apparently Pebble.js stores global variables across instances of the Pebble app! (tested on iOS, but presumably works for Android as well)

This means that persistent login is and always was working! Authentication info is saved on the phone, not the watch.

Log in or sign up for Devpost to join the conversation.