CHAC learning mechanics
How CHAC decides you have learned a character
CHAC does not score your memory out of a hundred. It tracks one thing for every character: how long you can go before you need to see it again. Everything on the mastery screen is built from that single number.
The five tiers
Your profile sorts every character in the app into one of five bands. The band comes from that character's current review gap, the time CHAC has scheduled before it will show it to you again.
| Tier | Next review gap | What it means |
| Unseen | Not scheduled yet | You have not been graded on it |
| Learning | Under 7 days | It comes back within a few days |
| Familiar | 7 to 29 days | It returns in a week or two |
| Strong | 30 to 59 days | You have held it for a month |
| Sealed | 60 days | You have held it for two months |
A character leaves Unseen the first time you are graded on it, which happens in the practice pass at the end of its lesson. Reading a character in the lesson's first pass does not count. Recalling it does.
How a character climbs
The gap grows only on consecutive correct answers, one rung per answer, along a fixed ladder:
| Correct answers in a row | Next review in | Tier |
| 1 | 1 day | Learning |
| 2 | 3 days | Learning |
| 3 | 7 days | Familiar |
| 4 | 14 days | Familiar |
| 5 | 30 days | Strong |
| 6 or more | 60 days | Sealed |
The ladder is the same for every character. What differs is which rung you are standing on.
One wrong answer sends it back to the start
Miss a character and its run of correct answers resets to zero, its gap drops to zero, and it returns to Learning and to tomorrow's drill. A Sealed character you get wrong becomes a Learning character again.
This is deliberate. Calling a character Sealed is a claim that you will still know it in two months. A claim that survives being wrong is not worth making. Dropping back is not a penalty, it is the schedule correcting a wrong guess about your memory.
Why not a simple percentage
CHAC does keep a mastery percentage for each character, and you will see it in a few places. It is not what the tiers read, for two reasons.
- A percentage moves in small steps and cannot express "correct five times running". Two characters sitting at 60% can be in completely different states: one on the edge of Sealed, the other missed an hour ago.
- The percentage also rises when you trace a character in Brush practice. If the tiers read it, a character could look mastered when you have never once recalled it from memory.
The review gap has neither problem. It is the only number that reflects what the scheduler actually expects of you.
Tracing trains the hand, not the schedule
Brush practice raises a character's mastery percentage and keeps your daily streak alive, but it deliberately leaves the review gap untouched. Writing a character while looking at it is a different skill from producing it from memory, and only the second one earns a longer gap.
Why the drill stays short
Only characters whose scheduled day has arrived enter the memory drill. Everything else waits its turn. The due characters are shuffled once when the drill begins, so lesson order cannot give away which character comes next. That is why a session stays a couple of minutes long even once you know hundreds of characters: your time goes to the ones closest to being forgotten, and nowhere else.
Where this is stored
All of it lives on your device. CHAC works fully offline and needs no account. If you choose to sign in, a copy of your schedule syncs so another device can pick it up. See the Privacy Policy for what that copy contains.