Building Nilo Learn: designing for children who cannot read yet

Every convention in software assumes a user who can read. Building a learning platform for three to six year olds means giving most of them up.

Almost every interface convention we rely on assumes literacy. Menus, labels, buttons, error messages, the word "Settings". Build for a three-year-old and you give up nearly all of it on the first day.

Nilo Learn is the play-based learning platform we built for children aged three to six — games, stories and 3D worlds in Albanian and English, ad-free and built for small hands. Most of the hard decisions had nothing to do with education.

What you lose when your user cannot read

No text navigation. Everything has to be an image, a character, or a place. A child navigates by recognising, not by reading, so the same action must always look the same and live in the same spot.

No error messages. A child who taps the wrong thing cannot be told so. The only acceptable design is one where the wrong thing is not reachable, or where nothing bad happens when it is.

No instructions. If an activity needs explaining, it is the wrong activity. It has to be obvious from what is on screen, or demonstrated by the thing itself before the child touches it.

No undo they will find. Anything destructive has to be behind a gate a small child will not pass, and there is no confirmation dialogue that works — they cannot read it either.

Designing for small hands

Adult touch targets are sized for an adult finger with adult precision. Neither assumption holds.

Targets are large, generously spaced, and forgiving of a miss, because a three-year-old aims roughly and presses hard. Drag gestures are avoided almost entirely: a child lifts their finger mid-drag constantly, and an interaction that fails half the time reads to them as the thing being broken.

Nothing important sits near a screen edge, because a device held in two small hands has thumbs across the edges the whole time.

Two languages, from the beginning

Nilo Learn runs in Albanian and English. Retrofitting a second language into a children's product is worse than into an adult one: the content is audio and illustration as much as text, so every narrated line, every character voice, every label baked into a scene doubles.

Building it bilingual from the start meant treating language as a property of content rather than a translation layer over it.

The parent is the other user

Children do not choose or pay for software. The product has two audiences with almost nothing in common, and the parent's requirements are mostly about trust: no advertising, no external links, nothing that can take a child somewhere unexpected.

"Ad-free and safe" is a product constraint that removes an entire revenue model. That decision comes first or not at all — you cannot add it later without rebuilding what the product is.

3D, sparingly

The 3D worlds exist because depth is genuinely engaging at that age, not because it demos well. The constraint is that a five-year-old's device is frequently an old tablet, so scenes are built to a budget that still runs on hardware nobody would choose to develop on.

Where it is

Nilo Learn is live at nilo-learn.com. It is one of ours, we maintain it, and it is the product that most changed how we think about accessibility — because with pre-readers, the accessible design and the only workable design are the same thing.

If you are building something where the user cannot be expected to read the interface, that is design work before it is engineering.

More write-ups