StealThis .dev

Storybook — Kid Profile + Avatar Picker

A cheerful kid profile setup where children build a reading buddy from chunky option swatches. A live inline-SVG avatar updates instantly as you change skin tone, hair color and style, eye expression, accessory, and background, all drawn in pure CSS and SVG with no external images. A friendly name input and a tappable age picker round out the profile, a Surprise me button rolls a random look, and Save pops a confetti confirmation showing the finished avatar. Everything persists to localStorage, with an easy-read font toggle for accessibility.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Kid Profile + Avatar Picker

A playful onboarding screen where a child builds their own reading buddy. The whole avatar is a single inline SVG drawn from scratch — a friendly face with rosy cheeks, layered hair, expressive eyes, and an optional accessory sitting inside a colorful circle. Every choice is made with big, tactile swatches: six skin tones and six hair colors as color chips, plus emoji-labeled chips for hair style, eye expression, accessory, and a backdrop color. As soon as an option is tapped the avatar gently pops and repaints in real time, so kids see the change immediately.

Below the stage, a large name input and a tappable age picker (ages 4–12) complete the profile. A chunky Surprise me! button rolls a fully random look, Start over resets to the defaults, and Save my profile validates that a name is present before popping a confetti-filled confirmation dialog that shows the finished avatar and a personalized message. The dialog traps focus and closes on Escape or backdrop click.

The swatch groups are real ARIA radiogroups with arrow-key roving focus, every control has a visible focus ring and a 48px-plus touch target, and motion respects prefers-reduced-motion. An easy-read font toggle switches the body typeface and loosens spacing for dyslexia-friendly reading. The entire profile — name, age, and every avatar choice — is saved to localStorage, so the buddy is still there on the next visit, and the layout collapses to a single column down to 360px.

Illustrative kids’ UI only — fictional stories, characters, and audio.