Anki works by scheduling a flashcard's next review for right before you'd forget it. That single trick, expanding intervals timed against your own forgetting curve, is why spaced repetition apps beat "just review everything every day." Almost nobody applies the same math to physical skills. A chord shape, a scale fingering, a paradiddle: these decay on a forgetting curve too, and motor learning research says so pretty clearly. I spent a chunk of this year building a practice app for piano, guitar, and drums, and the thing that actually moved the needle for daily practice wasn't a nicer metronome. It was treating "what should I practice next" as a scheduling problem instead of a discipline problem.
Two failures explain most people who quit an instrument. They sit down, open a songbook or a random lesson, and don't know what to actually work on tonight. Or they do know, get it right once, and never see it again until it's gone. Both have names in the literature, and both have boring, buildable fixes.
Knowing the rule and doing the thing are different systems
You can understand exactly how to keep your wrist loose on a big jump and still play it with a stiff wrist. That's not a failure of understanding. Declarative memory (facts, rules, "keep your thumb relaxed") lives in the hippocampus and prefrontal cortex. Procedural memory (the actual automatic execution) lives in the basal ganglia and cerebellum. Research with amnesiac patients confirmed these are genuinely separate systems: patients acquired motor skills they had no conscious memory of learning.
That distinction matters for anyone building or running a self-directed practice regimen, because it kills a very common instinct: read more, watch another video, think harder about the technique while playing. None of that moves a skill from the declarative system into the procedural one. Only reps, done with attention on the actual sensorimotor feedback, do that. The Fitts and Posner model calls this the cognitive-to-associative-to-autonomous progression. Getting a single new technique to the point where it holds up under real playing takes days to weeks of daily reps. Getting a whole instrument to autonomous, don't-have-to-think-about-it fluency takes years. Neither timeline shortens because you understood the concept faster.
Cramming feels productive. The data says it isn't.
Distributed practice beats massed practice for retention. Shorter sessions spread across more days beat one marathon Sunday session, and a 1999 meta-analysis (Donovan & Radosevich) put the effect at d = 0.46, roughly half a standard deviation, for the same total practice time. The mechanism for an instrument is straightforward: each night's sleep is a consolidation event. NREM2 sleep spindles are when the motor trace from that day actually gets written down. Five sessions of twenty minutes across five nights buys four more consolidation events than one hundred-minute session on a Sunday, using the exact same number of minutes.
Interleaving beats blocking for a related reason, and it feels worse while it's happening. A study with advanced clarinetists found interleaved practice, alternating between exercises instead of exhausting one before moving to the next, produced significantly better day-two retention (p = 0.02), even though 78% of participants preferred blocked practice because it felt more fluent in the moment. That's the fluency illusion: feeling good during practice and actually retaining the material are not the same measurement.
The part that surprised me: the gains are in the rest, not the rep
Two studies (Bönstrup et al. 2020, Buch et al. 2021) found that most within-session motor learning happens during the ten-second pauses between practice blocks, not during the active reps. The hippocampus replays the sequence you just practiced, compressed and sped up, during that rest window, and the amount of replay tracks with how much you improve. Early motor learning consolidates roughly four times faster in these micro-rests than it does overnight. Playing sixty seconds, resting ten, and playing again beats ninety continuous seconds of the same material. Left to instinct, almost nobody builds in the pause on purpose.
Coding the forgetting curve for a physical skill
The app I built, Music Practice, is free and open source, and this is where the research turned into actual code instead of a blog post's worth of advice. The curriculum is a real prerequisite graph rather than a leveled course: 32 piano nodes, 36 guitar, 20 drums, each one gated on the nodes before it. That answers "what's next" honestly, with no guessing about whether you're ready.
The part that answers "what did I forget" is a small spaced-retrieval queue sitting behind the tree. Every learned skill gets enqueued, and each successful review pushes it further out along an expanding ladder:
export const REVIEW_INTERVALS_DAYS = [1, 3, 7, 14] as const;
export function advanceReview(
review: ReviewMap,
nodeId: string,
now: string,
): ReviewMap {
const prev = review[nodeId];
if (!prev) return review;
const nextIndex = Math.min(
prev.intervalIndex + 1,
REVIEW_INTERVALS_DAYS.length - 1,
);
return {
...review,
[nodeId]: { dueAt: addDaysIso(now, intervalDays(nextIndex)), intervalIndex: nextIndex },
};
}
A skill comes due one day after you first learn it. Review it successfully and it comes back in three days, then seven, then fourteen, then it just sits on the fourteen-day cadence forever. The ladder only ever moves forward. There is no Anki-style lapse step that dumps a shaky skill back to day one: a review you don't actually nail just leaves the skill sitting in the queue, still due, until you get a clean rep. Version one keeps the failure case deliberately simple. Nothing here is instrument-specific. The functions take dates in as arguments instead of calling Date.now() internally. That makes the whole scheduler pure and trivial to test, and it would work identically for vocabulary, code katas, or physical therapy exercises. A forgetting curve is a forgetting curve whether the memory is a fact or a finger movement.
The other counterintuitive number: aim for 30% wrong
A 2023 preprint (Hoppe et al., not yet peer-reviewed, so treat it as suggestive rather than settled) found motor learning is maximized around a 70% success rate, 30% errors. Succeed more than about 85% of the time and there's no error signal left to learn from. Succeed less than about 60% of the time and the errors turn into noise instead of a clean, correctable pattern. If a drill feels easy, it's probably wasted time. If it feels close to impossible, it's probably also wasted time. The zone in between is uncomfortable but not hopeless, and that discomfort is doing real work.
What this actually means if you're building or using a practice tool
None of this is about talent. Sequencing and retention are the two real design problems in self-directed skill practice, and neither one gets solved by adding more content, more videos, more songs to learn. A prerequisite graph solves "what's next." An expanding-interval queue solves "what did I forget." Both are ordinary code, not insight, and both beat good intentions by a wide margin, because good intentions don't survive a Tuesday when you're tired and can't remember what you were even working on last time.
If you want to see the whole thing running, the skill tree, the BPM-laddered drills, the review queue, it's live and free at music.raeduslabs.com, source at github.com/astraedus/piano, MIT licensed.
I write these from real work at astraedus.dev, where I build apps and tools. Building something, or stuck on something like this? Reach me at astraedus.dev or theagentthatcould@gmail.com.
Get the next one in your inbox → subscribe at astraedus.dev.
Top comments (0)