open source · python · mit · sm-2

flashcards out of a plain markdown file, studied in the terminal you already have open.

cram reads a notes.md file, pulls out every Q/A pair, quizzes you with spaced repetition. no sync, no proprietary deck format, no account. your notes file and your terminal. tbh that's it.

not on github yet. python 3.9+, mac or linux when it ships.

        _________________________________________
       /                                         \
      /   Q: what does dict.setdefault do?     \
     |                                           |
     |   (space to flip)                         |
     |                                           |
     |   A: returns value for key, setting     |
     |      it to default if missing            |
     |                                           |
     |   [ hard ]   [ ok ]   [ easy ]        |
      \_________________________________________/

              ~ card 4 of 12  ·  due today ~

your notes.md
## calculus
Q: derivative of x^2?
A: 2x

Q: integral of 1/x dx?
A: ln|x| + C

## python
Q: what does dict.setdefault do?
A: returns value for key, setting
   it to default if missing
your terminal
$ cram notes.md
12 cards, 4 due now.

 derivative of x^2?
  (space to flip)
  2x

  [h]ard  [o]k  [e]asy  → o

next up in 4 days.
3 cards left today.

plain markdown, nothing else

one file. ## for topics, Q: and A: for cards. no yaml frontmatter, no db, no import/export dance. the notes you already have become the deck.

sm-2 scheduling

same algorithm anki uses, minus the ceremony. cards you keep missing come back sooner, ones you crush drift into the distance. i don't know why this works, it just does.

offline, no account

no login, no cloud, no "we noticed you haven't studied in a while" email. study on a plane, study without wifi, study without agreeing to a privacy policy you didn't read.

three keys, one card

one card at a time. h, o, e, space to flip. no themes, no gamification, no streak screaming at you to come back. built for students, not productivity youtubers.


the notes you already wrote are a perfectly good deck.
cram reads the file you've got open.

not public yet

source drops on github soon, i'm finishing the repo. email bennett@frkhd.com if you want in early.