https://github.com/cskwork/bite-size-study
Neuroscience-powered micro-learning CLI -- Streaks, XP, spaced repetition. 5 min/day, 2 cards at a time.
https://github.com/cskwork/bite-size-study
cli education flashcard gamification learning neuroscience python spaced-repetition study terminal
Last synced: 20 days ago
JSON representation
Neuroscience-powered micro-learning CLI -- Streaks, XP, spaced repetition. 5 min/day, 2 cards at a time.
- Host: GitHub
- URL: https://github.com/cskwork/bite-size-study
- Owner: cskwork
- License: mit
- Created: 2026-03-28T12:28:46.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-11T12:12:19.000Z (2 months ago)
- Last Synced: 2026-04-11T14:12:58.341Z (2 months ago)
- Topics: cli, education, flashcard, gamification, learning, neuroscience, python, spaced-repetition, study, terminal
- Language: Python
- Homepage: https://github.com/cskwork/bite-size-study#readme
- Size: 357 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.en.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
bite-size-study
Neuroscience-powered micro-learning CLI
5 minutes a day, 2 cards at a time. The system keeps you going even when you don't feel like it.
English | 한국어
---
```
$ bite
Lv.3 (12/51 XP) | Streak: 7 days 🔥 | Cards: 28 studied
┌─── bite-size-study ──────────────────────────┐
│ ▸ Start Study Today's card session │
│ Progress Subject progress overview │
│ Card List View all cards │
│ Streak Stats XP, streaks, study days │
│ Calendar Monthly study calendar │
│ Heatmap 7-week study heatmap │
└── [↑↓] Move [Enter] Select [q] Quit ──────┘
```
## Why bite-size-study?
Most study tools assume **"more is better."** Neuroscience says the opposite.
| Principle | Research Basis | How It's Applied |
|-----------|---------------|-----------------|
| **Micro-habits** | 2-Minute Rule (BJ Fogg) | 2--3 cards per session, 5 min |
| **Spaced repetition** | Ebbinghaus forgetting curve | Review scheduling by comprehension |
| **Streak effect** | Visible progress = 3.6x motivation | GitHub-style contribution calendar |
| **Temptation bundling** | Dopamine pairing (10--51% improvement) | Post-study rewards |
| **If-Then planning** | Eliminates decision fatigue (d=0.65) | Configurable trigger anchors |
| **Identity shift** | Behavior -> identity loop (r=0.55) | Session start messages |
> While Anki decides **what** to review, bite-size-study makes you **actually start.**
## Features
- **Interactive menu** -- Arrow-key navigation, all features in one screen
- **Quiz system** -- True/false, fill-in-the-blank, multiple choice
- **XP & Levels** -- Gamified progression with dopamine-driven design
- **Streak tracking** -- Consecutive study days + reward linking
- **Study calendar** -- GitHub contribution graph-style monthly heatmap
- **Subject progress** -- Visual progress bars per subject
- **Priority-based** -- Cards tagged by exam frequency, high-priority first
- **Markdown cards** -- YAML frontmatter + Markdown body
## Quick Start
```bash
# Install
pip install bite-size-study
# Or install from source
git clone https://github.com/cskwork/bite-size-study.git
cd bite-size-study
pip install -e .
# Run
bite
```
## Usage
```bash
bite # Interactive menu (recommended)
bite start # Start study session
bite progress # Subject progress overview
bite cards # List all cards
bite stats # Streak statistics
bite calendar # Monthly study calendar
bite heatmap # 7-week heatmap
bite init # Initialize a new card deck
```
## Create Your Own Cards
Add Markdown files under `content/cards/`:
```markdown
---
id: "my-001"
subject: "CS"
title: "Big O Notation"
difficulty: 2 # 1: basic, 2: intermediate, 3: advanced
priority: 3 # 3: every exam, 2: frequent, 1: occasional
quiz:
type: "blank" # ox, blank, choice
question: "The time complexity of binary search is O(___)"
answer: "log n"
---
## Big O Notation
### Key Concepts
- O(1): Constant time
- O(log n): Binary search
- O(n): Linear scan
- O(n log n): Merge sort
```
## Configuration
Customize the learning system in `config.yaml`:
```yaml
session:
daily_cards: 3 # New cards per day
max_review_cards: 5 # Max review cards per day
min_session_minutes: 5 # Minimum session length
anchors: # If-Then triggers
- trigger: "When I have morning coffee"
action: "Read 2 cards"
identity:
message: "I am a developer who grows every day."
rewards: # Streak rewards
daily: "A favorite drink"
streak_7: "1 hour of favorite content"
streak_30: "Buy something I've wanted"
```
## Tech Stack
| Tool | Purpose |
|------|---------|
| [Typer](https://typer.tiangolo.com/) | CLI framework |
| [Rich](https://rich.readthedocs.io/) | Terminal UI (panels, tables, markdown) |
| [PyYAML](https://pyyaml.org/) | Card parsing + config |
| [pytest](https://pytest.org/) | Test framework |
## Contributing
Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md).
Whether it's new cards, bug fixes, or feature ideas -- all contributions are appreciated.
## License
[MIT](LICENSE) -- Use and modify freely.