LearnWall hooks into your shell, tracks every command you run, and uses the same algorithm behind Anki to surface the commands you need to learn — right on your desktop wallpaper. Passive learning at its most literal.
LearnWall lives in the background. You use your terminal normally — it quietly builds a model of your command vocabulary. Every 5 minutes, your wallpaper updates to reflect exactly where you are in your learning journey.
A 10-line preexec hook in your .zshrc or .bashrc logs each command — with exit code, directory, git branch, and timing — to a local SQLite database at ~/.learnwall/history.db. No cloud. No telemetry.
The Free Spaced Repetition Scheduler (the algorithm inside Anki) treats each command run as a review. Exit code 0 = "Good". Non-zero exit = "Again". Stability and retrievability are computed and scheduled for future wallpaper prominence.
A Tauri app captures the wallpaper canvas and sets it as your desktop image via osascript. NEW commands glow. MASTERED commands fade. Your desktop is always showing you exactly what to learn next.
In a Docker project? Docker commands float up. Branching heavily in git? git rebase and git cherry-pick appear. LearnWall reads your working directory and git state to weight what's relevant right now.
Beyond tracking your own commands, LearnWall ships with curated card packs for popular tools. Install a pack and those commands enter your learning queue as NEW cards — even before you've typed them once.
+ tldr-pages integration for 2,000+ community-maintained command summaries. Any command you encounter gets its description pulled automatically.
Click any command below to inspect its FSRS state, then hit "Simulate use →" to see how the algorithm advances it toward mastery.
The Free Spaced Repetition Scheduler (FSRS) is the state-of-the-art memory scheduling algorithm — the same one now powering Anki. It models two key properties of your memory:
Stability — how long a memory lasts before you start forgetting it. Each successful use grows stability exponentially. Commands you run daily build deep stability fast.
Retrievability — the probability you can recall it right now. LearnWall surfaces commands when retrievability is dropping — before you forget, not after.
Command exits with code 0? That's a Good review. Non-zero exit? Again — FSRS schedules it for sooner reinforcement. No flashcards required.
FSRS computes the exact interval before the next review is needed to maintain 90% retention. Commands resurface on your wallpaper precisely when your memory is fading.
NEW → LEARNING → PRACTICED → MASTERED. Once stability > 30 days, a command fades from your wallpaper — freeing space for the next thing to learn.
rg after 7 uses
Each use resets retrievability to 100% and increases stability — so the curve
flattens over time. After ~15 uses, rg
stays above 90% for 30+ days and graduates to MASTERED.
Every morning, LearnWall picks one command from your NEW or LEARNING queue and gives it the spotlight treatment: full description, usage examples from tldr-pages, and a prominent callout on your wallpaper.
The spotlight is deterministic — same command all day so it soaks in — but you can reroll to a different one. Candidates are sorted by "commands you've seen in your shell but rarely used successfully."
The same SQLite database that powers your wallpaper can feed an M5Stack Cardputer — a tiny $30 keyboard+display ESP32 device. In idle mode, it cycles through commands from your NEW and LEARNING queue, turning any quiet moment into a micro-learning session.
~/.learnwall/history.db over USB serial or HTTPGET /learning endpoint returns your current learning state as JSONLearnWall is free, open source, and local-first. Your shell history never leaves your machine. Installation takes 2 minutes.