A Workflow with Spaced Repetition

by Emile 3 min read3rd Nov 201316 comments


This is a detailed description of my reading and learning workflow. You may find ideas to adopt, or maybe you can tell me what I could be doing differently!


I've been using Spaced Repetition on and Off for the past few years, and have built a solid Anki habit this last three months, to the point where now I wonder how I could read books without entering the important points into Anki.

I recommend getting a habit of using Spaced Repetition, it's a small habit that doesn't require too much willpower (it can feel like a game, if done right!), and is useful in the long term.

Daily routine: transit

I have a dozen or so Anki decks. Some I consider “valuable” (Algorithms, Driving Code, Git commands), some less so (Paris Metro, Hiragana and Katakana, Vim commands, …). I also carry around a book, notebook and four-color pen.

On any downtime (waiting for transit, waiting in line in a store, standing in crowded transit…), I’ll review my decks, starting with those with the most due cards.

On some days I may not finish all the decks, but that’s no big deal; with an hour and a half of transit per day, I’ll get to them eventually.

If I can sit for a bit of time, and don’t have too many outstanding cards, I’ll usually read a book (or work on stuff in my notebook if I have some stuff that needs brainstorming).

Reading books

If I’m reading fiction, I’m relaxing, I don’t need to try to remember anything :)

If I’m reading non-fiction, I’ll usually have an index card as a bookmark and place to take notes - things to look up, summaries and rephrasings, diagrams, page numbers of parts to come back to, and of course things to enter in Anki (though I’ll sometimes just directly enter them in my phone).

I’ll reread my notes when I finished the book or a big chapter, or when I come back to the book after a long time, and eventually enter them in Anki (usually with Anki's web interface, which is quicker than typing on a phone).

Reading online material

I have a bunch of Google Docs where I take notes on various topics (why Google Docs? I can search them, share them if needed, work with them from various places). If I’m reading something I want to remember, I’ll usually have a corresponding google doc open in another window (so I can see both at the same time - hunting through tabs breaks the flow). My notes will be a mix of

  • URLs marked as “to read” or “read” (with maybe a summary of what it’s about)
  • Verbatim quotes
  • Rephrasings, insights, questions, brainstoriming
  • “anki format” cards (pairs of question, then answer), for example, from my Haskell deck:
How do I declare that Integer is of class Eq, using IntegerEq?
instance Eq Integer where
  x == y                =  x `integerEq` y

(note that in this case it's three lines, when entering into Anki I'll have to put the first line as question and the two other ones as answer)

Building the anki cards in Google docs makes it easier to make related cards by copying and pasting the same question and changing little bits ("Question: ???, B and C", "Question: A, ??? and C", "Question: A, B and ???")

In the evening, when I don’t have the energy for something more difficult, I’ll occasionally copy batches of stuff from Google Docs into Anki. To do that first I copy everything into a plain text file (to strip all formatting, otherwise things look weird in Anki and it’s distracting), and then cut-paste the cards into Anki by alt-tabbing between the text file and the Anki web interface (this sounds cumbersome but can be done fairly quickly using pretty much only the keyboard).

What if I get behind?

No big deal, I’ll review the “important” decks first, and then eventually catch up on the rest (Some people recommend using one big deck for everything; I prefer having several small decks because it makes it easier to catch up with what matters if I “fall of the bandwagon”).

What I learned

  • Make Stupid and easy cards; I aim for having answers that are a single word
  • I delete or suspend cards that I suspect are a waste of time (because I don’t care about learning that; because it’s too difficult; because I suspect it’s wrong).
  • Double-sided cards are useful for learning languages (I used to make both directions independently)
  • If you're learning a foreign language with a weird alphabet, it's worth the extra effort of finding an imput system on your phone (or computer) that handles that alphabet.

What I’d like to improve

Batch-entering data is a bit complicated, I wish I could just select a bunch of text in google docs and say "just put all this in Anki". However, as a low-energy habit batch-copying stuff feels a bit like a game so I don't mind that much.

  • I wish I could put some decks at “low throttle” and some at “high throttle” (say, I want to learn 20 driving code cards a day, but only 3 vim cards). Anki has a setting that says how many new cards you get, but it's global; so either I change that setting all the time (which can be done fairly quickly), or control the influx by leaving stuff in Google Docs.
  • I wish I could control randomization: just select a bunch of cards and say "randomize these". There's some cards I want to see in a random order, and some where I'd rather see them in the original order.
  • Anki is bad at handling synchronization, if I used Anki on my phone and want to use the web interface, I need to synchronize first, which takes a few minutes and may fail; otherwise there will be a conflict and I will have to pick which of the two datasets I keep. This is another reason why I prefer to use Google Docs for staging: waiting for synchronization breaks my flow.
  • How do people use evernote or supermemo?

More resources on Spaced Repetition

The article on the Wiki points to a few discussions here of Spaced Repetition (which are worth reading if you want to see how other people use it), including Gwern's excellent article.

How about you? Do you use Spaced Repetition? Have you tried, but give up? Do you have a workflow with some bits that differ from mine? Do you have any tips of things I could do better?