Product Idea: Smart & Beautiful Spaced Repetition

This post is part of the product idea series. I’ll take an idea for a product I have, do some research, and then present it. Usually these ideas are something I want for myself but don’t have the time or motivation to work on. I’ll structure each idea roughly according to a YC application because I think its questions are a pretty good idea filter.

What is your company going to make?

We build a flashcard-based Spaced Repetition  application and API to help people being maximally effective when memorizing vocabulary, for example when learning a new language. Our application has a beautiful mobile UI and our platform makes it easy for developers to create integrations.  We also use collective review data to make smart suggestions to our users.

Why did you pick this idea to work on? Do you have domain expertise in this area? How do you know people need what you’re making?

I have been a long-time user of Anki, a popular Spaced Repetition System (SRS) that has been around for about 10 years. I used Anki extensively when I was studying Japanese, and I recently started using it again to memorize Korean Vocabulary. Anki’s functionality has been immensely helpful in memorizing vocabulary and grammar.

Anki hasn’t changed much in the past decade. By today’s standards data input feels clunky, the user experience out of date, and it’s not optimized for mobile. Typically manage my flash cards on the desktop but do all my reviews on a mobile device. The syncing functionality is slow and requires manual work. The plugin system is hard to use for developers. There are no good alternative to Anki that offer the features I need.

The need for Spaced Repetition is well established and there are a couple of successful commercial products out there. Besides language learning subjects like GMAT, SAT, LSAT and medical term memorization are good use cases for flashcard-based SRS.

What’s new about what you’re making? What substitutes do people resort to because it doesn’t exist yet (or they don’t know about it)?

People who need to memorize vocabulary (or other things) can be categorized by increasing level of sophistication:

  1. Those who do not use any system to memorize facts. These people go to classes, read textbooks, and repeat words to themselves, but do not use a formal system to make memorization more efficient.
  2. Those who make paper/electronic flashcards. They may use software such as Quizlet that is not customizable and doesn’t use Spaced Repetition.
  3. Those who download various specialized apps from the app store. For example a user may download a Learn Japanese vocabulary app on the iPhone. Such apps are easy to use but leave the user with very little control over what to learn or how to structure their learning.
  4. Those who use sophisticated and customizable SRS software such as Anki. These people want control over what they learn and how they learn it. Because software like Anki is feature-packed it is typically difficult to use for non-technical people and not as accessible to the general population. A lot of Anki users seem to be developers, science and medical students, or people somehow involved in the tech industry.

SRS software like Anki is relatively unknown to the general population so it could be that people in groups 1-3 simply don’t know about it. For example, college students taking language classes are generally tech-savvy but may have never heard of SRS.

The key to our product is to combine the advantages of 3 and 4. There are three key points I want to touch on here (there are other but I want to keep the post relatively short): Integrations, Data and mobile UX.

Despite many attempts to commercialize flashcard software Anki has stayed popular and is the the SRS of choice (see here or here or here) for sophisticated users. This is mainly due to the flexibility and extensibility that Anki offers. Let me give you an example. When I enter a new vocabulary word in Anki I can activate a plugin that automatically downloads the Google Translation Audio for the word, and plays it when I review the card. There also exist a tool to create flashcards from movies and their subtitle files. That’s something that’s impossible to achieve with any other flashcard software. However, while it’s possible to do these things with Anki, it’s not easy by any means. Plugins are not easy to create for the developer and not easy to use for the end-user. That should change. If you compare Anki’s plugin system to modern APIs we are used to (think Slack) then it becomes clear that it’s outdated it. Having a modern developer API that allows people to create plugins and integrations is key.

The second point is data. Anki (and other flashcard apps) collect a huge amount of data on what people are learning and reviewing. But they don’t use it. Here are some simple examples of how one could make use of collective data. 1. Doing entity disambiguation to figure out which users are are studying the same facts and which flash cards refer to the same entities. We could use that knowledge when someone inputs new data. For example, if one user has added a picture for the word bird then the same picture could be used by another user who is studying that word (even in another language). 2. One could make recommendations based on which terms are typically studied together by many users 3. One could analyze review data to find an efficient “study order”. For example, it may be easier to learn the meaning of the word imagine before unimaginative. There are many more interesting things you can do with collective review data and I have lots of ideas. This has been totally unexplored in the solutions I’m aware of.

The third point is a mobile-first user experience. This doesn’t need much explaining. The app must sync seamlessly across devices and have a beautiful mobile and desktop user experience.

Who are your competitors, and who might become competitors? Who do you fear most?

As explained above, there are solutions with varying degrees of sophistication.

  • Customizable open source software like Anki
  • General-Purpose closed-source apps like MemorangQuizlet or Brainscape. These solutions usually don’t offer much flexibility and their main value lies in the pre-made flashcard decks they provide.
  • Subject-specific flashcard apps found in the app store

What do you understand about your business that other companies in it just don’t get?

There are two camps of companies, both of which have their own deficiencies. We also touched upon this above.

Anki and its users are very tech-savvy. Anki allows people to track and customize anything, but does not care much about the end-user or integration developer experience.

Companies like Quizlet have a fairly good user experience but do not appeal to power users due to the lack of customization. They are not as effective as Anki due to not making use of spaced repetition algorithms, community plugins, or data.

What we really need is a combination of the above, where unsophisticated users can easily benefit from the sophistication of others, and where sophisticated users can benefit from a good UX and API.

Another point that competitors don’t understand is that review data has network effects. With more usage of the product we can use the data to provide additional value to existing and new users in the form of recommendations, better user experience (due to smart suggestions), pre-made decks, and social features. Other companies in the space don’t seem to be executing on this idea.

How will you get users? If your idea is the type that faces a chicken-and-egg problem in the sense that it won’t be attractive to users till it has a lot of users (e.g. a marketplace, a dating site, an ad network), how will you overcome that?

I believe we can make people from Anki switch over by offering a compatible data format (they can import/export to and from Anki) but providing a superior user experience and API. People using Anki fit the early adopter profile of being a tech-savvy crowd that likes to try out new things. We need ore-made card decks for a specific languages to attract such users.

Other acquisition channels could include promoting the app for in-classroom use at schools or growth-hacking language exchange websites and social networks.

How will you make money?

I believe it’s too early to think about monetization for a consumer product and all the focus should be on getting traction. As mentioned above, network effects would allow the right product to lock in users and monetize them later on. I can see several obvious paths to monetization, such as paid integrations/plugins (e.g. a developer marketplace), paid hosting of review data, paid personal analytics, or upselling of other services. Another possibility may be to have a paid product for teachers/classrooms with team features while the product for individuals stays free.