Spaced Repetition Flashcards
Spaced repetition is one of the most effective learning techniques, but most people abandon flashcard apps because creating cards is tedious. Moltbot eliminates that friction: describe what you are studying, and it generates high-quality flashcards instantly. Pair that with a daily cron job, and you have an automated review system delivered straight to Telegram.
Prerequisites
- Moltbot running and connected to Telegram
- Memory system enabled — Flashcards are stored in and retrieved from memory. See Memory System
- Scheduled tasks (optional but recommended) — For daily review sessions. See Scheduled Tasks
How It Works
The system has two parts:
- Card generation: You tell Moltbot what you are learning, and it creates flashcard pairs (question on front, answer on back). These are saved to memory.
- Review sessions: A cron job (or manual request) picks cards due for review based on a simplified spaced repetition algorithm and delivers them via Telegram.
Setup
Step 1: Generate Flashcards
Ask Moltbot to create cards for any topic:
You: I'm studying Rust lifetimes. Generate 5 flashcards,
front is a question, back is the answer, easy to hard.Moltbot produces something like:
Card 1 (Easy):
Q: What does the lifetime annotation 'a mean in Rust?
A: It's a generic lifetime parameter that tells the compiler
how long a reference is valid. It doesn't change actual
lifetimes — it helps the borrow checker verify correctness.
Card 2 (Easy):
Q: What happens if you return a reference to a local variable?
A: The compiler rejects it because the reference would outlive
the data it points to. This is a dangling reference.
...These cards are stored in memory automatically.
Generate cards from content you have read:
You: Generate 5 flashcards from the article about database
indexing I saved last week.Moltbot pulls the article summary from memory and creates targeted study cards.
Generate cards from documentation:
You: Read the Kubernetes networking docs at
https://kubernetes.io/docs/concepts/services-networking/
and generate 10 flashcards covering the key concepts.Step 2: Review Cards Manually
At any time, ask for a review session:
You: Quiz me on my Rust flashcards.Moltbot sends one question at a time and waits for your answer before revealing the correct response. It can also evaluate your answer:
You: Quiz me on Rust lifetimes. After I answer each question,
tell me if I got it right and explain anything I missed.Step 3: Automate Daily Review with Cron
Set up an evening review session:
cron:
- name: flashcard-review
schedule: "0 21 * * *"
channel: telegram
prompt: |
Find the user's flashcards in memory.
Use spaced repetition to pick 3 cards due for review today.
Send them one at a time (question first, answer after user replies).This fires every day at 9:00 PM. The "spaced repetition" instruction tells Moltbot to prioritize cards that:
- Are new and have never been reviewed
- Were answered incorrectly in the last session
- Have not been reviewed recently according to an increasing interval schedule
Step 4: Track Progress
Ask Moltbot how your studying is going:
You: How many flashcards do I have? How many have I reviewed this week?
Which topics am I weakest on?You: Show me all flashcards I got wrong in the last 3 sessions.Step 5: Define Study Behavior in SOUL.md (Optional)
For a more structured experience, add rules to SOUL.md:
## Flashcard System
When the user asks to generate flashcards:
1. Create question-answer pairs at varying difficulty levels
2. Label each card with the topic, difficulty (easy/medium/hard), and creation date
3. Save each card to memory under "flashcards/{topic}"
4. Confirm the number of cards created
When reviewing flashcards:
1. Retrieve cards from memory
2. Prioritize: new cards > incorrectly answered > due for review
3. Present one question at a time
4. Wait for the user's answer before showing the correct answer
5. After each card, record whether the user answered correctly and update the review interval
6. After the session, summarize performance: cards reviewed, correct/incorrect, topics to focus onCard Generation Techniques
From a specific text or book chapter:
You: Here's a passage about TCP congestion control:
[paste text]
Generate 5 flashcards from this content.Cloze deletion style:
You: Generate cloze-deletion flashcards about HTTP status codes.
Example format:
Q: A ___ status code means the resource was not found.
A: 404Scenario-based cards:
You: Generate scenario-based flashcards for system design interviews.
Each question should describe a situation and ask what architecture
pattern or technology to use.Comparison cards:
You: Generate comparison flashcards:
- TCP vs UDP
- REST vs gRPC
- SQL vs NoSQL
Format: Q asks for 3 key differences, A lists them.Edge Cases and Troubleshooting
- Too many cards: If you generate hundreds of cards across many topics, the review session may become overwhelming. Limit daily reviews: "Pick the 5 most important cards due for review, focusing on one topic at a time."
- Card quality: AI-generated cards are generally good but may occasionally have imprecise answers, especially for nuanced topics. Review generated cards before relying on them: "Show me all cards you just created so I can verify them."
- Interactive review limitations: The cron-triggered review sends questions automatically, but the back-and-forth interaction (waiting for your answer) depends on Moltbot's ability to handle multi-turn conversations initiated by a cron job. Test this workflow to confirm it works with your setup. A simpler alternative: send all cards with answers visible and let yourself mentally recall before reading.
- Spaced repetition fidelity: Moltbot implements a simplified version of spaced repetition based on memory entries and timestamps. It is not a formal SM-2 or Anki algorithm. For casual learning, this is sufficient. For rigorous spaced repetition, a dedicated app may be more appropriate.
- Memory search precision: If you have cards on similar topics (e.g., "Rust lifetimes" and "Rust ownership"), queries like "quiz me on Rust" may pull from both. Be specific: "Quiz me only on Rust lifetime flashcards."
Pro Tips
- Generate cards from your mistakes. When you encounter a bug or make an error at work, create a flashcard: "I confused
useEffectcleanup withuseLayoutEffect. Generate a flashcard explaining the difference." Learn from real mistakes. - Use cards for interview prep. "Generate 20 system design flashcards covering: load balancing, caching, database sharding, message queues, and CDNs." Review nightly for two weeks before the interview.
- Combine with the Read-It-Later recipe. After Moltbot summarizes an article, ask: "Generate 3 flashcards from the key takeaways." This reinforces retention of what you read. See Read-It-Later Digester.
- Teach by generating. Creating flashcards is itself a learning exercise. Instead of asking Moltbot to generate them, try: "I'll give you questions and answers about Kubernetes. Save them as flashcards." Formulating the Q&A yourself deepens understanding.
- Adjust difficulty dynamically. After a review session: "Those cards were too easy. Generate 5 harder questions on the same topic, focusing on edge cases and gotchas."
Related Pages
- Memory System — How flashcards are stored and retrieved
- Scheduled Tasks — Setting up daily review cron jobs
- Read-It-Later Digester — Generate cards from saved articles
- Writing Assistant — Use study material in writing projects
- Creative Use Cases — More automation ideas