If you've studied a foreign language before, you may or may not have stumbled upon something called a "spaced repetition system." I like these systems a lot because they archive the words I know well and don't need to study, letting me focus only on words that I don't know.

Notable SRS apps include Anki, Duolingo, and Memrise. But with vocabulary lists typically held in databases or proprietary files, it can be difficult to maintain them since you always need to do it in that particular app. In a perfect world, an SRS might store a vocab list on a user's Dropbox account (or even iCloud), syncing across that user's devices to allow easy updating from anywhere -- not just in the study application. Note-taking applications like nvALT do this sort of thing quite well already, letting me edit a plain text file on my Mac, or on any iOS device (via 1Writer or nvNotes).

As I was looking for an excuse to dive deep into Framer JS this morning, I thought I'd try prototyping what this might look like.

As you can see above, I've shamelessly ripped off the Lark-style faux chat interaction. I like this idea, because it gives you the opportunity to make the app speak to you in your target language. So, if I'm studying Japanese, perhaps the UI / chat prompts can be in Japanese.

When you click the edit button in the top right, you get the editable plain text view of the vocabulary list 1. I propose some metadata here, and this might be useful in creating a sort of community around exchanging vocabulary lists.

I don't foresee myself trying to make this app anytime soon. This was just a rainy afternoon exercise. But as a user of such SRS apps, I'd really like to see more of these apps make vocabulary lists easier to maintain and modify.

  1. I'm aware that there are lots of questions that can be raised here. Is there an example sentence? Furigana for kanji display? Romaji? I still need to think about those problems.