CATV (Cards Against The Void) is a fast, minimal command-line tool for turning your notes into interactive flashcards and reviewing them with spaced repetition. Simply point CATV at your folder of markdown notes, and it uses Ollama's local AI models (LLMs) to automatically generate flashcards and quiz you in a colorful terminal interface. CATV is written in Go for minimal dependencies—all you need is the Ollama App from ollama.com and the compiled binary from this repository. No cloud, no subscriptions, no hidden costs.
Why CATV?
- Effortlessly convert your markdown notes into flashcards using local AI (LLM)
- Review and reinforce knowledge with spaced repetition
- Enjoy a distraction-free, user-friendly terminal experience
- 100% private: your notes and flashcards never leave your device
- Secure and offline: no internet required, no data sent to third parties
- Free and open-source: no hidden costs or paywalls
Designed for simplicity, privacy, and security. Runs entirely offline and stores your cards locally in a SQLite database. It was developed and tested on macOS, but works on any platform that supports the Ollama App.
- Install Ollama Desktop:
- Download and install from ollama.com
- Pull the llama3.1 model:
ollama pull llama3.1- Install CATV:
- Option A: Using Homebrew (Recommended)
brew tap jae-labs/formulae
brew install catvTip
This is the easiest way—it sets up everything automatically eg. PATH, upgrades, etc. If you don't have Homebrew, install it first from brew.sh.
- Option B: Using the install script
curl -fsSL https://raw.githubusercontent.com/jae-labs/catv/refs/heads/main/install.sh | bash- Generate flashcards from your markdown notes
# From a directory (recursive)
catv generate --path /path/to/notes
# From a single file
catv generate --path /path/to/notes/file.md- Review your flashcards:
catvThat's it! No extra configuration needed. It will use the local Ollama API and store flashcards in a SQLite database.
Flashcard's database management with full CRUD (Create, Read, Update, Delete) capabilities.
Launch admin mode:
catv adminUse Cases:
- Manually create flashcards without generating from markdown
- Fix typos or improve existing flashcards
- Remove outdated or duplicate cards
- Reset your entire study schedule when starting a new review cycle
- Manage cards created from multiple sources
| Feature | Description |
|---|---|
| AI Flashcard Generation | Create flashcards from markdown using Ollama AI |
| Spaced Repetition Review | Review cards with spaced repetition algorithm |
| Admin Mode | Full CRUD management of flashcards with bulk operations |
| Terminal User Interface | Colorful, user-friendly TUI for reviewing cards |
| SQLite Storage | Flashcards stored locally in SQLite database |
| No Extra Configuration | Works out-of-the-box with minimal setup |
What are the system requirements?
Tested on a MacBook M2 with 16GB of RAM using the llama3.1 model. Performance and compatibility may vary on other systems.What platforms are supported?
Any platform supported by the Ollama App (tested on macOS)Do I need an internet connection?
No, Ollama runs locally.Where are flashcards stored?
Flashcards are stored in a local SQLite database file located at~/.catv/flashcards.db.
Can I use my own markdown files?
Yes, just point CATV to your folder containing your markdown files.How do I update the Ollama model?
Use `ollama pull ` to update or change models.How do I change the default Ollama model?
You can use the `--model` flag to specify the Ollama model for flashcard generation.Below are some screenshots of CATV in action:
See CONTRIBUTING.md.
See LICENSE.

