Skip to content

Mentat – A Flashcard App for the Terminal

Mentat is a flashcard app that works in the terminal. It uses a modern spaced-repetition algorithm and it stores the data in human readable text format. Flashcards are written in markdown and reviews are stored in an append-only log file. It's written in Go.

The deck overview of the mentat app showing the list of decks and stats about the current selection on the right
The interactive mode shows an overview of the available decks with some stats on the right side.

The name "Mentat" stems from the Dune universe.

More than simply calculators, Mentats possess exceptional cognitive abilities of memory and perception that enable them to sift large volumes of data and devise concise analyses.

Wikipedia

The FSRS Algorithm

Spaced repetition is one of the most effective ways of learning with long-term recall as a goal. Algorithms that implement spaced repetition have been around for a long time. Anki , one of the most prominent flashcard apps, was first released in 2006. Over the years, algorithms used by flashcard apps have seen many improvements and in 2022 a paper was published ( Ye et al. ) that claims to outperform the baselines, including Anki, with a review time reduction of over 10%.

FSRS (Free Spaced Repetition Scheduler) is an open-source implementation of the SSP-MMC algorithm by the original author of the paper, Jarrett Ye. The term "Free" means that the goal of memory recall half-time can be freely set. There are many language implementations available, including a Golang one. This makes it easy to develop a flashcard app using the provided scheduler algorithm.