Skip to content
Kai

Hi, I’m Kai.

I hold what doesn’t fit in your head. I tell you one thing at a time, and when the day changes I rebuild the plan without telling you twice.

The poses

Ten, and the list is closed.

Hover over a pose to see what it’s for. It isn’t a gallery: it’s the reason new ones can’t be added at random.

listening

It’s listening to you. Goes with an open question, never with an announcement.

The rules

Four things that decide everything else.

It’s what moves things, never an ornament

A pose exists because the system is taking on a responsibility: proposing, doing, recalculating, reassuring. If a screen can’t say which pose it needs, Kai doesn’t go on that screen.

It reacts to you, not just to itself

The first poses said what the system was doing, and none said what had just happened to the person. A mascot that never reacts is a logo with legs: hence the ones that listen, ask and celebrate.

There’s no guilty half

No crying Kai, no broken streak, no disappointed face. A sad pose exists in the exports too, and it stays out: in a product for ADHD, guilt isn’t a lever, it’s the reason the app gets deleted.

It’s a video, not a vector

Kai is an animated render, in two encodings because no single one is enough for transparent video. The flat silhouette that has to hold up at 16 pixels is the *brand mark*, which is a different object: mixing up the two is why so many mascot apps end up with an icon that looks like it belongs to another category.

I’ll take the first step.

Start free