Not an animal and not a pun. A small warm creature that grows crystal — and every shard on its back is a concept you actually understand. Start and it has three. Finish the course and it's unrecognisable.
The soft body is the appeal; the crest is the identity. That split is deliberate — round bodies are warm but generic, so the silhouette has to come from one bold signature. Making that signature the progress bar means the character and the reward system are the same object.
The last four attempts were ovals with limbs stuck on, and colour was hiding it. This one was designed as a solid black shape and only coloured once it passed. Everything appealing about it is already there in the silhouette — that's the test.
Crest, tail and two different-sized feet give it "event". No two shapes are the same size, and nothing is mirrored.
The crest survives to 32px as a teal tuft. That is the app icon.
Most mascots have happy, sad and neutral. A backend course needs blocked — waiting on something you don't control — because that is the feeling the whole subject is about, and no other learning app has a character for it.
Idle — a slow 3.4s bob. Present and alive, slow enough to ignore. It never asks for anything.
Brand direction 04 · Cinder · SVG + CSS, no images · crest count is data-driven, so mastery renders the character