How could I make this sheet more intuitive?

I recently wrote an open-source application that lets you practice Chinese writing and the decisions I made about its inner workings were related to my theories of how human memory works. I'm not sure which facts specifically are relevant, so I'll explain it all in context (scroll down to the the "question" section if you don't believe it's relevant):

The goal of the application is to help user remember the writing of Chinese characters and their pronunciation. The assumption is that the user would input a set of Chinese characters, most of which are non-trivial to write with aid, let alone from memory. Moreover, there is the concept of stroke order which is useful to remember: each character is made of strokes which should be written in a specific shape, position and order. This makes it pretty complex. I heard that the way Chinese people cope with learning this is that they repeat writing of each character 1000 times, but I believe this is not the best use of time, given the number of characters.

The way my program works is that for each input character, user is taught how to draw each stroke four times - 1) alone, 2) with all strokes introduced so far, 3) in context and 4) in context but with no aid -- like in this example, where user is expected to fill in the highlighted strokes (and add missing ones that were introduced so far):

example output of my program

In this example, user is exposed to first four digits in Chinese and should fill in the highlighted strokes, as well as ones already introduced. In each fourth tile, user is expected to fill in all already introduced strokes with no aid, forcing them to focus on geometry.

As you can see, tiles are split into groups that have thicker borders. After introducing the first two characters, there is a special group of tiles at the end of second and beginning of third line: it is blank and contains a pronunciation hint. The user is expected to try to recall the character and write it in its entirety in those tiles.

Question

My problem seems to be that while this application is useful for me, I am getting signals that it is unintuitive for others to use. I heard complaints about the four types of tiles not being properly marked, leading to confusion. I also heard a suggestion to put each character in its own line (or a few lines), but I believe it would be space-inefficient; when this document gets generated with an input set of a language exam, it can easily exceed 20 pages.

You can fiddle with the program here if you want to get a better feeling of what its output looks like on a page: https://strokes.ovh/

Q: What kind of improvements could I apply to those practice sheets to make them more intuitive?