Radish is a mission-led social enterprise helping families grow up well with technology: a ten-book storybook series for 7 to 11s, and Radish Learning, a 12-module digital-literacy programme for children of eleven and up who don't yet have a phone, social media or a device of their own. I co-founded it with Alex Stone, who has spent twenty years running alternative-education schools for excluded children, and I'm its lead designer.
The method is older than the internet. In the 1970s my father wrote an anti-drugs education programme for Health Canada that used storybooks and characters to spark conversations between children and adults, built by a team of more than fifty researchers, educators and writers, and starting deliberately at age seven. My mother studied that programme at the University of Kent and found what made it work: not the stories themselves, but the conversations they prompted between children and the adults in their lives. Radish is that finding, rebuilt for the phone.
The trigger was closer to home: my son, at eight, was shown things through an in-game ad that no eight-year-old should see. Radish isn't anti-tech. It's pro-childhood.
A phone ban buys you time. What you do with that time is what matters.
Parents see two options: restrict, or delay. Both buy time; neither uses it. Radish is a third path: education and conversation before the phone arrives, and that changes what the product has to optimise for. The behaviour we wanted wasn't screen time in our app. It was a conversation at home, started by a child who'd just learned something and a parent who knew what to ask.
That sounds soft. It has hard consequences for design: every module has to end in something to talk about; the parent has to be equipped, not policed; and anything that keeps a child inside the app for its own sake is working against the goal. Rules without conversations create workarounds. Conversations without structure don't stick. Radish is the structure.
Four rules that decided most things
Preparation, not reaction
All content is written in the future tense: "when you go online", "before you get a phone". The child is being prepared for something, not corrected for it.
The parent is the instructor, not the gatekeeper
Parents preview each module, see their child's answers, and get three conversation starters. No surveillance framing, no "risk" reports.
Two voices, never blurred
The child's surface is dark, warm and direct; the parent's is light and editorial. Different fonts, colour and register, so nobody is ever unsure who a screen is talking to.
Every artefact ends in a conversation
Each book and each module closes with prompts written so the adult goes first: a disclosure, not an interrogation.
A lesson that reads like a conversation, because that's the outcome we wanted
Lessons are delivered by SkillzBot, "the older sibling who's already been through all of this", as a messaging thread. Each paragraph arrives as its own bubble, with a typing indicator and a deliberate 1.5-second pause between them. Testers validated the slow pace: it's the rhythm of a chat with someone who's listening, and it's written into the project's design log so nobody speeds it up later. The pattern came from a same-day loop: competitor research in the morning, the bubble-by-bubble decision by the afternoon, shipped that evening.
Quizzes are scenario questions (a quiet boy joins a loud group chat; what's the most useful thing he could do?) and a wrong answer gets a hint bubble and another go. There's no penalty, no score during the quiz and no results screen. The parent sees a first-try score later, which is where it's actually useful.
The conversation prompts are the product's real output, so they're written with care: the adult discloses first ("Someone asked me to describe myself in three words today and I completely froze…") and asks second. One tip travels with every module: first conversations about big topics work better side by side, on a walk or in the car, than face to face.
Twelve modules, one at a time
Every module is the same shape: lesson, quiz, lesson, quiz, lesson, quiz. About five minutes for a lesson, three for a quiz, so a whole module fits inside one evening. A module opens only when it has content, its release date has passed, and the previous module is complete. Nothing decays and nothing can be lost: completion is permanent, so there is never a reason to come back out of fear.
Cadence does the job streaks usually do. A new module lands on the first of every month through December, and the badge on a locked card ("Coming 1 October") is computed from the date, so it turns itself into a live module on the day without anyone deploying anything. Locked cards are shown at full opacity with their full description: no blur, no teasing, no countdown. There are no percentages anywhere in the product, just lesson pills and counts.
When a child has finished everything that's out, SkillzBot says so and makes a promise rather than a demand: "You're all caught up. A new module lands on the first of every month. I'll see you back here then."
- Module 1, Knowing yourself, done
- Module 2, Who you are online, done
- Module 3, Kindness and empathy, done
- Module 4, Friendships online, done
- Module 5, When things go wrong, done
- Module 6, Cyberbullying, done
- Module 7, Privacy and personal information, available now
- Module 8, Your digital footprint, released, locked until module 7 is complete
- Module 9, Social media pressure, released, locked until module 8 is complete
- Module 10, Spotting what's real, coming 1 October
- Module 11, Talking to a trusted adult, coming 1 November
- Module 12, Labels and language, coming 1 December
A wrong answer costs nothing except another go
Pick an answer
Selecting is submitting. There is no "Check" button and no way to skip, reveal or fail.
Wrong: marked, explained, offered again
The option gets a ✗ and can't be picked twice. A hint bubble explains the reasoning, then: "Have another go 👆". We removed the fade on wrong options after testing so they read as marked, not shamed.
Right: a small celebration, then the teaching
A haptic tap, a synthesised ding, SkillzBot bounces, a celebration GIF, one of eight lines ("Nailed it 🎯"), and then the substantive feedback that validates the reasoning, not the answer.
Done: confetti once, no results screen
The last question auto-advances. Confetti fires once. SkillzBot: "Nice work, that's the quiz done." No score, no stars, no summary. The first-try score is stored and shown to the parent as "Got it first try" or "Tried 2 other answers first", which is where the signal is useful.
The child's loop ends in a conversation. The parent's loop starts one.
The child's loop. Every visit opens with one SkillzBot line, chosen by the day of the year from twenty-eight (a mix of things worth knowing early and deliberately bad jokes): "Did you know it takes roughly two months to build a new habit? So the small choices you make now actually stick." Then a lesson, a quiz, a celebration, and a completion teaser that hooks forward rather than nags back: "Module 5 done. Module 6 is about cyberbullying: spotting it, stopping it, and making sure you're never the one doing it, even by accident." The teaser fires only when the next module is unlocked and untouched.
The parent's loop. Preview the module before the child starts. When the child finishes, or sends a note, a "New message" chip appears and one email goes out ("Fred has a message for you on Radish"). The module's Let's Talk page carries three disclosure-first prompts and one situational tip: "Try it on a walk or in the car, not sitting face to face." A share button puts the prompts on the parent's phone or emails them to a co-parent. The conversation happens offline. There is no in-app reply, by design. The parent's "next module" is soft-locked until the child finishes, so prompts arrive at the right moment rather than all at once.
Three doors between the loops. "Tell a grown-up" in the lesson header, "Message my parent" on the dashboard, and a small "?" inside every lesson that flags the exact paragraph a child didn't understand. The parent's review screen replays the lesson with the child's flags and answers inline.
The one nudge in the whole product is shown honestly: leaving a lesson early gets a "Wait, don't go! You're so close, Fred" modal with an undisguised "Go to dashboard" button underneath it.
What carries motivation instead
| Mechanic | What it does | The behaviour it serves |
|---|---|---|
| Sequential unlock | Modules open in order; finishing one opens the next. | Always a next thing, never a menu of twelve. |
| Monthly release badge | A new module on the first of every month, shown as "Coming 1 October" and computed from the date. | A rhythm to return to, without a countdown or a streak. |
| Retry until right | A wrong answer gets a hint and "Have another go". No penalty, no skip, no score shown. | Thinking again instead of guessing fast. |
| Small celebration | A GIF, one line ("Nailed it"), a ding and a tap, then the explanation. | Progress is celebrated, not engineered. Nothing to collect. |
| First-try score to the parent | Counted only on the first pick; shown as "Got it first try" or "Tried 2 other answers first" in the parent review. | Gives the parent something specific to ask about, not a mark to praise or punish. |
| Completion teaser | After a module, SkillzBot names what the next one is about. Fires only when the next module is unlocked and untouched. | Curiosity about the next topic, never guilt about the current one. |
| Daily SkillzBot line | One line per visit from twenty-eight, chosen by the day of the year: values, facts about attention and habits, bad jokes. | A reason to open the app that isn't a task, and a voice a child recognises. |
| Tell a grown-up, three doors | Lesson header button, dashboard "Message my parent", and an in-lesson "?" that flags the exact paragraph. | The conversation at home, started by the child. |
| Disclosure-first prompts | Three per module, written as the parent's own story first and a question second. | Lowers the pressure on the child; adults go first. |
| Situational tip | One per module: on a walk, in the car, just after a screen, at bedtime, check your own settings first. | Makes the conversation easy to start in the right place, not just the right words. |
| Share to a co-parent | Prompts copy to the phone or email to the other parent. | Gets the prompt out of the app and into the house. |
| Parent soft-lock | The parent's next module opens when the child finishes the current one. | Prompts arrive at the right moment, never all at once. |
| Future-tense rule | "If someone ever sends you a message", never "Has anyone ever sent you". | Preparation, not confession. A child can answer honestly. |
No points. No streaks. No unlocks.
The original product definition called for "an engaging reward system" and quizzes to "keep kids motivated". I took the reward system out. Points, streaks and leaderboards optimise for finishing screens, and finishing screens wasn't the behaviour we wanted. Worse, they teach a child that the app is the thing to come back to, when the whole point is that the conversation is.
| Mechanic | What it optimises for | Why not here |
|---|---|---|
| Points and XP | Screens completed, sessions started. | A child chasing points learns that the app is the point. Ours is the talk afterwards. |
| Streaks | Daily return through loss aversion. | A missed day becomes a failure. The programme is monthly by design, and guilt isn't the tone. |
| Leaderboards | Social comparison. | Comparing yourself to other 11-year-olds is the problem module 9 exists to talk about. |
| Badges and levels | Collection and status. | Nothing to collect keeps the celebration about the answer, not the trophy. |
| In-flow score, results screen | Performance and grading. | Retry-until-right makes a score meaningless to the child. The first-try signal goes to the parent instead. |
| Push notifications | Re-engagement. | The child has no phone yet. The parent is the channel: one email per session, only when there's a message. |
I'm not against motivation mechanics. I've designed reminder loops, progress rings and progressive unlocks for a health wearable, and they earned their place. The test is the same everywhere: does the mechanic serve the behaviour you actually want, or the metric you can most easily measure? For eleven-year-olds and a conversation at home, the honest answer was no.
In an adult health product the answer is often yes, with conditions. A currency that converts real activity into something the person values serves the behaviour; a currency that converts taps does not. A coach whose personality is the reward can carry a habit for months; a badge rarely does. The hypotheses I'd test first are the same ones I tested here by hand: which single mechanic moves the first week's return, whether a celebration or a progress state does more for the second week, and where a nudge tips from encouragement into pressure.
SkillzBot is scripted, not a live model, on purpose
It would have been quick to put a language model behind SkillzBot. I didn't. Every lesson is written by hand, so a child can't go off-script or be answered by an unpredictable model, and a parent can read exactly what their child will read before they read it. That's a decision about where AI belongs, and with eleven-year-olds, on a product that trades on trust, it belongs in the tools, not in the room. I've written more about that boundary in Designing with and for AI.
Two audiences, three themes, one voice
The design system runs three themes off one token set. Marketing is cream, like real paper, with a friendly serif and one loud colour, Radish Pink, used with confidence. The child's app is a near-black indigo shell with frosted surfaces and lime section labels, so a child's work feels like its own warm, focused space at night. The parent's app is warm grey with white cards and an editorial serif: adult, calm, never gamified. Fonts are role-locked: Recoleta for children and marketing, Playfair Display for parents, Lato for everything else.
The system shipped with a WCAG 2.2 AA audit (contrast, focus states, reduced-motion alternatives for every animation, tap targets), because a warm product that excludes people isn't warm.
Claude Code as a design partner
I built Radish Learning with Claude Code, from concept to a live, paid product in about six weeks and 336 commits: the design system, the lesson and quiz players, parent and child dashboards, authentication, payments, the marketing site. Not because I wanted to be an engineer, but because working artefacts pressure-test design decisions in a way static mocks can't. When the lesson pacing felt wrong, I changed a timing constant and felt it, rather than annotating a frame and waiting.
The part I'd show any design team is the context. Radish has layered instruction files (CLAUDE.md, PRODUCT.md, DESIGN.md) that Claude reads before any work, and they became a design-decision log: every tester-validated decision written down where the next session will find it, with the reason it must not be reverted. A design-system skill loads the whole system before any design task. When I needed a direction for the kids' dashboard, I built three live-code options in one page and compared them side by side. That's the shift I think matters for senior designers: not faster mockups, but decisions made against real artefacts and remembered by the tools.
- Lesson player Animation pacing is intentionally slow (iMessage/WhatsApp feel); testers validated this. Do not speed up timing constants.
- Quiz player Child retries until correct. There is no results/score screen shown to the child.
- Parent dashboard One pink slab maximum. Pink marks the primary action, not status.
- Nav Do not revert to "Web app": "app" confused users into thinking there was something to download.
- Product No surveillance framing. No gamification (no XP, streaks, unlocks).
Tested by hand, on purpose
Radish has no analytics. No pixels, no event tracking, no A/B framework, by design and stated in the privacy policy. That means every behaviour decision on this page was made from qualitative signal rather than dashboards: a five-star feedback widget in every parent module header that lands in my inbox, beta testing rounds with families, and their notes turned into commits. The largest single drop from one of those rounds added vocabulary cards, free-text answers, sounds, haptics, confetti and the whole child-to-parent messaging system. Four modules were rewritten to an 11-year-old's reading level. The lesson pacing was slowed from 600 to 1500 milliseconds, the opposite direction to every engagement-optimised product, because testers said the faster version felt like being talked at.
In a product with analytics I'd instrument three things first, each as a hypothesis with a number attached: the first-try rate per question (which questions teach and which just confuse), the volume of child-to-parent messages per module (whether the bridge is being used), and the return on release day (whether a monthly promise actually brings people back). I would want to be proved wrong about at least one of them.
Where it is now
Live, paid product
Radish Learning launched in June 2026 at £4.99 a month, with a new module released on the first of every month through December 2026.
Twelve modules, one arc
From self-esteem and identity through friendships, resilience and cyberbullying to privacy, digital footprint, social-media pressure, spotting what's real, talking to a trusted adult, and labels and language. Self-esteem comes first on purpose: it's the most protective thing a child can take online.
Endorsed by the people who'd know
"The question section was essential in helping him think more deeply about what was going on in the stories, and how it might relate to his own life and relationships." (Dr Emily, educational psychologist)
Accessible by design
WCAG 2.2 AA audit shipped in June 2026: contrast, focus states, reduced motion, tap targets.
What I learnt
Decide the behaviour first, then the mechanics. The most valuable design decision was a subtraction. If I'd started from "how do we keep kids engaged", I'd have built the reward system in the brief and measured the wrong thing forever.
Adults go first. Disclosure-first prompts, side-by-side conversations, parents who preview before children see. Every place we lowered the pressure, the conversation got easier. That's true of grown-ups and health data too.
Working artefacts change the conversation. Deciding against a prototype you can hold beats deciding against a picture of one. AI made that cheap enough to be the default.