Build the mental model
The learning cycle: learn, understand, recall, practice, apply, review. Most people stop after the first two steps and mistake exposure for mastery.
| Passive learning | Active learning |
|---|---|
| ဖတ်ခြင်း / Reading | Just highlighting — leaves almost no trace in memory |
| ကြည့်ခြင်း / Watching | Passively watching a video — no active engagement |
| Recall | Explaining from memory with notes closed |
| Build | Actually applying it inside a real project |
Active recall: close your notes and ask yourself "what is X?" The gap between what you can explain unaided and what you thought you knew is the real measure of learning.
Spaced review: one, three, seven, fourteen days is one illustrative example, not a universal rule — the key is spacing, not the exact numbers.
- Active Recall
- A learning technique of retrieving information from memory without looking at the source (notes, book, video) — it builds much stronger memory retention than passive re-reading.
- Spaced Review
- The technique of reviewing material multiple times at increasing time gaps rather than once, which retains information in long-term memory far better than cramming.
LEARNING WORKFLOW CYCLE
-----------------------
LEARNING WORKFLOW CYCLE
------------------------
learn -> understand -> recall -> practice -> apply -> review
^ |
+-------------------------------------------------------+Connect it to a real scenario
After finishing new material, close the source and write the core idea from memory in your own words. If you cannot, re-read the specific part that broke.
Write 3 questions
For every chapter or video, write three questions you could be asked about it.
Answer a day later
Answer them from memory a day later without looking.
Schedule the review
Put reviews at one, three, seven, and fourteen days directly on your calendar.
Attach a project
Attach the topic you learned to a real project that forces application.
Try the working example
function scheduleReviews(learnedOnISO, offsets = [1, 3, 7, 14]) {
const learnedOn = new Date(learnedOnISO + "T00:00:00Z");
return offsets.map((days) => {
const reviewDate = new Date(learnedOn);
reviewDate.setUTCDate(reviewDate.getUTCDate() + days);
return reviewDate.toISOString().slice(0, 10);
});
}
// Fixed input date so the output is reproducible, not tied to today.
const learnedOn = "2026-01-05";
const reviewDates = scheduleReviews(learnedOn);
console.log("Learned on:", learnedOn);
console.log("Review on:", reviewDates.join(", "));Learned on: 2026-01-05
Review on: 2026-01-06, 2026-01-08, 2026-01-12, 2026-01-19
(Computed from the +1, +3, +7, +14 day offsets against a fixed input date, so the output is identical on every run.)5-minute try-it
Pick a real "learned on" date for something you actually want to learn and run scheduleReviews() on it. Put the four resulting dates directly onto a real calendar.
One important caution
Treating reading or watching as finished learning and skipping the active steps entirely
Relying on memory to remind you to review instead of scheduling it
Can you spot active recall?
Wikipedia: Spaced repetition — Productivity Systems