Learn anything using the Feynman Technique, but with an LLM. Bootstrapped by Strappa
Feyn is a command-line tool that helps you learn and understand concepts deeply using the Feynman Technique - the practice of learning by teaching. It uses AI to simulate a dynamic learning session where you explain concepts aloud or in text, and the LLM, Feyn, asks targeted questions to identify and fill gaps in your understanding.
- Speech Recognition: Explain concepts naturally through speech using OpenAI's Whisper
- Multi-Mode Learning:
standard
: Classic Feynman Technique with step-by-step questioningquiz
: Active recall focused on testing understandingchallenge
: Advanced mode exploring edge cases and deeper concepts
- Text or Speech: Choose between voice explanations or text input
- Session Transcripts: Automatically save your learning sessions
- Progress Reports: Generate AI analysis of your understanding and progress
- Clone the repository:
git clone https://github.com/buabaj/feyn.git
cd feyn
- Install dependencies:
pip install -r requirements.txt
- Set up your OpenAI API key:
touch .env
echo OPENAI_API_KEY='your-api-key-here' > .env
-t, --topic
: Topic to learn/explain (required)-m, --mode
: Learning mode (standard, quiz, challenge)--text
: Use text input instead of speech-p, --path
: Custom path to save transcripts-r, --report
: Generate a session report
Basic usage with speech input:
python src/feyn.py -t "DNA Sequencing" -m standard -r
- Start explaining when you see the 🎤 indicator
- Press Enter to stop each recording
- Wait for AI feedback and continue the dialogue
- Press Ctrl+C to end session
- Type your explanation
- Press Enter twice to finish each explanation
- Type 'quit' or press Ctrl+C to end session
- Speech recognition with OpenAI Whisper
- Multiple learning modes (standard, quiz, challenge)
- Text input option
- Basic session transcripts
- Session reports
- Real-time audio level indicator
- Visual concept mapping
- Terminal UI with rich formatting
- Web interface
- Export to different formats
- Learning path suggestions
- Knowledge graph generation